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 {
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
}