Keystroke Tokens
Send real key presses and timed pauses inside a TXT expansion — without a separate KEY step.

Tokens inside {curly braces} in a TXT step are not typed as text — they send the corresponding keystroke or perform a special action. Use them to tab through form fields, press Enter to confirm, or insert dynamic content mid-expansion.
Navigation and editing keys
| Token | Key sent |
|---|---|
{TAB} |
Tab |
{ENTER} |
Enter / Return |
{ESC} |
Escape |
{BACKSPACE} |
Backspace |
{DELETE} |
Delete |
{INSERT} |
Insert |
{HOME} |
Home |
{END} |
End |
{PGUP} |
Page Up |
{PGDN} |
Page Down |
{UP} |
Arrow Up |
{DOWN} |
Arrow Down |
{LEFT} |
Arrow Left |
{RIGHT} |
Arrow Right |
Function keys
{F1} through {F12} — sends the corresponding function key.
Timing tokens
| Token | Effect |
|---|---|
{DELAY:N} |
Pause N milliseconds before continuing |
{DELAY:N,"text"} |
Type the quoted text at N ms per character (slow-type) |
{WAIT:N} |
Alias for {DELAY:N} — absolute pause only (no inline text variant) |
{RDELAY:LO-HI} |
Pause a random number of milliseconds between LO and HI |
{RDELAY:LO-HI,"text"} |
Type the quoted text at a random per-character speed between LO and HI ms |
{RWAIT:LO-HI} |
Alias for {RDELAY:LO-HI} — pairs naturally with the WAIT/DELAY naming |
{SPEED:N} |
Set per-character delay to N ms for all plain text that follows in this step |
{SETTLE:N} |
Set post-action settle delay to N ms for all tokens that follow in this step; {SETTLE:0} disables |
Random delays (RDELAY, RWAIT) mimic human-like rhythm — useful to bypass naive bot detection in fragile web forms, or to feel less robotic when the expansion is watched.
Tip: you can abort a running trigger with ESC at any time — the in-flight workflow interrupts at the next ~50 ms check.
Settle delay — what it is and why you (rarely) want to change it
After every keystroke-producing token (paste, typed text, or a named key like {TAB}), Blue Synergy waits a short moment before continuing to the next token. This is the settle delay: it gives the target application time to actually process what was just sent. Without it, a {TAB} can race ahead of a preceding paste and land your text in the next field by mistake, or a {DELAY:1000} can start counting before the {TAB} has actually moved focus.
Defaults (no configuration needed):
| After | Settle |
|---|---|
| Text paste (Ctrl+V) | 80 ms |
| Typed text (char-by-char) | 20 ms |
Named key ({TAB}, {ENTER}, {F2}, …) |
20 ms |
{DELAY:N} / {RDELAY:LO-HI} |
— (the delay is the wait) |
These defaults are tuned for typical desktop apps and most users never need to change them. Use {SETTLE:N} only when the target demands it:
{SETTLE:0}— target is fast and you want maximum throughput (e.g. Notepad, plain text editors). Accepts the old race behaviour in exchange for speed.{SETTLE:200}or higher — target has a laggy paste-handler (some React forms, cloud IDE editors, remote desktop sessions). Use when values keep landing in wrong fields.
{SETTLE:N} applies from its position in the step onwards; set it once at the top of the step, or change it mid-step if only part of the workflow needs a different value.
Try it live
The Trigger Playground is a self-contained test page with five inputs, gated autocomplete, keystroke blocking, and a configurable laggy-form simulator — the exact pattern that makes settle delays matter. Open it in a browser, focus the first field, and fire your trigger; you will see in the event log whether values drift into the wrong field or land cleanly. Useful suggested triggers are listed on the page itself.
Dynamic content tokens
Clipboard
| Token | Inserts |
|---|---|
{clip:last} |
Most recent clipboard item |
{clip:-1} |
Most recent clipboard item (same as last) |
{clip:-2} |
Second most recent clipboard item |
{clip:-N} |
Nth most recent clipboard item |
{clip:N} |
Clipboard item with absolute nr = N |
Date and time
| Token | Inserts |
|---|---|
{date} |
Current date (locale default, 2026-04-20) |
{time} |
Current time (locale default, 17:30:45) |
{datetime} |
Full date + time (2026-04-20 17:30:45) |
{date:FMT} |
Current date with custom format — see below |
{time:FMT} |
Current time with custom format |
{datetime:FMT} |
Full timestamp with custom format |
Format tokens
Blue Synergy accepts both friendly tokens and strftime patterns in a single format string:
| Friendly | strftime | Meaning |
|---|---|---|
YYYY |
%Y |
4-digit year |
YY |
%y |
2-digit year |
MM |
%m |
Month (01–12) |
DD |
%d |
Day of month (01–31) |
HH |
%H |
Hour (00–23) |
mm |
%M |
Minute (00–59) |
ss |
%S |
Second (00–59) |
Examples:
{date:YYYY-MM-DD}→2026-04-20{time:HH:mm}→17:30{datetime:%A %d %B %Y — HH:mm}→Monday 20 April 2026 — 17:30
Time / date rounding
Round a timestamp to a coarser granularity (e.g. snap to the nearest 15 minutes):
| Token | Behaviour |
|---|---|
{time:round:Nm} |
Round time to the nearest N minutes |
{time:round:Nm:up} |
Always round up to the next N-minute tick |
{time:round:Nm:down} |
Always round down |
{time:round:Nh} |
Round to the nearest N hours |
{date:round:…} |
Same grammar, applied to the date component |
Useful for timesheets, meeting notes, or any workflow where you type the “current time” but want it quantised to 5 / 10 / 15 / 30 minutes.
Example — Excel timesheet row ending with a rounded start time:
{clip:-3}{TAB}{clip:-2}{TAB}{clip:-1}{TAB}{time:round:15m:down}{TAB}
How to insert tokens
Type them directly in the TXT step editor, or use the token toolbar above the editor — buttons for common tokens like {TAB}, {ENTER}, {DELAY:N}, {date}, {clip:-1}, and more.
Example: fill a form
First name{TAB}Last name{TAB}email@example.com{TAB}{ENTER}
This types the three values, tabbing between fields, then presses Enter to submit.
Example: slow-type a password hint
Hint: {DELAY:80,"correct horse battery staple"}
Types the hint text at 80 ms per character — useful for apps that don’t handle pasted text well.
Tips & gotchas
- Token names are case-insensitive —
{tab},{TAB}, and{Tab}all work. - Unknown token names (e.g.
{typo}) are passed through as literal text. {clip:-N}fetches from the in-memory clip cache — if you deleted the clip, the token inserts an empty string.- Tokens work in both Paste and Type typing modes.
See also
- Typing Mode — Paste vs. char-by-char insertion,
{DELAY}and{SPEED}details - Triggers Overview — step types and how the engine works