[3/4] user32: Set the vkey value to VK_PROCESSKEY when IME process key.

Aric Stewart aric at codeweavers.com
Thu Apr 24 08:28:36 CDT 2008


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(-)
> 
> 
> ------------------------------------------------------------------------
> 
> 



More information about the wine-devel mailing list