diff --git a/crates/gpui/src/platform/linux/wayland/client.rs b/crates/gpui/src/platform/linux/wayland/client.rs index 8f23b2292153e85a0a2432da4a621eda4d851eba..698134bcbc919c91ff5b18c06abb75cd434dda5c 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);