Repository navigation
First packaged release.
Install
sudo apt install ./usb-button-remap_1.0.0.debPulls in keyd, python3-pyqt6, python3-evdev, polkitd.
What's in the box
usb-button-remap— PyQt6 GUI. Scans/dev/input/*, scores each device by "is-this-a-simple-button" heuristic (key count, no mouse/tablet axes, no LEDs), optional xev-style press-to-detect, chooses target (F13 / Ctrl+Alt+Space / custom keyd expression), applies via keyd.usb-button-apply <target> [--device VID:PID] [--source-key KEY]— CLI apply.usb-button-toggle— flip between F13 and Ctrl+Alt+Space.- System config at
/etc/usb-button-remap/env, keyd config at/etc/keyd/usb-button.conf.
Why keyd (vs input-remapper)
keyd is a small C daemon that grabs the physical device at evdev and emits via uinput, running as a system service from boot — mappings are live at the TTY and login screen, not just after user login. See docs/rationale.md in the repo for details.
Target use case
A cheap AliExpress single-button USB HID puck (default VID:PID 5131:2019, default source key KEY_2) used as a transcription trigger. If your device differs, the GUI or --device / --source-key args handle it.