diff --git a/crates/gpui/src/platform/linux/platform.rs b/crates/gpui/src/platform/linux/platform.rs index f7c86399739339c06a752f391e77de5d93c0db50..9f613d1ca5b2fb00c14540a3fb2830d975ee9dc0 100644 --- a/crates/gpui/src/platform/linux/platform.rs +++ b/crates/gpui/src/platform/linux/platform.rs @@ -640,6 +640,8 @@ impl Keystroke { Keysym::Prior => "pageup".to_owned(), Keysym::Next => "pagedown".to_owned(), Keysym::ISO_Left_Tab => "tab".to_owned(), + Keysym::KP_Prior => "pageup".to_owned(), + Keysym::KP_Next => "pagedown".to_owned(), Keysym::comma => ",".to_owned(), Keysym::period => ".".to_owned(), @@ -677,7 +679,14 @@ impl Keystroke { Keysym::equal => "=".to_owned(), Keysym::plus => "+".to_owned(), - _ => xkb::keysym_get_name(key_sym).to_lowercase(), + _ => { + let name = xkb::keysym_get_name(key_sym).to_lowercase(); + if key_sym.is_keypad_key() { + name.replace("kp_", "") + } else { + name + } + } }; if modifiers.shift {