これが私の問題です。
Windows が Microsoft キーボードのショートカットを使用して行うように、音量を制御するための小さな音量制御スクリプトを作成しました。
私には3つの機能があります。2つは音量を制御し、もう1つはキーのホールド状態を制御して音量を上げたり下げたりします
これがコードです。
;//**************************************************
;// Volume Mouse Control
;//**************************************************
VolumeUp(p_numberToDecrease, p_holdToDecrease = true)
{
Send {Volume_Up %p_numberToDecrease%}
if(p_holdtoDecrease)
{
VolumeHoldTreatment("Up")
}
}
VolumeDown(p_numberToDecrease, p_holdToDecrease = true)
{
Send {Volume_Down %p_numberToDecrease%}
if(p_holdtoDecrease)
{
VolumeHoldTreatment("Down")
}
}
VolumeHoldTreatment(p_treatment)
{
Count := 0
Sleep 300
While GetKeyState(A_ThisHotkey,"P")
{
++Count
if(p_treatment == "Up")
{
Send {Volume_Up %Count%}
}
else
{
Send {Volume_Down %Count%}
}
Sleep 25
}
}
↓のようにショートカット内のメソッドを呼び出すと、正しく動作します。
音量を上げたり下げたりできます。
キーを 300 ミリ秒以上押し続けると、音量が上昇/下降し続けます。
XButton1:: VolumeDown(1)
XButton2:: VolumeUp(1)
しかし、ミュートショートカットを追加すると↓
XButton1 & XButton2:: Send {Volume_Mute}
XButton2 & XButton1:: Send {Volume_Mute}
ホールド動作が正常に動作しません。保留動作を呼び出すには、Button1/2 を 2 回押す必要があります。なんで ?
ご協力いただきありがとうございます