winex11.drv deadkey handling and games

Dmitry Timoshkov dmitry at codeweavers.com
Sat Dec 15 22:24:36 CST 2007


"F Capela" <darkwalker_ at yahoo.com> wrote:

> A small fix to those who play games using keyboard layouts with
> deadkeys. Patch generated against 0.9.51 release.
> Wine currently don't pass keypress events to the windows executable
> when the keypress is either a deadkey or follows a deadkey. This makes
> it impossible to use any of those keys with games that use WM_KEYDOWN
> events to track keypresses - two examples are Guild Wars and World of
> Warcraft.
> This patch modifies dlls/winex11.drv/event.c to send all keypresses to
> the client, and dlls/winex11.drv/keyboard.c to implement a WM_KEYDOWN
> translation cache in order to correctly treat them as keys or deadkeys
> and keep text input with deadkeys working.
> Only tested with Notepad and Guild Wars.
> This is my first patch; don't hesitate to point any problems.

This hack completely breaks native dead keys support on the X11 side.
First thing to do is to write a test case which replicates the behaviour
you would like to fix.

-- 
Dmitry.



More information about the wine-devel mailing list