1
1
mirror of https://github.com/wez/wezterm.git synced 2024-09-21 19:58:15 +03:00

fix Option key combinations on macos

61c52af491 accidentally broke key
assignments that included ALT on macOS (and perhaps others?) because
LEFT_ALT or RIGHT_ALT were also now being passed through to the
keymap lookup, preventing a direct match.
This commit is contained in:
Wez Furlong 2020-12-21 22:09:34 -08:00
parent 2991d92c52
commit 3d37b4a956

View File

@ -484,11 +484,19 @@ impl InputMap {
None
}
fn remove_positional_alt(mods: Modifiers) -> Modifiers {
mods - (Modifiers::LEFT_ALT | Modifiers::RIGHT_ALT)
}
pub fn lookup_key(&self, key: &KeyCode, mods: Modifiers) -> Option<KeyAssignment> {
self.keys.get(&key.normalize_shift(mods)).cloned()
self.keys
.get(&key.normalize_shift(Self::remove_positional_alt(mods)))
.cloned()
}
pub fn lookup_mouse(&self, event: MouseEventTrigger, mods: Modifiers) -> Option<KeyAssignment> {
self.mouse.get(&(event, mods)).cloned()
self.mouse
.get(&(event, Self::remove_positional_alt(mods)))
.cloned()
}
}