Skip to content

USB remote or keyboard

An input source, not a controllable device. It reads a local Linux input device (/dev/input/event*) directly on the hub and turns key presses into input.button events — so a Bluetooth remote paired to the Pi, a USB gamepad, an IR receiver that presents as a keyboard, or a plain keyboard can all drive activities.

On-host evdev only. The driver opens a local /dev/input/event* node — there is no network transport. Trait: input.source.

  • device — the input device to read (chosen with the input picker).
  • micDevice — an optional audio.in device for hold-to-talk voice.
  • grab — take the device exclusively, so its keys don’t leak to the rest of the system.
CommandWhat it does
simulateEmit a button event as if it came from the device

It emits input.button (and .up) events. The hub’s InputRouter turns each button into an action — either a direct binding to one device command, or a capability binding that routes to whichever device holds that role in the active activity. See Proxies & input for how that routing works.