AutoHotKey: Alt+Shift+Tab을 (L)Win+Shift+Tab으로 다시 매핑

AutoHotKey: Alt+Shift+Tab을 (L)Win+Shift+Tab으로 다시 매핑

AltAutoHotKey를 사용하여 Windows의 + TabShift+ Alt+가 macOS의 + 및 + + Tab와 동일한 동작을 갖도록 하려고 합니다 .CmdTabShiftCmdTab

참고: CmdMac 키보드에서는 Win키를 보냅니다.

내가 일하게 된 것은 다음과 같습니다.

LWin & Tab:: AltTab

내가 할 수 없었던 것은 LWin++ ShiftTab보내 Shift++ Alt을 얻는 것입니다 Tab. 난 노력 했어:

  1. #Shift & Tab:: ShiftAltTab(오류: 이 경우 #에 L 또는 R을 지정해야 합니다)
  2. LWin & Shift & Tab :: ShiftAltTab(3개의 맞춤 조합을 사용할 수 없습니다)
  3.  

    Lwin & Tab::
           if GetKeyState("Shift")
               {
               Send {ShiftAltTab}
               }
           else
               {
               Send {AltTab}
               }
    

나는 또한 각 줄 다음에 반환 줄을 사용해 보았습니다 Send. 눌러도 아무 일도 일어나지 않았습니다

  • LCmd+ Tab(== LWin+ Tab) 또는
  • LCmd+ Shift+ Tab(== LWin+ Shift+ Tab).

이를 수행하는 빠르고 간단한 방법이 있습니까? AHK는 다른 많은 Mac 키보드 동작을 모방하기 위해 조합을 수정하므로 사용하고 싶습니다.

답변1

LWin & Tab:: 
    AltTabMenu := true
    If GetKeyState("Shift","P")
        Send {Alt Down}{Shift Down}{Tab}
    else
        Send {Alt Down}{Tab}
return

#If (AltTabMenu)

    ~*LWin Up::
        Send {Shift Up}{Alt Up}
        AltTabMenu := false 
    return

#If

Windows 10에서 테스트되었습니다.

답변2

@user3419297이 제공한 답변을 더 자세히 살펴보겠습니다. 왼쪽 수정자에 대해서만 작동했기 때문입니다.

LWin & Tab:: 
RWin & Tab:: 
    AltTabMenu := true
    If GetKeyState("Shift","P")
        Send {Alt Down}{Shift Down}{Tab}
    else
        Send {Alt Down}{Tab}
return

#If (AltTabMenu)
    ~*LWin Up::
    ~*RWin Up::
        Send {Shift Up}{Alt Up}
        AltTabMenu := false 
    return
    RShift::LShift
#If

이를 통해 Win 및 Shift 수정자를 서로 바꿔서 사용할 수 있습니다.

관련 정보