Isletim sisteminde mouse rutinlerine mudahale

Başlatan z, 09 Mart 2014, 13:51:27

z

Gecmis yillarda sormustum ama sonuclandirilmamisti.

Mouse'u hareket ettirdigimiz yone bagli olarak cursor pozisyonunun X ve Y degerleri degisir.

Ben soyle bir yapi istiyorum.

Sag click yapinca isletim sisteminin sag click seceneklerine ilave olarak 3 secenek  ciksin.

X eksenindeki degisimleri yok say
Y eksenindeki degisimleri yok say
Normal moda gec.

Tam yatay yada tam dikey bir cizgi ciziyor olun,  eliniz hafif titrese kursor oynar bazen bu sinir bozucu bir hal alir.
Halbuki X eksenindeki degisimleri yok say secenegi aktif edilirse artik mousu sadece dusey yonde hareket ettirmeniz yeterli olur.

Isletim sistemine bu ozelligi kazandirmak icin hazirda cozumler varmi? Bunun icin program yazamazmiyiz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Ramiz

Program yazarsak, sanırım http://www.codeproject.com/Articles/512956/NET-Shell-Extensions-Shell-Context-Menus linkteki gibi windows right click e menü ekliyebiliyoruz. Buna birde mouse un kordinatlarını seçilen duruma göre ignore etmek kalıyor.

Hazırı varmı bilmiyorum  ???
Electrical & Electronics Engineering -> Step one

Icarus


muhittin_kaplan

Sağ Klick->X Eksen Kapat/Aç
              ->Y Eksen Kapat/Aç

gibi mi, x ekseni kapattığımd sadece y ekseninde hareket edecek. Y kapattığımda sadece X hareket edecek.

z

Sorunun üstesinden gelebilecek birisi konuya el atsa çizim programlarında çok rahatlarız.



mesaj birleştirme:: 09 Mart 2014, 14:13:48

Alıntı yapılan: muhittin_kaplan - 09 Mart 2014, 14:11:50
Sağ Klick->X Eksen Kapat/Aç
              ->Y Eksen Kapat/Aç

gibi mi, x ekseni kapattığımd sadece y ekseninde hareket edecek. Y kapattığımda sadece X hareket edecek.

Evet ilave olarak bir de normal moda geç seçeneği olacak. Tabiki bu işlem,  hangi programı çalıştırırsam çalıştırayım geçerli olacak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Bayramsumbul

Donanımsal olarak yapılamaz mı?Yani en basitinden eski toplu farelerde bir anahtar ile yapılabilir.
Ayrıca ps2 protokolünü bildikten sonra fare ile bilgisayar arasına filtre göre gören bir program içeren mikrokontrölör eklene bilir.Yani sağ butona basıldı->x eksenini sabit tut y değişsin gibi...İyi çalışmalar
Bir Elektronik Meraklısının Serüveni...

Mr_YAMYAM

Tek tuş (önceden ayarlanmış) fonksiyonlarına ilaveler yapmak çoğunlukla risk oluşturmaktadır.
Bunun yerine günümüz her mouse'larda olan tekerlek tuşu kullanılabilir. Çünkü sağ klik, öncelik işletim sistemi bünyesinde komutlar barındırmaktadır. Bunlara ilave yapmak risk oluşturabilir.
Daha sağlıklı bir diğer yöntem ise programlanabilir çok tuşlu mouse'lar kullanmaktır.
İşletim sistemine uyumlu sürücü ve tuş programlama özellikleriyle satılan bu tür mouse'lar ile çoklu tuş kombinasyonları bile eklenebilmektedir.
http://wiki.ubuntu-tr.net/index.php?title=%C3%87ok_tu%C5%9Flu_farelerin_ayarlanmas%C4%B1
Linkte bu tür bir mouse'un linux tabanında örnek programlanması anlatılmaktadır.

z

Yapma hocam daha once sag click menusune eklenti yapmistim. Neden sorun olsun?

Sag click menusune ilave eklenti  bizlere sunulmus bir nimet. Bu konuda hic sorun yok.

Tek sorun isletim sisteminin mouse rutinine saplama yapmakta. Aslinda o da bilen icin kolay bir isdir. Simdi mikrosoftun sitesinde konuyu didiklemek istemiyorum. 4-5 satir kodla ustesinden gelinebilecek bir sorun.

Birisi yazarsa gercekten cok makbule gececek.

Diyelimki 100,200 koordinatina gidip bir dogru cizmeye baslayacagim. 100,200 noktasina yaklasiyorum mesela 100,201 e geliyorum. Mousu biraz kimildatinca 101, 200 oluyor, biraz kimildatinca 102,200 oluyor.

Halbuki bu ozellik olursa daha az ugrasla 100,200 e gelebilecegiz.

Bu ozellige en cok PaintBrush ve Eagle pcb cizim programinda ihtiyac duyuyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Icarus

Alıntı yapılan: z - 09 Mart 2014, 15:11:53
Birisi yazarsa gercekten cok makbule gececek.
Ok. Bi ara birşeyler karalarım.

(Not: başka gönüllü varsa beni beklemeden yapsın :) )

Mr_YAMYAM

#9
Alıntı yapılan: z - 09 Mart 2014, 15:11:53
Yapma hocam daha once sag click menusune eklenti yapmistim. Neden sorun olsun?

Sag click menusune ilave eklenti  bizlere sunulmus bir nimet. Bu konuda hic sorun yok.

Diyelimki 100,200 koordinatina gidip bir dogru cizmeye baslayacagim. 100,200 noktasina yaklasiyorum mesela 100,201 e geliyorum. Mousu biraz kimildatinca 101, 200 oluyor, biraz kimildatinca 102,200 oluyor.

Halbuki bu ozellik olursa daha az ugrasla 100,200 e gelebilecegiz.
Yanlış anlaşıldı galiba :) Ben sağ klik tuşunu değiştirmeyi düşündüğünü sanmıştım.
[IMG]http://i.imgur.com/wnkHlvM.png[/img]
Sanırım şöyle birşey talep ediyorsun.

Ben olsam yüksek çözünürlüklü mouse kullanıp hassasiyet ayarları ile oynardım. ;)
[IMG]http://i.imgur.com/01Zfpis.png[/img]
Bendeki mouse lazer olup 1200 DPI çözünürlüktedir.
ARES çizimlerinde çözünürlük ile oynamak çok işime yarıyor.

fatih6761

Hocam bilgisayar tarafında yapacaksak basit Mouse pos alıp değiştiren bir uygulama olmaz. Fare istediğiniz eksende tutulur ama ignore etme işlemi sırasında sürekli kaymalar olur. Yani fare önce hareket eder sonra istenilen eksene kaydırılır. Bunu yapmanın kesin çözümü için iki yöntem var: Birincisi söylendiği gibi fare içine eklenecek bir mcu ve üç konumlu bir buton olabilir. İkincisi de fareye WinDDK kullanarak bir fare sürücüsü yazacaksınız. Generic HID Mouse sürücü kodlarını bulabilirsek modifiye edebiliriz. Ya da derlenmiş sürücüye code injection yapabiliriz ama yapması epey uğraştırır.

engerex


z

Mouse modifiye isine sicak bakmiyorum. Tekerlekli mouselarda is kolay ama optik mouselarda modifiye islemi pek mumkun gorunmuyor.

@Engerex

Programi denedim ancak su haliyle bmp bir dosya acip line cizmek iskence.

Ama uzerinde ugrasilirsa adam olur sanki.

@fatih6761

Engerex'in yazdigi programda aynen bahsettigin (gidip geri gelme) sorunu oluyor.

Programla ugrasmak isteyen arkadaslar Paint brushda mousu kullanarak ucgen kare cizmeye calismali. Bu cizim esnasinda eksenler kilitlenerek test edilmeli.

Mouse dan gelen konum bilgilerinde x ya da y yi cope at deme sansimiz neden olmasin?



Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Cemre.

#13
Hocam dizüstü bilgisayarın dokunmatik faresi (touchpad) için bir ayar bulmuştum ben de. Çizimler dokunmaktik fareyle pek yapılmaz ama, bu ayarın harici bir usb fareye etkisi var mıdır onu da bilemiyorum.




Yöntemle çizilen paint çizgileri;


barisertekin

Şöyle bir program yazdım. 1 pixel bile şaşma olmuyor.
İndirip test edebilirsiniz. Eğer uygunsa sağ tuş menüye uygun versiyonunu yazıp paylaşabilirim.

http://barisertekin.com/Downloads/MousePosition.exe