尝试在AutoHotKey的帮助下配置组合键 Alt + Tab 在Firefox中表现为tab switcher:
#IfWinActive Showcase
LAlt & Tab::Send {tab}
GetKeyState, state, LAlt
if state = U
Send {enter}
基本上,这会阻止 Alt + Tab 打开Windows的普通窗口切换器,并在按下 Tab 时循环打开选项卡。但是,由于我正在尝试模拟Windows'窗口切换器的行为,我还想要调出 - Send {enter}
- Left Alt 发布时最后选择的选项卡。而我似乎无法完成,因为GetKeyState
只是不会回应,即使state
变为U
。在这种情况下如何检测密钥释放?
添加:
所以我最终得到了以下代码,主要部分完成了我想要的代码:
#IfWinActive ahk_exe firefox.exe ; Alt+Tab to Windows
LAlt & tab::
Send {F10} ; F10 brings up Showcase in my FF installation
WinWaitActive Showcase
GetKeyState, state, LAlt, P
if state = U
WinClose Showcase
IfWinNotActive Showcase
Send {LWin}
#IfWinActive Showcase ; Alt+Tab over Firefox’s tabs
LAlt & tab::
Send {tab}
SetTimer, choice, -50
return
choice: ; Thanks, @user3419297!
KeyWait, LAlt, P
IfWinActive Showcase
Send {LAlt up} {space}
return
#IfWinActive ahk_exe firefox.exe ; Win+Tab over Firefox’s tabs
LWin::F10
#IfWinActive Showcase ; Win+Tab to Windows
tab::return
LWin & tab::
WinClose Showcase
WinWaitClose Showcase
WinMinimize ahk_exe firefox.exe
Send {LWin down} {tab} {LWin up}
return
ExitApp
这实际上模拟了 Alt +& Firefox中的 Win + Tab 行为,我通常在全屏模式下使用:
由于之前我不知道任何AutoHotKey,回头看这可能是一个有点过分的任务。然而,这确实迫使我实际学习如何在AHK中编程,同时粉碎了我的整体编程技巧。为此,这一直很好。我经常发现自己在Firefox中本能地推送 Alt + Tab 来循环切换标签,就像用Windows一样,只是提醒一下这实际上只适用于Windows中的Windows 。直到最近,那是:)
答案 0 :(得分:1)
#IfWinActive Showcase
LAlt & Tab::
Send {Tab}
SetTimer Send_Enter, -50
return
#IfWinActive ; turn off context sensitivity
Send_Enter:
KeyWait, LAlt, L
Send {Alt Up}{Enter}
return