Code: Select all
Menu, Tray, Icon, AutoHotkey.exe, 4
keys := [["1", 1000], ["2", 2000]]
timers := []
F1::
{
toggle := !toggle
if (toggle) {
for index, value in keys {
send % value[1]
timers.Push(set_interval("key_emitter", value[1], value[2]))
}
Menu, Tray, Icon, AutoHotkey.exe, 1
} else {
for index, value in timers {
rm_interval(value)
}
timers := []
Menu, Tray, Icon, AutoHotkey.exe, 4
}
return
}
set_interval(fn, param, interval) {
fn_obj := Func(fn).Bind(param)
SetTimer % fn_obj, % interval
return fn_obj
}
rm_interval(fn_obj) {
SetTimer % fn_obj, Delete
}
key_emitter(key) {
send % key
}