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

第一個映射按照我想要的方式工作(到目前為止(:),但是第二個映射給我一個錯誤:無效的熱鍵

我嘗試對此進行谷歌搜索,但找不到映射 RCtrl & Rshift & Tab 組合的正確方法。

對於某些背景,我試圖將用於從一封電子郵件跳到下一封電子郵件(當電子郵件在單獨的視窗中開啟時)的Alt + 4 對應到RCtrl + Tab,並希望將跳轉到的Alt + 5 對應到上一封電子郵件,轉到 RCtrl + RShift + Tab。

你知道這裡可能出現什麼錯誤嗎?

提前致謝。

答案1

我不相信您可以使用&運算符創建兩個以上的鍵的組合。這是手動檢查 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

相關內容