On Thu Apr 3 16:12:56 2025 +0000, Tim Clem wrote:
changed this line in [version 2 of the diff](/wine/wine/-/merge_requests/7701/diffs?diff_id=168419&start_sha=4470d6f6bbe1bfa6c5194eb1917ec011e9f5e993#ec9dfe2bf80e5cdb35cb0f13c9f06da8984c9a00_4020_4020)
I misrepresented it.
The KeyUp event is handled by the ImeProcessKey, but it is not consumed. It does not need to be paired with a KeyDown event. 'Not consumed' means that the ImeProcessKey returns FALSE, and an unmodified WM_KEYUP message is passed to the WinProc.
If macdrv_ImeProcessKey return ‘1’ for the KeyUp event, WM_KEYUP:wParam is replaced with VK_PROCESSKEY, which causes NtUserTranslateMessage to call ImmTranslateMessage unnecessarily.