Code: Select all
#Requires AutoHotkey v2+
#SingleInstance Force
F1 Up:: HandleMultiplePresses(["F3", "SayGo", "SayFight", "SayWin"])
^F1:: HandleMultiplePresses(["SayGo", "SayFight", "SayWin"])
F2:: HandleMultiplePresses(["SayWin", "SayGo"])
$F3:: HandleMultiplePresses(["F3", "SayFight", "SayWin", "",, "SayGo"])
SayGo() {
MsgBox A_ThisHotkey " says Go!"
}
SayFight() {
MsgBox A_ThisHotkey " says Fight!"
}
SayWin() {
MsgBox A_ThisHotkey " says Win!"
}
F3() {
Send "{F3}"
}
HandleMultiplePresses(mp) {
While (A_Index>1? "": (RegExMatch(A_ThisHotkey, "i)(?:[~#!<>\*\+\^\$]*([^ ]+)( UP)?)$", &Key), count:= key.2? 1: 0), KeyWait(Key.1, "D T.3"))
count++, KeyWait(Key.1)
mp.Has(count) && mp[count]? %mp[count]%(): ""
}
^Esc:: ExitApp