2つ以上のキーを押した場合、特定のキーを送信しないようにする

2つ以上のキーを押した場合、特定のキーを送信しないようにする

私はこのマウスを持っていますが、側面に「進む」ボタンと「戻る」ボタンが追加されており、これと一緒に使用する AHK スクリプトは次のとおりです。主な目的は次のとおりです。

  1. XButton2(進むボタン)と右ボタン(右クリック)を押しながらマウスの中ボタンを上にスクロールすると、Alt+ を送信します6
  2. マウスのXButton2を押したまま中ボタンを上にスクロールすると、システム音量が2%増加します。

問題は、マウスの XButton2 (進む) のデフォルト アクションも同時にトリガーされるため、上記のキーを押したときに「進む」が送信されないようにしたいということです。

~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

答え1

チルダ接頭辞 (~)AHK が XButton2 のキーダウン/アップ イベントをブロックするのを防ぎます。キー イベントは通過できます。

~を削除すると、XButton2本来の機能を失うこれを回避するには、キーが自分自身を送信するようにします。

XButton2 & WheelUp::
; do something
return  

XButton2::Send {XButton2}

関連情報