diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index 8f23b22921..698134bcbc 100644 --- a/crates/gpui/src/platform/linux/wayland/client.rs +++ b/crates/gpui/src/platform/linux/wayland/client.rs @@ -843,7 +843,9 @@ impl Dispatch for WaylandClientStatePtr { keystroke: Keystroke::from_xkb(keymap_state, state.modifiers, keycode), }); - state.repeat.current_keysym = None; + if state.repeat.current_keysym == Some(keysym) { + state.repeat.current_keysym = None; + } drop(state); focused_window.handle_input(input);