From f522c58ce69f8a859812b5f210c97a63c313f9ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Bernon?= Date: Fri, 19 Jan 2024 15:53:46 +0100 Subject: [PATCH] imm32: Mask the scancode before passing it to ImeToAsciiEx. --- dlls/imm32/imm.c | 2 +- dlls/imm32/tests/imm32.c | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/dlls/imm32/imm.c b/dlls/imm32/imm.c index cc843ce4a8e..94de6c0f6d7 100644 --- a/dlls/imm32/imm.c +++ b/dlls/imm32/imm.c @@ -3099,7 +3099,7 @@ BOOL WINAPI ImmTranslateMessage( HWND hwnd, UINT msg, WPARAM wparam, LPARAM lpar if ((vkey = data->vkey) == VK_PROCESSKEY) return FALSE; data->vkey = VK_PROCESSKEY; GetKeyboardState( state ); - scan = lparam >> 0x10; + scan = (lparam >> 0x10) & 0xffff; if (ime->info.fdwProperty & IME_PROP_KBD_CHAR_FIRST) { diff --git a/dlls/imm32/tests/imm32.c b/dlls/imm32/tests/imm32.c index 0b38d70ad8a..16f9412f56a 100644 --- a/dlls/imm32/tests/imm32.c +++ b/dlls/imm32/tests/imm32.c @@ -7044,7 +7044,6 @@ static void test_ImmTranslateMessage( BOOL kbd_char_first ) .hkl = expect_ime, .himc = default_himc, .func = IME_TO_ASCII_EX, /* FIXME what happened to kbd_char_first here!? */ .to_ascii_ex = {.vkey = 'Q', .vsc = 0xc010}, - .todo_value = TRUE, }, {0}, };