Re: [3/4] user32: Set the vkey value to VK_PROCESSKEY when IME process key.
Thank you for these investigations This is really nice. I support those patches. I just wanted to also communicate a bit of additional information from my investigations just in case someone asks. I placed hooks on both WH_KEYBOARD_LL and WH_KEYBOARD. Even when the IME is active both of those hooks showed the VKEY of the actual keystroke. This showed me that all of this processing happened after process_keyboard_message. great work and thanks, -aric ByeongSik Jeon wrote:
When the MS Windows set the vkey value(MSG.wParam) to VK_PROCESSKEY?
I have tested following code: ---------------------------- while ( GetMessage(&msg, 0, 0, 0) ) { if ( msg.message == WM_KEYDOWN ) printf("OLD: %x %x %x\n", msg.message, msg.wParam, msg.lParam); TranslateMessage( &msg ); if ( msg.message == WM_KEYDOWN ) printf("NEW: %x %x %x\n", msg.message, msg.wParam, msg.lParam); DispatchMessage( &msg ); } ----------------------------- The result is: ----------------------------- OLD: 100 e5 130001 NEW: 100 e5 130001 OLD: 100 e5 250001 NEW: 100 e5 250001 OLD: 100 e5 130001 NEW: 100 e5 130001 ----------------------------- e5 is VK_PROCESSKEY. Before GetMessage, PeekMessage return, msg.wPram ahs seted to VK_PROCESSKEY.
--- dlls/user32/message.c | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-)
------------------------------------------------------------------------
participants (1)
-
Aric Stewart