Skip to content

ZeroTrace HID

Multi-Language Keyboard Support

18+ keyboard layouts for accurate special-character output

Keystrokes are sent as scancodes; the target OS maps scancodes to characters using its keyboard layout. If the layouts don't match, special characters break — @ becomes ", / becomes -, ! becomes é.

ZeroTrace ships with 18+ layouts so you can match the target.

Set the layout

Globally in Settings → Keyboard Layout, or per-script:

layout "us"
writeLn "user@example.com"

Supported layouts

us, uk, de (German), fr (French/AZERTY), es (Spanish), it, pt, nl, dk, no, se, fi, ch-de, ch-fr, pl, cz, hu, ru, tr, jp, kr — verify in the Settings panel for the exact list in your firmware build.

Detecting target layout

There's no reliable way to read the host's layout over HID. Strategies:

  • Pre-engagement intel — check the host's region settings beforehand.
  • Universal-character payloads — stick to ASCII letters and digits, avoid @, #, !, /, \.
  • Script branching — pick layout per _@detectedOS (rough heuristic, not guaranteed).

When in doubt, write the payload twice with two layouts and use the first variant whose echo matches the input.