2016-09-24 2 views
0

Как связать несколько ключей с той же командой в AutoHotKey?Как связать несколько ключей с той же командой в AutoHotKey?

Пример: У меня есть эта команда:

spamLimit(limitTime) 
{ 
    StringReplace, key, A_ThisHotkey, $, , All 
    send %key% 
    sleep limitTime  
} 

Я хотел бы связать несколько к этой команде, с тем же значением параметра:

a::spamLimit(500) 
b::spamLimit(500) 
c::spamLimit(500) 
p::spamLimit(500) 
d::spamLimit(500) 
e::spamLimit(500) 
+1

дубликата http://stackoverflow.com/questions/37821569/can-i-list-several-keys-to-perform- the-same-action-ahk/37862093 # 37862093 – Blauhirn

+0

@Blauhirn благодарит! –

ответ

1

простейшее решение:

a:: 
b:: 
c:: 
p:: 
d:: 
e:: 
spamLimit(500) 
return 
0

Вы можете использовать Hotkey для определения горячих клавиш на лету:

; 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%, spamLimitNoParam 
}  
Return 


; This can be located anywhere in the AHK file 
spamLimitNoParam: 
spamLimit(200) 
Return 

Это эквивалентно решению Боб указал на:

$a:: 
$b:: 
$c:: 
$d:: 
$e:: 
$f:: 
$g:: 
$h:: 
$i:: 
$j:: 
$k:: 
$l:: 
$m:: 
$n:: 
$o:: 
$p:: 
$q:: 
$r:: 
$s:: 
$t:: 
$u:: 
$v:: 
$w:: 
$x:: 
$y:: 
$z:: 
$0:: 
$1:: 
$2:: 
$3:: 
$4:: 
$5:: 
$6:: 
$7:: 
$8:: 
$9:: 
spamLimit(200)