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
_@detectedOSas 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.