Masaüstünde Bir Davetsiz Misafir: Python ile Sanal Kedi ve Fare Takip Uygulaması

Her şey, kız kardeşimin iş yerinde mola verirken izlediği bir videoyu bana göstermesiyle başladı. Videoda masaüstünde pürüzsüz bir odaklanmayla imleci takip eden sevimli bir sanal kedi animasyonu vardı. “Bunu bizim bilgisayarlar için yapabilir miyiz?” sorusu atılınca, bir yazılımcı olarak kolları sıvamamak olmazdı.

Sonuçta ortaya; farenizin ucuna eklenen büyük, beyaz bir topu ekran boyunca bıkmadan usanmadan kovalayan sanal bir kedi simülasyonu çıktı. Tamamen açık kaynaklı ve eğlenceli bir proje oldu ancak en baştan küçük bir uyarı yapmakta fayda var: Ekranda sürekli imlecinizi yakalamaya çalışan dijital bir kedinin varlığı odaklanmayı biraz zorlaştırabilir. Bir de tarafımdan özellikle iş bilgisayarlarında kurulup kullanılması kesinlikle tavsiye edilmez!

Python Sanal Kedi Takip Uygulaması

Şekil 1: Masaüstünde imlecin ucundaki beyaz topu takip eden sanal kedi.


Güncelleme: v2.0.0.0 Geldi 🎉

İlk sürümü paylaştıktan sonra gelen geri bildirimlerin başında iki şey vardı: “İkinci monitörümde çalışmıyor” ve “keşke ayarlarını Türkçe görebilseydim.” İkisini de dinledim ve projeyi baştan biraz daha olgun bir hale getirdim. İşte v2.0.0.0 ile gelenler:

  • 🖥️ Tam Çoklu Monitör Desteği: Artık kedi ve top yalnızca birincil ekranda değil, bilgisayarınıza bağlı tüm monitörlerde çalışıyor. Fareniz hangi ekrana geçerse geçsin, ikili sizi kesintisiz takip ediyor.
  • 🇹🇷 Uygulama Artık Varsayılan Olarak Türkçe: Bu benim için özellikle keyifli bir detaydı. Uygulamayı hiçbir ayar değiştirmeden çalıştırdığınızda kedi sizinle Türkçe konuşuyor, uyarı ve bilgi mesajları da Türkçe geliyor. İngilizce kullanmak isteyenler için de tam destek mevcut; tek yapmanız gereken bir ayar dosyasındaki tek bir satırı değiştirmek (aşağıda anlatıyorum).
  • ⚙️ Kaynak Koda Dokunmadan Ayar Yapma: Kedinin hızı, sıkılma süresi, mırlama sıklığı gibi tüm parametreler artık uygulamanın yanındaki bir settings klasöründen düzenlenebiliyor — Python bilmenize gerek yok, düz bir metin dosyası düzenlemek yeterli.
  • 📦 Derlenmiş Sürümde Bile Özelleştirme: Bu ayarlar ve dil dosyaları .exe dosyasının içine gömülü değil; yanına bırakılan settings/ klasöründen okunuyor. Yani indirdiğiniz hazır sürümde bile dili veya hızı değiştirmek için Python kurmanıza ya da projeyi yeniden derlemenize gerek yok.

Türkçe Kullanıcılar İçin Pratik Not

Uygulamayı v2.0.0.0 olarak indirip açtığınızda hiçbir şey yapmanıza gerek kalmadan kedi sizinle Türkçe konuşacak — çünkü varsayılan dil Türkçe. İsterseniz İngilizceye geçmek için, indirdiğiniz klasördeki settings/settings.json dosyasını Not Defteri gibi basit bir metin editörüyle açıp içindeki "LANGUAGE": "tr" satırını "LANGUAGE": "en" olarak değiştirip uygulamayı yeniden başlatmanız yeterli. Aynı klasördeki lang/ alt klasörüne kendi dil dosyanızı (örneğin de.json) ekleyip aynı ayardan referans vererek başka diller de tanımlayabilirsiniz.


Projenin Arkasındaki Mantık ve Geliştirme Süreci

Ekrandaki bir sanal karakterin, kullanıcının fare hareketlerine gerçek zamanlı ve pürüzsüz bir şekilde tepki vermesini sağlamak projenin en keyifli kısmıydı. Kedinin hareketi sadece farenin koordinatlarına ışınlanmaktan ibaret olsaydı tüm doğallığı kaybolurdu.

Dinamik Takip Algoritması

Kedinin farenin ucundaki büyük beyaz topa doğru koşarken sergilediği ivmelenme, yavaşlama ve dönüş açıları matematiksel bir takip algoritmasına dayanıyor. Fareyi aniden kaçırdığınızda kedinin de hızlanması, imlece yaklaştığında ise yavaşlayarak durması simülasyona organik bir hava katıyor. Python’ın görüntüleme ve arayüz yeteneklerini kullanarak bu pürüzsüz hareket yapısını kurmayı başardım.

Çoklu Monitör Meselesi

v1’de kedi ve top yalnızca birincil ekranın sınırları içinde kalıyordu; fareyi ikinci monitöre götürdüğünüzde ikili ortada kayboluyordu. v2 ile birlikte, sisteme bağlı tüm ekranların koordinatlarını tarayıp kediyi ve topu farenin bulunduğu monitöre göre konumlandıran bir mantık ekledim. Windows’ta bu iş kutudan çıkar çıkmaz çalışıyor; Linux ve macOS’ta ise isteğe bağlı screeninfo kütüphanesiyle aynı deneyimi sunuyor.

Açık Kaynak Gücü ve GitHub Ailesi

Projenin herkes tarafından geliştirilebilmesi, kediye yeni hareket animasyonları eklenmesi veya takip nesnesinin özelleştirilebilmesi için kodları tamamen açık kaynak olarak paylaştım. Kodun ham haline ve mimarisine doğrudan GitHub deposu üzerinden erişebilirsiniz.

🔗 GitHub Deposu: Kedi Top Takibi Proje Sayfası


Kurulum ve Doğrudan Çalıştırma (Hızlı Başlangıç)

Projeyi bilgisayarınızda denemek için Python ortamı kurup kütüphanelerle boğuşmanıza gerek yok. Teknik detaylara girmeden doğrudan masaüstüne sanal bir evcil hayvan konuk etmek isteyenler için uygulamanın derlenmiş sürümlerini hazırladım.

🚀 Doğrudan İndir (v2.0.0.0 — Güncel, Çoklu Monitör & Çoklu Dil Destekli): KediTopTakibi.zip

🕰️ Önceki Sürüm (v1.0.0.0): KediTopTakibi.exe

v2.0.0.0’ı indirdiğinizde bir .zip dosyası açılacak; içinde KediTopTakibi.exe ile birlikte bir de settings/ klasörü bulacaksınız. Uygulamanın çalışması ve ayarları/dili okuyabilmesi için bu klasörü .exe ile aynı yerde tutmanız yeterli — başka hiçbir kurulum adımı yok.

(Tekrar hatırlatmakta fayda var; patronunuzun veya iş arkadaşlarınızın arkadan gelip ekranda beyaz bir topun peşinden koşan bir kediyi görmesini istemiyorsanız, bu eğlenceyi evdeki kişisel bilgisayarlarınıza saklamanız daha doğru bir mühendislik kararı olacaktır.)


Geliştiriciler İçin: Kodun Altında Ne Var?

Eğer işin mutfağına girmek, kedinin hız parametrelerini değiştirmek veya beyaz top yerine başka bir nesne entegre etmek isterseniz, Python projesini klonlayarak işe başlayabilirsiniz. Temel gereksinimler oldukça standart:

pip install pyautogui keyboard
python KediTopTakibi.py

Projede ekran koordinatlarının anlık olarak yakalanması ve yüksek kare hızlarında (FPS) bile kedi figürünün pürüzsüzce çizilmesi için optimizasyonlar uygulandı. Özellikle arka planda çalışırken işlemciyi (CPU) gereksiz yere yormaması ve bilgisayarı kasıp işlerinizi engellememesi adına döngü aralıkları titizlikle optimize edildi.

Kaynak koddan çalıştıranlar için ayarlar ve diller yine aynı yerde: proje klasöründeki settings/settings.json, settings/lang/tr.json ve settings/lang/en.json. Kodu hiç açmadan, sadece bu dosyaları düzenleyerek kendi sürümünüzü kişiselleştirebilirsiniz.


Sonuç

Küçük bir video karesinden ilham alarak başlayan bu minik simülasyon, masaüstünü biraz daha eğlenceli hale getiren tatlı bir projeye dönüştü. v2.0.0.0 ile artık hem birden fazla ekranınız olsa da sizi bulabiliyor hem de anadilinizde sizinle sohbet edebiliyor. Siz de kodu forklayarak projeye yeni mekanikler kazandırabilir, masaüstünüzün yeni misafiriyle olan deneyimlerinizi GitHub, Linkedin ve sosyal medya üzerinden benimle paylaşabilirsiniz!

#blog #python #tkinter #simulasyon #acik-kaynak #eglence #coklu-dil #cat #catlovers #kedi #kediseverler

İlgili İçerikler

ESP32 ile IoT Dünyasına Giriş Sıfırdan İleri Seviyeye Proje Geliştirme Rehberi

ESP32 mikrodenetleyicisinin çift çekirdek mimarisini, pin kısıtlamalarını ve derin uyku modlarını derinlemesine inceleyerek uçtan uca MQTT bağlantılı bir sensör istasyonu geliştirdiğimiz kapsamlı teknik bir blog yazısıdır.

blog iot esp32 esp8266 arduino free-rtos derin-uyku elektronik wi-fi bluetooth gomulu-sistemler mqtt-protokolu arduino arduino-ide

Modern Şarj Edilebilir Pil Teknolojileri ve Elektrokimyasal Performans Analizi

Modern batarya teknolojilerini ve bu sistemlerin elektrokimyasal çalışma prensiplerini detaylandıran bu blog yazısı, Li-ion, LiFePO4, NiMH, Ni-Cd ve kurşun asit pillerin teknik özelliklerini, performans metriklerini ve kullanım avantajlarını mühendislik perspektifiyle incelemektedir.

blog elektronik pil-teknolojileri lityum-iyon li-ion batarya-performansi lifepo4 nikel-metal-hidrur sarj-edilebilir-piller batarya-yonetim-sistemleri ni-cd ni-mh enerji-sistemleri batarya-analizi

İç Ağ Sızma Testlerinde Post Exploitation Stratejileri ve Derinlemesine Analiz

İç ağ sızma testlerinde post-exploitation tekniklerini; yetki yükseltme yöntemleri, sistemde kalıcılık sağlama ve active directory içinde yanal hareket süreçlerini teknik kod örnekleriyle analiz edilmektedir. Mimikatz, Impacket ve BloodHound gibi profesyonel araçlar bu yazıda geçmektedir.

blog siber-guvenlik cyber-security ag-guvenligi network-security bilgi-guvenligi bulut-guvenligi network privilege-escalation sizma-testi red-team post-exploitation active-directory lateral-movement intranet internal-network local-network

.NET 8 Projelerinde OWASP Top 10 Güvenlik Stratejileri

.NET 8 projelerinde güvenli kodlama için kritik bir rehber! OWASP Top 10 tehditlerine karşı EF Core, Data Protection API ve politika tabanlı yetkilendirme gibi araçları kullanarak uygulamanızı nasıl koruyacağınızı teknik örneklerle keşfedin. Güvenli yazılım mimarisi için temel stratejileri öğrenin.

blog siber-guvenlik cyber-security dotnet owasp ag-guvenligi network-security bilgi-guvenligi bulut-guvenligi

Sıfır Güven Mimarisi ile Modern Ağ Stratejileri

Sıfır Güven (Zero Trust) mimarisi, ağın sınırlarının artık belirsizleştiği günümüz hibrit dünyasında, "varsayılan güven" paradigmasını yıkan modern bir güvenlik stratejisidir. Bu yaklaşım, ağ içerisinde veya dışarısında ayrımı gözetmeksizin, her bir kullanıcıyı, cihazı ve servisi potansiyel bir risk unsuru olarak değerlendirerek erişim taleplerini sürekli, bağlamsal ve katı bir doğrulama sürecinden geçirir.

blog siber-guvenlik cyber-security sifir-guven zero-trust ag-guvenligi network-security bilgi-guvenligi bulut-guvenligi

Veri Analizi Okulu: Veri Bilimi ve Yapay Zeka Eğitimi

YÖK yürütücülüğündeki Veri Analizi Okulu (VAO); Temel İstatistik, Hesaplamalı Sosyal Bilimler, Panel Veri Analizi, Yapay Zeka, Dijital Beşeri Bilimler ve Psikometri modülleriyle teorik bilgiyi uygulamayla birleştirmektedir. Hem nitelikli bir eğitim hem de kariyeriniz için blog yazısına göz atın.

blog veri-analizi-okulu vao temel-istatistik hesaplamali-sosyal-bilimler panel-veri-analizi yapay-zeka yapay-zeka-ve-kolaylastirici-araclar yapay-zeka-ve-makine-ogrenmesi dijital-beseri-bilimler psikometri

Nur-o-link: Uzaktan Kontrollü Robotik Kol ve Araç Sistemi

Nur-o-link projesi, uzaktan kontrol edilebilir robotik kol ve otonom araç özelliklerini birleştiren, donanım ve yazılımın etkileşimini ön plana çıkaran yenilikçi bir robotik çalışmadır.

blog robotic robotic-arm robotik iot embedded cplusplus arduino esp32 remote-control uzaktan-kontrol robot-kol software-hardware rex-8in1-v2 elektronik

Gungor-robot-car: ESP32 Kamera Kontrollü Robot Araba

ESP32-WROVER modülü ile WiFi üzerinden canlı görüntü aktarabilen ve tarayıcı tabanlı arayüz ile uzaktan kontrol edilebilen robotik araç projesidir.

blog robotik robotic iot embedded cplusplus arduino esp32 esp32-cam esp32-camera remote-control robotic-car electronic elektronik software-hardware

Yumuşak Robotik Sistemlerde Mühendislik Temelleri ve Esnek Yapıların Mekanik Analizi

Geleneksel rijit robotik sistemlerin esnek elastomerler ve biyo-mimetik yaklaşımlarla dönüştürülmesini inceleyen, teknik derinliği yüksek, kontrol algoritmaları ve malzeme mekaniği odaklı bir blog yazısıdır.

blog robotics robotik yumusak-robotik soft-robotics mekatronik kontrol-sistemleri simulasyon muhendislik engineering

Sürü Robotik Sistemlerinde Kolektif Zeka ve Dinamik Görev Alokasyonu

Sürü robotik sistemlerinde kolektif zeka, dinamik görev paylaşımı ve dağıtık kontrol mekanizmalarının teknik temellerini, algoritmik yaklaşımlar ve yazılım kütüphaneleriyle birlikte inceleyen teknik blog yazısıdır.

blog robotics robotik otonom suru-robotigi coklu-ajan-sistemleri gorev-dagilimi ros2 kolektif-karar-verme dagitik-sistemler swarm-intelligence akilli-robotlar

Robotik Sistemlerin Evrimi ve ROS 2 Ekosistemine Modern Geçiş Stratejileri

Bu blog yazısı, robotik sistemlerin ROS 1'den ROS 2'ye geçiş sürecindeki mimari değişimleri, DDS tabanlı haberleşme katmanının teknik avantajlarını ve modern yazılım kütüphaneleriyle sistem modernizasyonu stratejilerini detaylı bir teknik dille ele almaktadır.

blog robotic robotik otonom ros2 dds endustriyel-otomasyon gercek-zamanli-sistemler kontrol-sistemleri mikroservis

Tarım 4.0 ve Otonom Robotik Sistemlerde Yeni Nesil Yaklaşımlar

Tarım 4.0 ekosisteminde otonom araçların navigasyon stratejilerini, derin öğrenme tabanlı mahsul izleme algoritmalarını ve ROS 2 tabanlı yazılım mimarilerini ele alan bir blog yazısıdır.

blog robotics robotik otonom tarim-4-0 yol-planlama mahsul-izleme ros2 akilli-tarim hassas-tarim ai lidar goruntu-isleme sensor-fuzyonu edge-computing

Veri Biliminde Topolojik Yaklaşımlar ve Gephi ile Graf Teorisi Temelli Ağ Analizi

Bu teknik blog yazısı, büyük veri setlerindeki karmaşık ilişkilerin graf teorisi ve Gephi yazılımı kullanılarak nasıl görselleştirileceğini, matematiksel metrikler ve yazılım kütüphaneleri eşliğinde derinlemesine analiz etmektedir.

blog gephi ag-analizi veri-gorsellestirme graf-teorisi network-analysis python veri-bilimi merkeziyet-metrikleri karmasik-sistemler

Otonom Robotik Sistemlerde Derin Öğrenme Temelli Nesne Algılama ve Manipülasyon Teknikleri

Derin öğrenme mimarileri, 6-DoF kavrama stratejileri ve gerçek zamanlı nesne tanıma algoritmalarıyla donatılmış modern robotik sistemlerin teknik incelemesi ve yazılım entegrasyonudur.

blog robotics robotik otonom ai yapay-zeka python pytorch ros2 yolo opencv otonom-robotlar makine-ogrenmesi

Modern Coğrafi Bilgi Sistemlerinde İleri Mekansal Analiz ve Veri Bilimi Entegrasyonu

ArcGIS ekosisteminde veri madenciliği, Python tabanlı otomasyon süreçleri ve mekansal istatistik yöntemleriyle ham konum verisinin stratejik karar destek mekanizmalarına dönüştürülmesini ele alan bir blog yazısıdır.

blog arcgis mekansal-analiz cografi-bilgi-sistemleri python arcpy haritalama mekansal-istatistik veri-bilimi buyuk-veri

Elektronik Tasarımın Temel Yapı Taşlarında Derinlik: Pasif Bileşen Seçiminin Mühendislik Temelleri

Bu blog yazısı, elektronik devre tasarımında kritik öneme sahip olan kondansatör ve endüktörlerin ideal olmayan parazitik parametrelerini, frekans bağımlı davranışlarını ve modern mühendislik seçim kriterlerini Python tabanlı analiz yöntemleriyle birlikte ele almaktadır.

blog elektronik pasif-bilesenler kondansator-secimi enduktor-parametreleri esr esl frekans-analizi devre-simulasyonu

Süperpozisyon Teoremi ve Çok Kaynaklı Lineer Devrelerin Analitik İncelenmesi

Birden fazla bağımsız kaynak içeren lineer devrelerde her kaynağın etkisini tekil olarak analiz edip birleştiren Süperpozisyon Teoremi'nin teorik temellerini, matematiksel modellemesini ve Python tabanlı simülasyon yaklaşımlarını inceleyen yazıdır.

blog elektrik elektronik superpozisyon-teoremi devre-analizi lineer-sistemler devre-cozumu kirchhoff-yasalari

Karmaşık Devrelerin Matematiksel Mimarisi ve Düğüm Gerilimleri Yöntemi

Kirchhoff Akım Yasası temelinde düğüm gerilimleri yönteminin teorik analizi, süper düğüm kavramı ve NumPy kütüphanesi kullanılarak devre çözümlerinin bilgisayarlı mühendislik yaklaşımlarıyla modellenmesidir.

blog elektrik elektronik devre-analizi kirchhoff-kanunlari dugum-gerilimleri numpy devre-simulasyonu devre-teorisi super-dugum

Joule Isınması ve Modern Elektronikte Gelişmiş Termal Yönetim Stratejileri

Joule ısınmasının fiziksel temellerinden başlayarak, modern devre kartlarında termal yönetimi optimize eden gelişmiş PCB tasarım teknikleri, PID tabanlı soğutma algoritmaları ve gömülü yazılım kontrol mekanizmalarını ele alan bir blog yazısıdır.

blog elektrik elektronik joule joule-isinmasi termal-yonetim isi-dagilimi guc-elektronigi

Devre Tasarımında Direnç Parametrelerinin Mühendislik Analizi ve Seçim Stratejileri

Gerçek dünya devre tasarımlarında direnç seçiminin Ohm Kanunu'nun ötesindeki kritik parametrelerini, parazitik etkilerini ve mühendislik hesaplamalarını teknik bir derinlikle inceleyen bir blog yazısıdır.

blog elektrik elektronik ohm-kanunu devre-analizi elektronik-tasarim direnc-secimi muhendislik

Lineer Devre Analizinde İndirgeme Metotları ve Sayısal Çözümleme Yaklaşımları

Bu makale, karmaşık elektrik devrelerini Thevenin ve Norton teoremleriyle basitleştirme yöntemlerini, matematiksel analiz adımlarını ve Python tabanlı sayısal çözümleme tekniklerini detaylı bir mühendislik perspektifiyle ele almaktadır.

blog elektrik elektrik-devreleri devre-analizi thevenin-teoremi norton-teoremi devre-indirgeme lineer-devreler

Gömülü Sistem Geliştirmede Profesyonel Hata Ayıklama Stratejileri ve Derinlemesine Analiz Teknikleri

Gömülü sistemlerde donanım kısıtları ve gerçek zamanlı gereksinimler altında, JTAG/SWD analizi, bellek yönetimi ve sinyal bütünlüğü gibi kritik yöntemlerle profesyonel hata ayıklama süreçlerini ele alan teknik bir yazıdır.

blog elektronik gomulu-sistemler debugging hata-ayiklama jtag rtos mikrodenetleyici donanim

Modern Akıllı Ev Ekosistemlerinde Haberleşme Katmanları ve Protokol Analizi

Akıllı ev ekosistemlerinde Wi-Fi, BLE ve Zigbee protokollerinin teknik mimarilerini, mesh network yapılarını ve yazılım entegrasyon süreçlerini derinlemesine analiz eden bir yazıdır.

blog iot zigbee wi-fi bluetooth bluetooth-ble haberlesme-protokolleri elektronik mesh-network

Arduino Projelerinde Güç Yönetimi ve Verimlilik Stratejileri

Arduino projelerinde donanım müdahaleleri, derin uyku modları ve düşük güçlü regülatör kullanımıyla enerji tüketimini mikroamper seviyesine indiren kapsamlı bir teknik yazıdır.

blog elektronik arduino guc-optimizasyonu gomulu-sistemler derin-uyku pil-omru avr

Endüstriyel Sistemlerde Raspberry Pi ve Donanım Entegrasyonu

Endüstriyel otomasyonda Raspberry Pi kullanımını, donanım izolasyonundan RTOS çekirdek optimizasyonuna ve Modbus/MQTT haberleşme protokollerine kadar teknik detaylarıyla inceleyen kapsamlı bir yazıdır.

blog elektronik raspberry-pi iiot iot endustriyel-otomasyon mqtt rtos plc sensor-veri-isleme python

IoT Projelerinde Mimari Karar Süreçleri: ESP32 ve ESP8266 Mikrodenetleyicilerinin Teknik Analizi

ESP32 ve ESP8266 mikrodenetleyicilerinin mimari farklarını, bağlantı yeteneklerini ve donanım özelliklerini teknik bir derinlikle karşılaştırarak IoT projeleri için optimize edilmiş seçim rehberi sunan kapsamlı bir yazıdır.

blog iot esp32 esp8266 arduino free-rtos mikrodenetleyici elektronik wi-fi bluetooth