From c49de41ef3fc451380a1e9802e7cfe2ff42d8b5b Mon Sep 17 00:00:00 2001
From: Susko3 <[EMAIL REDACTED]>
Date: Wed, 19 Nov 2025 22:20:29 +0100
Subject: [PATCH] Fix WM_SYSKEYDOWN not being trapped by IME message handling
This would cause Alt + <something> not being trapped if handled by the system IME.
(cherry picked from commit 2ef005afe52dcbfe3fa3ff2c7227283100dab43e)
---
src/video/windows/SDL_windowskeyboard.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/src/video/windows/SDL_windowskeyboard.c b/src/video/windows/SDL_windowskeyboard.c
index 75e8ad4a2895b..87864b650a741 100644
--- a/src/video/windows/SDL_windowskeyboard.c
+++ b/src/video/windows/SDL_windowskeyboard.c
@@ -1019,6 +1019,14 @@ bool WIN_HandleIMEMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM *lParam, SD
SDL_DebugIMELog("WM_KEYDOWN normal");
}
break;
+ case WM_SYSKEYDOWN:
+ if (wParam == VK_PROCESSKEY) {
+ SDL_DebugIMELog("WM_SYSKEYDOWN VK_PROCESSKEY");
+ trap = true;
+ } else {
+ SDL_DebugIMELog("WM_SYSKEYDOWN normal");
+ }
+ break;
case WM_INPUTLANGCHANGE:
SDL_DebugIMELog("WM_INPUTLANGCHANGE");
IME_InputLangChanged(videodata);