Tengo este mouse con botones adicionales de avance y retroceso en el costado y aquí hay un script AHK que uso con él. Su propósito principal es:
- Si el botón central del mouse se desplaza hacia arriba mientras se mantiene presionado XButton2 (botón de avance) y el botón derecho (clic derecho), envía Alt+ 6.
- Si el botón central del mouse se desplaza hacia arriba mientras se mantiene presionado el botón XButton2, aumenta el volumen del sistema en un 2%.
El problema es que también activa la acción predeterminada del botón X del mouse (Adelante) al mismo tiempo, por lo que quería evitar que enviara "Adelante" cuando mantenía presionadas las teclas indicadas anteriormente.
~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
Respuesta1
Elprefijo de tilde (~)evita que AHK bloquee los eventos de tecla arriba/abajo del XButton2. Permite que pase el evento clave.
Si eliminas ~, XButton2pierde su función original. Para evitar esto, haga que la clave se envíe sola:
XButton2 & WheelUp::
; do something
return
XButton2::Send {XButton2}