# RB-12 MAJOR: hotkey device filtering hard-codes KEY_A / KEY_R **Severity:** MAJOR **Path:** `crates/hotkey/src/linux.rs:236-241` **Source:** [2026-04-22 code review](../code-review-2026-04-22.md) **Labels:** release-blocker, major, hotkey, correctness ## Problem `try_attach_device` claims to check whether an input device supports the configured hotkey's key, but the implementation tests for hard-coded `KEY_A` or `KEY_R` instead of consulting the actual `HotkeyCombo` that was configured. Hotkeys bound to any other key (which is most of them) can be silently skipped even when the device supports them. This is a correctness bug in a user-facing feature. A user who binds Kon to `Ctrl+Shift+D` and sees "no hotkey fires" has no obvious path to diagnose it. ## Acceptance - Device attachment consults the actual configured `HotkeyCombo.trigger` key code. - Regression test: `try_attach_device` called with a mock device that supports `KEY_D` attaches when the configured hotkey's trigger is `D`, does not attach when the trigger is a key the device doesn't support. - Manual verification: bind `Ctrl+Shift+D` in Settings, confirm it fires in a running Kon. ## Fix scope Small. Replace the hard-coded constants with a lookup from the passed-in `HotkeyCombo`. ## Dependencies - None — standalone fix.