Keyboard hotplug detection
Keyboards plugged in after the service starts — USB hubs, docking stations, Bluetooth reconnects — are now detected and grabbed automatically without a service restart.
Hotplug is opt-in via the new keyboard_device_names allowlist. This is intentional: the same broad capability filter that makes hotplug useful can also grab mice and media controllers that report keyboard-like keys (Logitech MX series, macro pads, etc.). Listing your keyboards by name is the explicit signal that auto-grab is safe.
"keyboard_device_names": ["Your Keyboard Name", "Another Keyboard"]When the allowlist is unset, behaviour is unchanged from previous releases.
Keyboard allowlist and improved keyboard list output
hyprwhspr keyboard list now shows:
- [ALLOWED] — devices on your allowlist
- [VIRTUAL] — virtual/UInput nodes (ydotoold, hyprwhspr's own virtual keyboard) so you don't accidentally allowlist them
- A ready-to-paste snippet suggesting the allowlist when no selection is configured, including a note that setting it enables hotplug
Devices the running service has already grabbed are no longer hidden from keyboard list output.
Fixes
- Devices that fail to grab no longer block subsequent hotplug events
- Self-grab prevention: hyprwhspr's own UInput virtual keyboard is skipped during discovery and hotplug to prevent input
feedback loops
Big thanks to @mmacpherson for the PR.
PRs
- feat: opt-in keyboard hotplug via keyboard_device_names allowlist by @mmacpherson in #165
- chore(deps): bump astro from 6.1.2 to 6.1.6 in /website by @dependabot[bot] in #166
Full Changelog: v1.27.0...v1.28.0