From dd69a8c6f280cda99ddf7f16bddfed88394d0ca1 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 16 Apr 2019 19:45:06 +0200 Subject: [PATCH] Fix keybinding parsing for Mod+Char --- src/commands.rs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/commands.rs b/src/commands.rs index f1981ac..3b6ca18 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -362,13 +362,21 @@ impl CommandManager { if split.clone().count() == 2 { let modifier = split.next().unwrap(); let key = split.next().unwrap(); - if let Event::Key(parsed) = Self::parse_key(key) { + let parsed = Self::parse_key(key); + if let Event::Key(parsed) = parsed { match modifier { "Shift" => Some(Event::Shift(parsed)), "Alt" => Some(Event::Alt(parsed)), "Ctrl" => Some(Event::Ctrl(parsed)), _ => None, } + } else if let Event::Char(parsed) = parsed { + match modifier { + "Shift" => Some(Event::Char(parsed.to_uppercase().next().unwrap())), + "Alt" => Some(Event::AltChar(parsed)), + "Ctrl" => Some(Event::CtrlChar(parsed)), + _ => None, + } } else { None }