AutoHotKey CapsLockはスクリプトの起動を条件とする

AutoHotKey CapsLockはスクリプトの起動を条件とする

AutoHotKey (AHK) では、スクリプトに条件を付けたいと考えていました。

Caps LockがOFFの場合は何も起こりませんが、ONの場合はスクリプトが実行され、もちろん変更が検出されます。

これが私の試みですが、うまくいきません。Caps Lock をオンまたはオフにしてスクリプトを実行できるようにします。

#Requires AutoHotKey v2.0
state := GetKeyState("CapsLock", "T")
if(state = 1)
{
LAlt & i::Send "{Up}"
}

答え1

カスタムの組み合わせ言う:

注:標準の修飾キーとの組み合わせ通常は、標準構文を使用するたとえば、<+s::LShift & s:: ではなく。

この場合:

#Requires AutoHotKey v2.0

; LAlt + I
<!i::Send "{Up}"

<!左 Alt キーの記号です。

見るホットキー修飾子記号

ホットキーやホットストリングを状況に応じて変更する、 使用#ホットイフ指令:

#Requires AutoHotkey v2.0

#HotIf GetKeyState("CapsLock", "T")

    <!i::Send "{Up}"
    <!k::Send "{Down}"

#HotIf  ; turn off context sensitivity

答え2

#必要 AutoHotKey のバージョンのみをチェックします。

次のようなコードを使用します:

GetKeyState, CapLck, CapsLock, T
if ( CapLck == "D" ) {          ; check key-down condition
  some statement
}

関連情報