Skip to content

ZeroTrace HID

SilentTrace

Auto-switch between USB-HID and BLE-HID transports

SilentTrace is the firmware's transport selector. It detects whether the device is USB-connected, BLE-paired, or both, and routes script primitives to the right transport without operator action.

Behavior

StateTransportNotes
USB plugged into targetUSB-HIDFull feature set (keyboard + mouse + gamepad + MSC).
BLE paired, USB unpluggedBLE-HIDKeyboard + media keys only; mouse primitives no-op.
Both activeUSB-HID prefersUSB takes precedence; BLE remains paired but idle.

Switching is instant (under 10 ms) when transports go up or down — no script restart, no manual mode toggle.

What's BLE-only

The BLE side exposes the same write, writeLn, press, and delay primitives as USB. BLE-specific extras:

  • Battery service (target sees the device's battery level)
  • HID over GATT (standard BLE-HID profile, every target supports it)

What BLE can't do:

  • mouseMove, mouseAbs, mouseClick, mouseScroll, mouseJitter, mouseDraw
  • gamepad press / stick / hat
  • MSC mode

These primitives no-op silently in BLE mode and return a flag in the live execution log so you can see they were skipped.

Use cases

  • Drop a USB device, pair over BLE — operate after the cable is removed.
  • Multi-target operation — one device, several targets at different ranges.
  • Battery-backed BLE-only deployment — lowest power profile, longest unattended runtime.