[1/3] winex11.drv: Support KEYEVENTF_UNICODE in SendInput

Vitaliy Margolen wine-devel at kievinfo.com
Fri Aug 7 19:46:25 CDT 2009

Andrew Eikum wrote:
> Vitaliy Margolen wrote:
>> Andrew Eikum wrote:
>>> ---
>> Why did you swapped setting internal key state and calling hook in
>> X11DRV_send_keyboard_input()? Do you have a test to check that state is
>> being updated _before_ calling hook, and not after?
>> Vitaliy.
> Good point. The MSDN hook documentation implies that the hook call
> should happen before any state changes, and I don't have any reason to
> change it.  After fixing that, was there anything else obviously wrong?
>  Otherwise I'll re-send the attached patch.

Nothing that MSDN says about hooks can be trusted. They don't mention about
80% of things that's going on there and about 50% of all apps relay on...

The patch looks good with exception of some unneeded formatting changes:
> -    if (event_flags & KEYEVENTF_KEYUP)
> +    if(!(event_flags & KEYEVENTF_UNICODE))
Space between "if" and braces.

> -    TRACE_(key)(" wParam=%04x, lParam=%08lx, InputKeyState=%x\n",
> -                wVk, MAKELPARAM( 1, flags ), key_state_table[wVk] );
> +        TRACE_(key)("message=0x%04x wParam=0x%04x lParam=0x%08lx\n",
> +            message, wVk, lParam);
Second raw of params was aligned with the opening brace.


More information about the wine-devel mailing list