Autohotkey多个热键映射到相同的功能

时间:2014-02-17 16:49:43

标签: autohotkey

我有几个热键都做同样的事情,我有倍数所以我可以在我的双手碰巧在任何地方打电话给他们,并且可以在多个键盘上使用,例如:

#]::Send {Media_Next}
XButton2 & RButton::Send {Media_Next}
SC15D & ]::Send {Media_Next}

有没有办法将这些东西组合成一行,而不必在整个地方重复自己?

1 个答案:

答案 0 :(得分:2)

一行中的多个热键定义无法完成,至少没有真正的黑客攻击 不过,有一些方法可以简化您的脚本:

方法1:“Trickling hotkeys”

这是为多个热键分配相同功能的最简单,最直接的方法。它只需将热键一个接一个地写在另一个下面,只分配最后一个热键一个或几个命令:

#]::
XButton2 & RButton::
SC15D & ]::Send {Media_Next}

方法2:动态热键创建

使用Hotkey命令,可以在运行时为热键分配标签。这意味着,它们可以在循环中使用:

for i, keyName in ["#]", "XButton2 & RButton", "SC15D & ]"]
    Hotkey, % keyName, SendMediaNext

Exit

SendMediaNext: 
    Send {Media_Next}
return

在运行时创建的热键不如硬编码热键高效,但在大多数情况下,您不会注意到差异。我仍然会使用方法1,因为它更具可读性。