From 2096948cbc7f7e3cb492150dee1d8753cec8928a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 26 May 2026 08:31:52 +0530 Subject: [PATCH] Wayland: Only use key repeat events from server is repeat rate == 0 Fixes #10070 --- glfw/wl_init.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/glfw/wl_init.c b/glfw/wl_init.c index 00da9bb0e..edfe97a96 100644 --- a/glfw/wl_init.c +++ b/glfw/wl_init.c @@ -325,7 +325,7 @@ static void keyboardHandleKeymap(void* data UNUSED, } static bool -needs_synthetic_key_repeat(void) { return _glfw.wl.keyboardRepeatRate > 0 && !_glfw.wl.has_key_repeat_events; } +needs_synthetic_key_repeat(void) { return _glfw.wl.keyboardRepeatRate > 0; } static void start_key_repeat_timer(bool initial) { @@ -416,7 +416,10 @@ static void keyboardHandleKey(void* data UNUSED, case WL_KEYBOARD_KEY_STATE_PRESSED: action = GLFW_PRESS; break; case WL_KEYBOARD_KEY_STATE_RELEASED: action = GLFW_RELEASE; break; #ifdef WL_KEYBOARD_KEY_STATE_REPEATED_SINCE_VERSION - case WL_KEYBOARD_KEY_STATE_REPEATED: action = GLFW_REPEAT; break; + case WL_KEYBOARD_KEY_STATE_REPEATED: + if (needs_synthetic_key_repeat()) return; + action = GLFW_REPEAT; + break; #endif }