diff --git a/crates/gpui/src/platform/linux/keyboard.rs b/crates/gpui/src/platform/linux/keyboard.rs index 6b72288b768a547314475c97ae2907c57b1e5b7d..b1939ba691fd687205f85b61d02024a9b95f3629 100644 --- a/crates/gpui/src/platform/linux/keyboard.rs +++ b/crates/gpui/src/platform/linux/keyboard.rs @@ -94,11 +94,14 @@ impl LinuxKeyboardMapper { keycode: Keycode, modifiers: &mut crate::Modifiers, ) -> Option { - if is_alphabetic_key(keycode) || !modifiers.shift { - self.code_to_key.get(&keycode).cloned() - } else { + if let Some(key) = self.letters.get(&keycode) { + return Some(key.clone()); + } + if modifiers.shift { modifiers.shift = false; self.code_to_shifted_key.get(&keycode).cloned() + } else { + self.code_to_key.get(&keycode).cloned() } } }