Keypress loop

Ask gaming related questions (AHK v1.1 and older)
Var01
Posts: 3
Joined: 27 Nov 2022, 11:25

Keypress loop

Post by Var01 » 27 Nov 2022, 11:33

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.

User avatar
mikeyww
Posts: 26945
Joined: 09 Sep 2014, 18:38

Re: Keypress loop

Post by mikeyww » 27 Nov 2022, 14:02

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]

Var01
Posts: 3
Joined: 27 Nov 2022, 11:25

Re: Keypress loop

Post by Var01 » 27 Nov 2022, 16:03

@mikeyww You're the best!

Var01
Posts: 3
Joined: 27 Nov 2022, 11:25

Re: Keypress loop

Post by Var01 » 27 Nov 2022, 16:17

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.

User avatar
mikeyww
Posts: 26945
Joined: 09 Sep 2014, 18:38

Re: Keypress loop

Post by mikeyww » 27 Nov 2022, 17:52

An alternative:

Code: Select all

#MaxThreadsPerHotkey 2
F2::
on := !on
While on {
 Send ^2
 Sleep, 340 * on
 If on
  Send {Enter}
 Sleep, 490 * on
}
Return
Or:

Code: Select all

#MaxThreadsPerHotkey 2
F2::
SetKeyDelay, 350
on := !on
While on {
 Send ^2`n
 Sleep, 150 * on
}
Return

Post Reply

Return to “Gaming Help (v1)”