Conversation
…yboard keys Adds ButtonId::KeyHome/KeyAppSwitch/KeyMenu/KeyBack for the 0x1b04 MultiPlatform Home/App Switch/Menu/Back task family (CIDs 0x00bb, 0x00ba, 0x00bc, 0x00bd), matched against reporter's 'openlogi diag controls' output on the K380 (F4-F7). These CIDs were divertable but had no ButtonId, so they never appeared as rebindable keys. Fixes AprilNEA#1010
|
| pub const KEYBOARD_KEYS: [ButtonId; 13] = [ | ||
| ButtonId::KeyHome, | ||
| ButtonId::KeyAppSwitch, | ||
| ButtonId::KeyMenu, | ||
| ButtonId::KeyBack, |
There was a problem hiding this comment.
Remapping UI remains disconnected
Adding these variants to KEYBOARD_KEYS does not expose them in the keyboard remapper. The UI still creates global KeyTrigger bindings for fixed F4–F7 keycodes, while the HID++ capture path looks for the new ButtonId values in the selected device's per-device bindings. As a result, selecting F4–F7 in the UI never adds KeyHome, KeyAppSwitch, KeyMenu, or KeyBack to the capture map, so users cannot configure these new K380 controls through the advertised remapping UI.
Knowledge Base Used: Core domain and configuration
Summary
0x1b04MultiPlatform Home/App Switch/Menu/Back task family and were previously invisible to OpenLogi's binding system.Changes
crates/openlogi-core/src/binding/button.rs: addedButtonId::KeyHome,KeyAppSwitch,KeyMenu,KeyBack(appended at the end of the enum per its append-only wire contract), withlabel()/translation_key()arms and entries inKEYBOARD_KEYS.crates/openlogi-core/src/binding/defaults.rs: added the four new variants to the existing native-passthrough (Action::None) default arm alongside the other keyboard keys.crates/openlogi-device/src/session/keyboard.rs: added the four new CID →ButtonIdentries toKEYBOARD_KEY_CIDS(0x00bb→ Home,0x00ba→ App Switch,0x00bc→ Menu,0x00bd→ Back), matching the task IDs in the officialx1b04_tasks_ids_list(0x97,0x96,0x98,0x99).crates/openlogi-ui/locales/*.toml(all 23 locales): addedkeyboard.home_key,keyboard.app_switch_key,keyboard.menu_key,keyboard.back_keywith translated values.Testing
cargo check --workspacecargo fmt --all -- --checkcargo clippy --workspace --all-targets -- -D warningscargo test --workspaceRUSTDOCFLAGS="-D warnings" cargo doc --workspace --no-deps --document-private-items --exclude openlogi-ui --exclude openlogi-desktop --exclude openlogi-overlay --exclude openlogi-agentcargo test -p openlogi-ui locale(catalog parity)cargo test -p openlogi-desktop i18n(typed translation key resolution)openlogi diag controlsoutput on issue [Device]: K380 action buttons (F4-F7) could not be remapped #1010 and against the officialx1b04_tasks_ids_list, but real-hardware verification of the F4-F7 remap behavior is still the maintainer's/reporter's job.Fixes #1010