From da3c864d4c7c56d176bbf938345c2a5f784a7cd2 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Thu, 24 Apr 2025 13:58:17 -0700
Subject: [PATCH] Reset the keyboard when entering a modal loop on Windows
Fixes https://github.com/libsdl-org/SDL/issues/12876
---
src/video/windows/SDL_windowsevents.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/video/windows/SDL_windowsevents.c b/src/video/windows/SDL_windowsevents.c
index 97e3408093af9..a84f492d90d50 100644
--- a/src/video/windows/SDL_windowsevents.c
+++ b/src/video/windows/SDL_windowsevents.c
@@ -1823,6 +1823,9 @@ LRESULT CALLBACK WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPara
data->initial_size_rect.bottom = data->window->y + data->window->h;
SetTimer(hwnd, (UINT_PTR)SDL_IterateMainCallbacks, USER_TIMER_MINIMUM, NULL);
+
+ // Reset the keyboard, as we won't get any key up events during the modal loop
+ SDL_ResetKeyboard();
}
} break;