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

첫 번째 매핑은 내가 원하는 대로 작동하지만(지금까지(:)) 두 번째 매핑에서는 다음과 같은 오류가 발생합니다. Invalid Hotkey

이에 대해 인터넷 검색을 시도했지만 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

관련 정보