Skip to contentSkip to Content

Timing

Three commands control pacing:

CommandBehavior
DELAY <ms>Pauses the whole script for the given number of milliseconds before the next instruction runs.
SET_DELAY <ms>Sets a fixed delay applied between every keystroke from that point on, until changed again.
SET_SPEED <ms|preset>Same effect as SET_DELAY, but also accepts the named presets ($Fastest, $Normal, $Human, $Random) from Values & constants.
timing.hdc
DELAY 500 REM ^ pause for 500 ms SET_DELAY 30 REM ^ 30 ms between every keystroke from here on SET_SPEED $Human REM ^ or use a named preset instead

Both DELAY and SET_DELAY / SET_SPEED accept whole-millisecond values from 0 up to roughly 4.29 billion (about 49 days) — in practice, real payloads stay well under a few seconds per DELAY.

Per-keystroke pacing has a floor of 7 ms. Anything set lower than that is rejected at compile time.

Last updated on