Fix keybinding parsing for Mod+Char

This commit is contained in:
KoffeinFlummi
2019-04-16 19:45:06 +02:00
parent 0bbba3c57d
commit dd69a8c6f2

View File

@@ -362,13 +362,21 @@ impl CommandManager {
if split.clone().count() == 2 { if split.clone().count() == 2 {
let modifier = split.next().unwrap(); let modifier = split.next().unwrap();
let key = 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 { match modifier {
"Shift" => Some(Event::Shift(parsed)), "Shift" => Some(Event::Shift(parsed)),
"Alt" => Some(Event::Alt(parsed)), "Alt" => Some(Event::Alt(parsed)),
"Ctrl" => Some(Event::Ctrl(parsed)), "Ctrl" => Some(Event::Ctrl(parsed)),
_ => None, _ => 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 { } else {
None None
} }