Hi,
I am trying to get a script that has 2 separate macros (if possible. If not, then 2 separate scripts). I've tried to find examples and modify, but nothing seems to work.
When F3 is pressed I would like the script to press Ctrl1, delay 200ms, press enter, delay 200ms and then repeat until I press F3 to stop.
When F2 is pressed, script will press Ctrl2, delay 200ms, press enter, delay 200ms and then repeat until I press F2 to stop.
Keypress loop
Re: Keypress loop
Welcome to this AutoHotkey forum!
Code: Select all
SetKeyDelay, 200
F2::SetTimer, F2 Up, % (f2 := !f2) ? 5 : "Off"
F2 Up::Send % ["^2`n"][f2]
F3::SetTimer, F3 Up, % (f3 := !f3) ? 5 : "Off"
F3 Up::Send % ["^1`n"][f3]
Re: Keypress loop
Sorry for the doublepost.
From my understanding SetKeyDelay is setting 200ms between all keypresses. What would the script be if different timers needed to be set between each key press?
Excample
When F2 is pressed, script will press Ctrl2, delay 350ms, press enter, delay 500ms and then repeat until I press F2 to stop?
When F3 is pressed I would like the script to press Ctrl1, delay 450ms, press enter, delay 600ms and then repeat until I press F3 to stop.
From my understanding SetKeyDelay is setting 200ms between all keypresses. What would the script be if different timers needed to be set between each key press?
Excample
When F2 is pressed, script will press Ctrl2, delay 350ms, press enter, delay 500ms and then repeat until I press F2 to stop?
When F3 is pressed I would like the script to press Ctrl1, delay 450ms, press enter, delay 600ms and then repeat until I press F3 to stop.
Re: Keypress loop
An alternative:
Or:
Code: Select all
#MaxThreadsPerHotkey 2
F2::
on := !on
While on {
Send ^2
Sleep, 340 * on
If on
Send {Enter}
Sleep, 490 * on
}
Return
Code: Select all
#MaxThreadsPerHotkey 2
F2::
SetKeyDelay, 350
on := !on
While on {
Send ^2`n
Sleep, 150 * on
}
Return