Fix keybinding parsing for Mod+Char
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user