AutoHotKey: reasignación de Alt+Shift+Tab a (L)Win+Shift+Tab

AutoHotKey: reasignación de Alt+Shift+Tab a (L)Win+Shift+Tab

Estoy intentando usar AutoHotKey para que Alt+ Taby Shift+ Alt+ Taben Windows tengan el mismo comportamiento que Cmd+ Taby Shift+ Cmd+ Taben macOS.

Nota: Cmden un teclado mac envía la Winclave.

Lo que me he puesto a trabajar es:

LWin & Tab:: AltTab

Lo que no he podido hacer es conseguir que LWin++ envíe ++ . He intentado:ShiftTabShiftAltTab

  1. #Shift & Tab:: ShiftAltTab(error: debe especificar L o R para # en este caso)
  2. LWin & Shift & Tab :: ShiftAltTab(No se pueden usar 3 combinaciones personalizadas)
  3.  

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

También probé con líneas de retorno después de cada Sendlínea. Tampoco pasó nada al presionar

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

¿Existe una forma rápida y sencilla de hacer esto? Quiero usar AHK ya que modifica las combinaciones para imitar muchos otros comportamientos del teclado de Mac.

Respuesta1

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

Probado en Windows 10.

Respuesta2

Llevando aún más lejos la respuesta dada por @user3419297, ya que funcionó solo para los modificadores de la izquierda:

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

Esto permite que los modificadores Win y Shift se utilicen indistintamente.

información relacionada