Autohotkey 我可以列出几个键来执行相同的操作吗?[啊哈]

Autohotkey 我可以列出几个键来执行相同的操作吗?[啊哈],autohotkey,Autohotkey,AHK允许绑定键,即usa::zt在按下“a”时触发“z”。 如果我想在按下“a”、“b”或“c”时启动“z”,该怎么办 我显然可以重复我的代码: a::z b::z c::z 我可能会用一个像Gosub这样的 a::Gosub, abc b::Gosub, abc c::Gosub, abc abc: send z return 有没有更好的方式来表达“如果a、b或c被按下-发射z”?您可以直接使用 a:: b:: c::z 我不确定什么是确切的Syntax,但它可以工作

AHK允许绑定键,即us
a::z
t在按下“a”时触发“z”。 如果我想在按下“a”、“b”或“c”时启动“z”,该怎么办

我显然可以重复我的代码:

  a::z
  b::z
  c::z 
我可能会用一个像Gosub这样的

a::Gosub, abc
b::Gosub, abc
c::Gosub, abc

abc:
send z
return
有没有更好的方式来表达“如果a、b或c被按下-发射z”?

您可以直接使用

a::
b::
c::z

我不确定什么是确切的Syntax,但它可以工作。

我们在codegolf.stackexchange.com,对吗

JFF,下面使用命令将A-Y分配给Z,只需61个字符:

循环,25
热键%chr(a_索引+64),z
返回
z(){
发送z
}
另一种解决方案,用于动态定义热键,并
解析
,以便用户可以直接指定键列表:

; Thanks engunneer: autohotkey.com/board/topic/45636-script-to-prevent-double-typing/?p=284048
; Thanks throwaway_ye: https://www.reddit.com/r/AutoHotkey/comments/54g40q/how_can_i_bind_several_keys_to_the_same_command/d81j0we

; The following part must be located in the auto-execute section, 
; i.e. the top part of the AHK script.

keylist = 1234567890qwertzuiopasdfghjklyxcvbnm

Loop, parse, keylist
{
  Hotkey, $%A_LoopField%, SendGivenKey
}    
Return


; This can be located anywhere in the AHK file
SendGivenKey:
StringReplace, key, A_ThisHotkey, $, , All
send %key%
Return