AutoHotKey: remapeando Alt+Shift+Tab para (L)Win+Shift+Tab

AutoHotKey: remapeando Alt+Shift+Tab para (L)Win+Shift+Tab

Estou tentando usar o AutoHotKey para que Alt+ Tabe Shift+ Alt+ Tabno Windows tenham o mesmo comportamento que Cmd+ Tabe Shift+ Cmd+ Tabno macOS.

Nota: Cmdem um teclado mac envia a Winchave.

O que comecei a trabalhar é:

LWin & Tab:: AltTab

O que não consegui fazer é fazer com que LWin+ Shift+ Tabenvie Shift+ Alt+ Tab. Eu tentei:

  1. #Shift & Tab:: ShiftAltTab(erro: deve especificar L ou R para # neste caso)
  2. LWin & Shift & Tab :: ShiftAltTab(Não é possível usar 3 combinações personalizadas)
  3.  

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

Também tentei linhas de retorno após cada Sendlinha. Nada aconteceu ao pressionar também

  • LCmd+ Tab(== LWin+ Tab) ou
  • LCmd+ Shift+ Tab(== LWin+ Shift+ Tab).

Existe uma maneira rápida e simples de fazer isso? Quero usar o AHK, pois ele modifica as combinações para imitar muitos outros comportamentos do teclado do Mac.

Responder1

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

Testado no Windows 10.

Responder2

Levando ainda mais longe a resposta dada por @user3419297, já que funcionou apenas para os modificadores esquerdos:

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

Isso permite que os modificadores Win e Shift sejam usados ​​de forma intercambiável.

informação relacionada