Ich habe diese Maus mit zusätzlichen Vorwärts- und Zurück-Tasten an der Seite und hier ist ein AHK-Skript, das ich damit verwende. Sein Hauptzweck ist:
- Wenn die mittlere Maustaste nach oben gescrollt wird, während XButton2 (Vorwärtstaste) und die rechte Taste (Rechtsklick) gedrückt gehalten werden, wird Alt+ gesendet 6.
- Wenn die mittlere Maustaste nach oben gescrollt wird, während die Maustaste XButton2 gedrückt gehalten wird, erhöht sich die Systemlautstärke um 2 %
Das Problem besteht darin, dass dadurch gleichzeitig auch die Standardaktion der Maustaste XButton2 (Vorwärts) ausgelöst wird. Daher wollte ich verhindern, dass „Vorwärts“ gesendet wird, wenn ich die oben angegebenen Tasten gedrückt halte.
~XButton2 & WheelUp::
GetKeyState, RButtonState, RButton, ;Gets the mouses Rbutton state
If RButtonState = D ;Checks if Rbutton is pressed down
if (x_1 > 1919) ;if mouse cursor's X(Horizontal) position is greater than 1919px then:
Send !6 ;Sends ALT+6
else Send !4 ;Sends ALT+4
SetNumlockState, On
If RButtonState = U ;Checks if Rbutton is NOT pressed down
SoundSet, + 2 ;if Rbutton is not pressed down scrolling up while holding XButton2 increases volume
return
Antwort1
DerTilde-Präfix (~)verhindert, dass AHK die XButton2-Tastendruck-/Tastendruckereignisse blockiert. Das Tastendruckereignis kann durchgelassen werden.
Wenn Sie ~ entfernen, XButton2verliert seine ursprüngliche FunktionUm dies zu vermeiden, lassen Sie den Schlüssel sich selbst senden:
XButton2 & WheelUp::
; do something
return
XButton2::Send {XButton2}