dinput: the DIK_ keycode is not the same as the scancode.
Aric Stewart
aric at codeweavers.com
Wed Aug 6 08:04:36 CDT 2008
It is mapped with the keyboard mapping to the resulting character. so
the key 'A' is DIK_A nomatter what its scancode or vkey would be. This
is relevent to Japanese keymapping where the '@' key is in the '['
location the scancode for both is 0x22 but dinput generates DIK_AT in
japanese and DIK_LBRACKET in us_qwerty
Alexandre told me he did not like or approve of the table being
initialized at startup and felt that looking it up with each keystroke
was the only correct way.
MapVirtualKeyA is not a very costly function. I resolves basicaly to a
table lookup in winex11.drv so no interactions with the xserver at all.
---
dlls/dinput/keyboard.c | 26 +++++++++++++++++++++++++-
1 files changed, 25 insertions(+), 1 deletions(-)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 9404bfa6a4a5647fdcf0c9e056cbc86de443ad4c.diff
Type: text/x-patch
Size: 1722 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20080806/d952efd7/attachment.bin
More information about the wine-patches
mailing list