Win%2BShift%2BTab.png)
Я пытаюсь использовать AutoHotKey, чтобы заставить Alt+ Tabи Shift+ Alt+ Tabв Windows вести себя так же, как Cmd+ Tabи Shift+ Cmd+ Tabв macOS.
Примечание: Cmdна Mac клавиатура отправляет Winклавишу.
Вот что мне удалось сделать:
LWin & Tab:: AltTab
Чего я не смог сделать, так это заставить LWin+ Shift+ Tabотправить Shift+ Alt+ Tab. Я пробовал:
#Shift & Tab:: ShiftAltTab
(ошибка: в этом случае необходимо указать L или R для #)LWin & Shift & Tab :: ShiftAltTab
(Невозможно использовать 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 взаимозаменяемо.