http://bugs.winehq.org/show_bug.cgi?id=8683
--- Comment #15 from Fábio Capela fabio.capela@yahoo.com 2008-01-20 22:46:28 --- Created an attachment (id=10388) --> (http://bugs.winehq.org/attachment.cgi?id=10388) +x11drv,+key,+keyboard,+event trace - game start + pressing the 5 problematic keys
(In reply to comment #14)
I'd suggest to generate a +x11drv,+key,+keyboard,+event log and see how the X11 keyboard layout is being mapped to a vkeys one.
This trace is done with my deadkeys patch; I'm at the moment recompiling Wine to get it to the latest git version without any external patches to be able to generate a purer trace if needed, but I don't think it will be needed.
In this trace I simply started the game and pressed the 5 problematic keys as seen in my previous post.
Not directly related to the trace, but from running xev I've saw a pattern to the problematic keys under the DE layout: every key for which XmbLookupString / XLookupString returns more than 1 byte are not working to bind actions in World of Warcraft. No other keys trigger this bug.
For some reason the call to XLookupString inside X11DRV_MapVirtualKeyEx don't seem to be giving the expected result when it should return more than 1 byte, although it's using the correct keycode (i.e., the same reported in the original event). It might be related to the fact that it is storing the character information in a char[2], and then this char array is being returned by X11DRV_MapVirtualKeyEx as an UINT.