diff --git a/src/video/wayland/SDL_waylandevents.c b/src/video/wayland/SDL_waylandevents.c index d485de19b..0cb1f674b 100644 --- a/src/video/wayland/SDL_waylandevents.c +++ b/src/video/wayland/SDL_waylandevents.c @@ -731,6 +731,12 @@ static void keyboard_handle_leave(void *data, struct wl_keyboard *keyboard, uint32_t serial, struct wl_surface *surface) { + struct SDL_WaylandInput *input = data; + + /* Stop key repeat before clearing keyboard focus */ + keyboard_repeat_clear(&input->keyboard_repeat); + + /* This will release any keys still pressed */ SDL_SetKeyboardFocus(NULL); }