Module: wine Branch: master Commit: 0fb7c99c33507ac494c9c35e15fb6df8b000cdd2 URL: https://gitlab.winehq.org/wine/wine/-/commit/0fb7c99c33507ac494c9c35e15fb6df...
Author: Tim Clem tclem@codeweavers.com Date: Fri Mar 1 13:10:26 2024 -0800
win32u: Don't mask keyboard scan codes when processing them for IME.
Fixes missed key up events on older macOS versions, which could result in out-of-order input.
Fix via RĂ©mi Bernon rbernon@codeweavers.com.
---
dlls/win32u/imm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/dlls/win32u/imm.c b/dlls/win32u/imm.c index d1dc1de8c55..4a9aca22360 100644 --- a/dlls/win32u/imm.c +++ b/dlls/win32u/imm.c @@ -583,7 +583,7 @@ LRESULT ime_driver_call( HWND hwnd, enum wine_ime_call call, WPARAM wparam, LPAR { struct imm_thread_data *data = get_imm_thread_data();
- data->ime_process_scan = HIWORD(lparam) & 0x1ff; + data->ime_process_scan = HIWORD(lparam); data->ime_process_vkey = LOWORD(wparam); res = user_driver->pImeProcessKey( params->himc, wparam, lparam, params->state ); data->ime_process_vkey = data->ime_process_scan = 0; @@ -597,7 +597,7 @@ LRESULT ime_driver_call( HWND hwnd, enum wine_ime_call call, WPARAM wparam, LPAR res = TRUE; }
- TRACE( "processing scan %#x, vkey %#x -> %u\n", LOWORD(wparam), HIWORD(lparam) & 0x1ff, (UINT)res ); + TRACE( "processing scan %#x, vkey %#x -> %u\n", LOWORD(wparam), HIWORD(lparam), (UINT)res ); return res; } case WINE_IME_TO_ASCII_EX: