Skip to content

ZeroTrace HID

Multi-Language Keyboard Support

19 keyboard layouts for accurate special-character output

Keystrokes are sent as scancodes; the target OS maps each scancode to a character through its active keyboard layout. When the layouts don't match, special characters break — @ becomes ", / becomes -, and so on. ZeroTrace ships 19 named layouts so you can match the target.

Set the layout

Globally in the mobile app's settings, or per-script (names are case-sensitive):

keyboardLayout 'German'
writeLn 'user@example.com'

Supported layouts

Pass one of these exact names to keyboardLayout:

German          SwissGerman     English_UK      French
Spanish         Portuguese      Portuguese_BR   Italian
Danish          Swedish         Turkish         Chinese
Japanese        Korean          Russian         Arabic
Hindi           Polish          Dutch

There is no English layout. Any unrecognized name — including English — falls back to US English, which is also the firmware default. English_UK is the UK variant. Changing layout briefly re-initializes the keyboard endpoint, so avoid switching mid-burst.

Detecting the target layout

There's no reliable way to read the host's active layout over HID. Practical strategies:

  • Pre-engagement intel — check the host's region settings beforehand.
  • Universal-character payloads — stick to ASCII letters and digits; avoid @, #, !, /, \.
  • Branch on OS — pick a layout from _@detectedOS as a rough heuristic (OS does not determine layout, so treat it as a guess).

When in doubt, validate against an image of the target before deployment.

Command Palette

Search for a command to run...