Optische Maus 2mm über Schwungrad vom Trimmrad...
Optische Maus 2mm über Schwungrad vom Trimmrad...
Hallo, ich habe eine optische Maus(Laser) 2mm über dem Schwungrad vom Trimmrad befestigt.
Nun möchte ich die y-Position ganz schnell abfragen wenn ich in die Pedale trete und wenn der Wert >500 erreicht ist dann soll die Maus wieder bei y=0 anfangen und ein zählerwert soll dann immer um 1 erhöht werden.
Wie kann man das sehr schnell realisieren, damit sich der optische Zähler der Maus nicht überschlägt bzw dieses bei jeder getretenen Geschwindigkeit richtig macht?
Danke.
Gruss
Nun möchte ich die y-Position ganz schnell abfragen wenn ich in die Pedale trete und wenn der Wert >500 erreicht ist dann soll die Maus wieder bei y=0 anfangen und ein zählerwert soll dann immer um 1 erhöht werden.
Wie kann man das sehr schnell realisieren, damit sich der optische Zähler der Maus nicht überschlägt bzw dieses bei jeder getretenen Geschwindigkeit richtig macht?
Danke.
Gruss
Zuletzt geändert von funkheld am 13.07.2012 08:52, insgesamt 1-mal geändert.
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Ungefähr so könnte es gehen:
Grüße, Nino
Code: Alles auswählen
EnableExplicit
Define event.i, prevY.i, dy.i, counter.i, limit.i=50
OpenWindow(0, 0, 0, 300, 30, "Maus-Monitor", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(0, 10, 6, 200, 20, "")
prevY = DesktopMouseY()
Repeat
event = WindowEvent()
If Event = 0
dy + (DesktopMouseY() - prevY)
prevY = DesktopMouseY()
If dy >= limit
counter + 1
dy - limit
EndIf
SetGadgetText(0, "Desktop Maus-Position: " + Str(dy) + ", " + Str(counter))
Delay(20)
EndIf
Until Event = #PB_Event_CloseWindow- NicTheQuick
- Ein Admin
- Beiträge: 8838
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Das funktioniert so aber nicht, Nino, da irgendwann der Mauszeiger am unteren oder oberen Bildschirmrand angekommen ist und dann geht es nicht weiter. 
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
dann muss sich funkheld halt einen entsprechend großen Monitor kaufenNicTheQuick hat geschrieben:Das funktioniert so aber nicht, Nino, da irgendwann der Mauszeiger am unteren oder oberen Bildschirmrand angekommen ist und dann geht es nicht weiter.
a²+b²=mc²
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Danke. Dein Programm ist schon ein guter Anfang.
Wenn ich hier ausserhalb des Windows gehe kommt ja -1, warum wird der Befehl MouseLocate(100, 100) da nicht ausgeführt?
Gruss
Wenn ich hier ausserhalb des Windows gehe kommt ja -1, warum wird der Befehl MouseLocate(100, 100) da nicht ausgeführt?
Code: Alles auswählen
InitMouse()
InitKeyboard()
If OpenWindow(0, 0, 0, 550,550, "Fenster Maus-Monitor", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
TextGadget(0, 10, 6, 200, 20, "")
Repeat
Event = WaitWindowEvent(20)
SetGadgetText(0, "Fenster Maus-Position: " + Str(WindowMouseY(0)))
If WindowMouseY(0) < 0
ExamineMouse()
MouseLocate(100, 100)
EndIf
Until Event = #PB_Event_CloseWindow
EndIf
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Bei mir wird, wenn ich Position -1 erreiche, der Code nicht weiter ausgeführt(Absturz) und es kommt die Fehlermeldung das ExamineMouse() nur mit einem Screen verwendet werden darf.funkheld hat geschrieben:Danke. Dein Programm ist schon ein guter Anfang.
Wenn ich hier ausserhalb des Windows gehe kommt ja -1, warum wird der Befehl MouseLocate(100, 100) da nicht ausgeführt?
PB 4.00 | Windows XP Home SP3
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Hmmm..., bei mir auch, wenn ich den Debugger eingeschaltet habe.
Wie kann man denn jetzt den Mauscursor auf y=0 setzen?
Gruss
Wie kann man denn jetzt den Mauscursor auf y=0 setzen?
Gruss
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Wie wäre es damit?
Code: Alles auswählen
If WindowMouseY(0) < 10
ExamineMouse()
MouseLocate(100, 100)
EndIf
Siehste! Geht doch....?!
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
PB*, *4PB, PetriDish, Movie2Image, PictureManager, TrainYourBrain, ...
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
Hmm..., danke. Funktioniert leider nicht.
Wenn ich den Debugger einschalte, dann kommt eine Ausstiegsmeldung.
Wusste garnicht, das es mit Purebasic so schwierig ist, eine Mausposition abzufragen und neu zu setzen.
Gruss
Wenn ich den Debugger einschalte, dann kommt eine Ausstiegsmeldung.
Wusste garnicht, das es mit Purebasic so schwierig ist, eine Mausposition abzufragen und neu zu setzen.
Gruss
Re: Optische Maus 2mm über Schwungrad vom Trimmrad...
nimm FreeBASIC.funkheld hat geschrieben:Wusste garnicht, das es mit Purebasic so schwierig ist, eine Mausposition abzufragen und neu zu setzen.
a²+b²=mc²