Verwenden Sie den Trackball zum Scrollen, Zoomen usw

4719
jdve

Ich habe einen Logitech Marble Trackball (was großartig ist, übrigens). Wenn Sie eine der zusätzlichen Tasten als "mittlere" Maustaste festlegen, wird beim Klicken auf viele Apps (wie Browser) der "Scroll-Modus" gestartet, sodass das Bewegen des Trackballs nach oben und unten verschoben wird. Meist reicht das, aber ich denke, es wäre viel cooler, wenn ich verschiedene "Modi" haben könnte, um verschiedene Dinge zu tun, wie Zoomen, Schwenken und Drehen (insbesondere in GIMP). Wenn ich dann STRG, STRG + UMSCHALTTASTE oder etwas Ähnliches drücke, würde ein neuer Modus aktiviert, und der Trackball würde sich anders verhalten.

Ich habe ein paar ähnliche Fragen gefunden, die die Verwendung von AutoHotKey nahe legen, aber ich habe weder ein Beispielskript dafür gefunden, noch kann ich herausfinden, wie die Mausbewegungen in AHK verfolgt werden. Irgendwelche Hinweise?

Hotkey für Scrollrad

Abhilfe für einen Trackball ohne Scrollrad?

Vielen Dank!

5
Es gibt einige Skripts, wenn Sie googeln: Autohotkey-Trackball BrianA vor 12 Jahren 0

1 Antwort auf die Frage

3
jdve

Nachdem ich eine Weile gefummelt hatte, kam mir dieses Skript, das ziemlich gut funktioniert. Wenn Sie CapsLock gedrückt halten, wird der Modus "Mausrad" aufgerufen. Es ist auch möglich, CapsLock + Ctrl zu halten, um ein alternatives Verhalten (wie Zoomen) zu erhalten, abhängig von der App. Das Skript muss die Mausposition ständig zurücksetzen, damit es auf dem Bildschirm angezeigt wird, sodass der Cursor für die Dauer des Modus ausgeblendet wird (greifen Sie auch auf das Cursor-versteckende Skript ).

CoordMode, Mouse, Screen  *CapsLock::  MouseGetPos, xposinit, yposinit xposlast := xposinit yposlast := yposinit  SystemCursor("Off")  SetTimer, ButtonHold, 10 KeyWait, CapsLock SetTimer, ButtonHold, off  MouseMove, xposinit, yposinit, 0 SystemCursor("On")  Return  ButtonHold: MouseGetPos, xpos, ypos  if (ypos > yposlast) { MouseClick, WheelDown } else if (ypos < yposlast) { MouseClick, WheelUp }  MouseMove, xposlast, yposlast, 0