http://bugs.winehq.org/show_bug.cgi?id=6323
thejcwk@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thejcwk@gmail.com
------- Additional Comments From thejcwk@gmail.com 2007-10-01 05:39 ------- I've been experimenting a bit with this bug in Warcraft III, trying to find a reason for it. As with WoW, the numpad keys are only usable once. Each of the numpad keys that I tested (1,2,4,5,7 & 8) behaved as expected the first time. Subsequently, the game refused to recognise additional presses of each of those keys.
The bug is still present in 0.9.29
I gathered some relavent debug information, which is at least interesting. Pressing the numpad 7 key generates the following messages, regardless of whether it's the first time you are pressing it or not:
trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx Found keycode 79 (0x4F)
For comparison, I tried pressing Z, which is bound to one of my hero's spells. This generated the following messages:
trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx Found keycode 52 (0x34)
The only thing that changed is the keycode. Since every key works fine, except for the numpad keys, this bug must result from either 1) the differences between numpad keys and normal keys, or 2) the difference in wine's handling of these two types of keys, or 3) Warcraft's handling of these types of keys.
I had thought of only one more test, so I pressed enter and held down numpad 7, in order to see if entering chat text was any different. It resulted in a score of the following messages:
trace:keyboard:X11DRV_ToUnicodeEx LockMask = 0002 trace:keyboard:X11DRV_ToUnicodeEx NumLockMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx AltGrMask = 0010 trace:keyboard:X11DRV_ToUnicodeEx Found keycode 79 (0x4F)
Everything is the same, except for the first line, which is new. This didn't mean much to me, but I hoped that someone else might do something more with this information. I'll do some more testing if I think of anything else and have a look at the source code, if I can decipher it. In the meantime, I hope this helps.