From 803505113bd02e025baf0ada4c7b7edab648734d Mon Sep 17 00:00:00 2001 From: Mae PUGIN <48982737+mornepousse@users.noreply.github.com> Date: Tue, 7 Apr 2026 11:15:30 +0200 Subject: [PATCH] fix: Show modifiers in KO list (Shift+H -> Del) KO list now displays modifier names alongside key names: - "Shift+H" instead of just "H" - Uses mod_name() to decode the bitmask Co-Authored-By: Claude Opus 4.6 (1M context) --- src/main.rs | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 3cf06b5..9af2c6c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1577,10 +1577,24 @@ fn main() { "ko" => { let ko_data = logic::parsers::parse_ko_lines(&lines); let model: Vec = ko_data.iter().enumerate().map(|(i, ko)| { + let trig_key = keycode::hid_key_name(ko[0]); + let trig_mod = keycode::mod_name(ko[1]); + let res_key = keycode::hid_key_name(ko[2]); + let res_mod = keycode::mod_name(ko[3]); + let trigger = if ko[1] != 0 { + format!("{}+{}", trig_mod, trig_key) + } else { + trig_key + }; + let result = if ko[3] != 0 { + format!("{}+{}", res_mod, res_key) + } else { + res_key + }; KeyOverrideData { index: i as i32, - trigger: SharedString::from(keycode::hid_key_name(ko[0])), - result: SharedString::from(keycode::hid_key_name(ko[2])), + trigger: SharedString::from(trigger), + result: SharedString::from(result), } }).collect(); window.global::().set_key_overrides(