Limitations & Gotchas
The silent-failure behaviours and built-in caps to know before you write a ZeroTrace payload.
ZeroTrace Script favours running whatever it can over stopping on a mistake. That makes payloads robust, but it means several kinds of error fail quietly rather than announcing themselves. Knowing these ahead of time saves a lot of "why did that line do nothing" debugging.
Silent failures
- Wrong argument count
- A line with too few or too many arguments is skipped silently at runtime. Validate in the app before uploading.
- Unknown key name
- A key name that is not in the recognised list becomes nothing and is dropped, so e.g. ctrl+alt+del sends only Ctrl+Alt (use delete, not del).
- Unrecognised keyboard layout
- A misspelled or unsupported layout falls back to US English silently, typing the wrong characters on a non-US host.
- Nested blocks
- Only one block is tracked at a time; a block opened inside another replaces it, and the outer end marker never matches. Keep blocks flat.
- waitFor with no timeout
- Blocks until the host toggles a lock light. With no timeout it can wait forever, always give a timeout unless you mean to wait indefinitely.
Built-in caps
- delay
- Capped at 3,600,000 ms (one hour).
- bruteForce
- Capped at 1,000,000 combinations.
- ledBlink
- Blink delay clamped to 5,000 ms; count clamped to 100.
- waitForButton
- Needs a board that actually has a button.
Feature availability by hardware
- Storage mode (presenting a drive to the host) needs a memory card. The Dongle has none, so it behaves as a pure HID device.
- A screen exists only on select full-board variants.
waitForButtonneeds a board with a button.