From 9df49cd3f7da8f069151adb7db4927ea792c19a0 Mon Sep 17 00:00:00 2001 From: VDm Date: Sun, 15 Dec 2024 16:29:00 +0400 Subject: [PATCH] fix(input): convert local code-page characters to Unicode ones --- src/event/win/Input.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/event/win/Input.cpp b/src/event/win/Input.cpp index 687892b..a08b241 100644 --- a/src/event/win/Input.cpp +++ b/src/event/win/Input.cpp @@ -539,7 +539,10 @@ int32_t OsWindowProc(void* window, uint32_t message, uintptr_t wparam, intptr_t uint32_t character = wparam; if (wparam >= 128) { - // TODO + // Workaround + wchar_t u16_character = 0; + ::MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, reinterpret_cast(&wparam), 1, &u16_character, 1); + character = u16_character; } OsQueuePut(OS_INPUT_CHAR, character, LOWORD(lparam), 0, 0);