2016-06-14 1 views
3

AHKはキーをバインドすることができます。つまり、 'a'を押すたびにa::zが 'z'を実行します。 'a'、 'b'、または 'c'を押すたびに 'z'を発射したい場合はどうすればいいですか?同じアクションを実行するために複数のキーを表示できますか? [AHK]

私は明らかに私のコードを繰り返すことができます:私はおそらく

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

abc: 
send z 
return 

ようGOSUBを使用することができます

a::z 
    b::z 
    c::z 

は、BまたはCを押した場合」と言うには良い方法はあります - 火災z "?

答えて

1

あなたはちょうど私が正確なsynthax何であるかわからない

a:: 
b:: 
c::z 

使用することができますが、これは動作します。

1

私たちはcodegolf.stackexchange.comにいます。その結果

loop,25 
    hotkey,% chr(a_index+64),z 
return 
z(){ 
    send z 
} 
+0

この解決策は私の心の中でより良いです。 – sixtytrees

0

オンザフライでホットキーを定義するHotkeyを使用して別の溶液、及びparseHotkeyコマンドを使用して、ちょうど61文字でZにY -

JFF、ここでを割り当てるいユーザーは直接キーのリストを指定することができます:

; 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 
関連する問題