Isletim sisteminde mouse rutinlerine mudahale

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

z

@Barisertekin, XP makinede programi calistirdigimda gecerli bir win32 uygulamasi olmadigi hatasini aliyorum.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

engerex

#16
@z evet titremelerin farkındayım. Bunun için mousetan gelen veri ve bunun uygulanması esnasında araya bir hook atıp buna göre uygulamak gerekiyor.
Aslında kullandığın uygulamaların bu sorunu çözmüş olabileceğini düşünüyorum.
Örneğin;
Paintte 45 derece ve katlarında doğrusal çizgi çizmek için Shift ve Shift+CTRL tuşlarından faydalanabilirsin.
AutoCAD'te Polar Tracinge bir açı değeri verip kolayca çizim yapabilirsin. Örneğin 15 derece verdiğinde 0, 15, 30, 45.. derecelerde şaşma olmadan çizgiler çizebilirsin.
Yine AutoCAD de ORTHO Modda 90 derece ve katlarında çizgi çizebilirsin. Bunu shift tuşuna basılı tutarakta yapabilirsin.
Corel Draw da CTRL veya Shift tuşu yardımıyla 15 derece ve katlarında çizgi çizebilirsin. Serbest çizgideysen düz çizgi çizebilirsin.

Kullandığın uygulamalarda mutlaka bu tür pratik tuş veya ayarlar vardır.

kutahyaspor


barisertekin

Paint ile test ettim arada titremeler oluyormuş. Değişkenler üzerinde görünmüyor ama pratikte sorun verdi.


Icarus

Alıntı yapılan: barisertekin - 09 Mart 2014, 17:30:44
Şö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
%68 %70 CPU ve IO kullanımına neden oluyor.
Pooling bir seçenek değil

engerex

Alıntı yapılan: z - 09 Mart 2014, 17:23:38
@Engerex

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

Ama uzerinde ugrasilirsa adam olur sanki.

İşkencelik kısım nedir? Titreme dışında ne problem var?

barisertekin

Zaten problem titremesi :)
Benim eklediğim seninkinden 10 kat daha az titriyor ama sonuçta istediğimiz sonucu bize vermiyor.

z

Programinizi calistirip ardindan desktopta sag click ile new bmp olusturmak ve ardindan paint programinin cercevesine girmeye calistim bu kisimda zorlandim.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

barisertekin

Şimdi şöyle bir şey aklıma geliyor.

Sağ tıkladık X koordinatını kilitle dedik. Ve mouse'tan elimizi çektik.
Klavyenin yukarı aşağı ok tuşları ile mouse kontrol edilerek hatasız çizim yapılabilir.

Ne dersiniz? Böylece titreme olmaz.

engerex

Değişimi Shift + Mouse orta butona ayarladım. Bu sayede tuşların kendi işlevleri daha az etkilenecek. Önce ufak pencereden mouseu aktif etmeyi unutmayın.

http://www.4shared.com/rar/wxn6d4A8ce/Buton.html

z

Benim anlamadigim konu su;

Mouse pozisyonu degistiginde ilk calisacak program sizin yazacaginiz program olamiyormu?

Siz mouse verisini okursunuz, cikarken, okudugunuz x degeri ne olursa olsun bu degeri en son kilitlenen x degeri olarak degistirirsiniz.

Olmuyormu boyle?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

barisertekin

#26
Uygulamamıza thread'ler arasında High Priority verebiliriz. Ama mouse sürücünün önüne geçemiyoruz.

Klavyenin yön tuşları ile titreme olması imkansız. Hem de 4 yöne birden serbest hareket edebiliriz.
Paint'te hatasız çizim yapılabiliyor.

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

İşlemci uçup gidiyor. Onu halletmek gerekiyor.

engerex


Icarus

Alıntı yapılan: barisertekin - 09 Mart 2014, 19:01:21
Uygulamamıza thread'ler arasında High Priority verebiliriz. Ama mouse sürücünün önüne geçemiyoruz.
;
Sizin programınızın gerçek problemiyle söylediğiniz şeyin ilgisi yok.

barisertekin

İlgisi var demedim zaten. O aşağıda ki soruya cevaptı.
Alıntı YapMouse pozisyonu degistiginde ilk calisacak program sizin yazacaginiz program olamiyormu?

İyi takip ediniz.

İşlemci sorunu da düzeldi.