Autohotkey: RCtrl + Rshift + Tab をマップできません: 構文エラーが発生します

Autohotkey: RCtrl + Rshift + Tab をマップできません: 構文エラーが発生します

私は Autohotkey の初心者です。Outlook で使用するためにキーを再マップしようとしています。

RCtrl & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
    Send !4
}
else {
    Send ^{tab}
}
return

RCtrl & RShift & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
    Send !5
}
else {
    Send ^+{tab}
}
return

最初のマッピングは思った通りに動作しますが(今のところ(: )、2番目のマッピングでは「無効なホットキー」というエラーが発生します。

これについてグーグルで検索してみましたが、RCtrl と Rshift と Tab の組み合わせをマップする正しい方法を見つけることができませんでした。

背景を説明すると、私は、あるメールから次のメールにジャンプするために使用する Alt + 4 (メールが別のウィンドウで開いている場合) を RCtrl + Tab にマッピングしようとしており、前のメールにジャンプする Alt + 5 を RCtrl + RShift + Tab にマッピングしたいと考えています。

ここでのエラーは何なのかご存知ですか?

前もって感謝します。

答え1

演算子を使用して 2 つ以上のキーの組み合わせを作成することはできないと思います&。Shift キーの状態を手動で確認する代替手段を次に示します。

RCtrl & Tab::
WinGet, Active_ID, ID, A
WinGet, Active_Process, ProcessName, ahk_id %Active_ID%
if (Active_Process = "Outlook.exe") {
    If GetKeyState("RShift","P")    {
        Send !5
        return
    }
    else    {
        Send !4
        return
    }
}
else {
    Send ^{tab}
}
return

関連情報