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 }