如何在 AutoHotKey 中将 Tab 重新映射为 Win 键,以使其具有 Tab 和 Win 修饰符两个功能?

如何在 AutoHotKey 中将 Tab 重新映射为 Win 键,以使其具有 Tab 和 Win 修饰符两个功能?

我想以这样的方式重新映射 Tab 键:

  1. 按下 Tab 键时,其行为如同 Windows(超级)键等待其他键(例如 m 或 t)并执行某些操作(例如最大化窗口)(例如 WIN+m、WIN+t)。它会等待,并且 Tab 重复被阻止。
  2. 单独按下 Tab 键,无需额外按键,Tab 键的行为与普通 Tab 键相同(一个 Tab 字符)

如何编写这样的 AutoHotKey 脚本?

$Tab:: 
Send, {LWinDown}
KeyWait, Tab
if ( A_PriorKey = "LWinUp")
    Send, {LWinUp}          
else
    Send, {Tab}         
return

目前我有这样一个通用的解决方案但它仍然重复Tab。

答案1

由于Alt Tab 的类似问题Autohotkey 文档中描述。我决定使用 SharpKeys 软件(Windows 注册表修改)将 Win 键重新映射到 Tab 键,然后应用 ahk 脚本

$LWin::
    KeyWait LWin, T0.15
    If !ErrorLevel ; if you hold the LWin key for less than 200 miliseconds...
        Send {Tab}
    Else ; but if it is held for more than that...
        Send {LWin Down} ; ...hold LWin down
    KeyWait LWin ; and, in both cases, wait for it to be released
    Send, {LWin Up}
Return

与直接使用 ahk 编写 Tab 键脚本相比,它是一种更稳定、更通用的解决方案: 相关答案: Win Up 键作为 Tab 键代替 Windows 菜单1

相关内容