Module: wine Branch: refs/heads/master Commit: d5d878f23221cf20250cda1327f77edfe91dacd1 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=d5d878f23221cf20250cda13...
Author: Augusto Arcoverde da Rocha agarobr.listas@gmail.com Date: Thu Mar 9 18:05:07 2006 -0300
x11drv: Fixed handling of XK_KP_Separator.
---
dlls/x11drv/keyboard.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/x11drv/keyboard.c b/dlls/x11drv/keyboard.c index 202bff9..d9d843a 100644 --- a/dlls/x11drv/keyboard.c +++ b/dlls/x11drv/keyboard.c @@ -1059,7 +1059,7 @@ static const WORD nonchar_key_scan[256] 0x00, 0x00, 0x00, 0x00, 0x00, 0x47, 0x4B, 0x48, /* FF90 */ 0x4D, 0x50, 0x49, 0x51, 0x4F, 0x4C, 0x52, 0x53, /* FF98 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* FFA0 */ - 0x00, 0x00, 0x37, 0x4E, /*?*/ 0, 0x4A, 0x53, 0x135, /* FFA8 */ + 0x00, 0x00, 0x37, 0x4E, 0x53, 0x4A, 0x53, 0x135, /* FFA8 */ 0x52, 0x4F, 0x50, 0x51, 0x4B, 0x4C, 0x4D, 0x47, /* FFB0 */ 0x48, 0x49, 0x00, 0x00, 0x00, 0x00, /* FFB8 */ /* function keys */ @@ -1089,8 +1089,9 @@ static WORD EVENT_event_to_vkey( XIC xic else XLookupString(e, buf, sizeof(buf), &keysym, NULL);
- if ((keysym >= 0xFFAE) && (keysym <= 0xFFB9) && (keysym != 0xFFAF) - && (e->state & NumLockMask)) + if ((e->state & NumLockMask) && + (keysym == XK_KP_Separator || keysym == XK_KP_Decimal || + (keysym >= XK_KP_0 && keysym <= XK_KP_9))) /* Only the Keypad keys 0-9 and . send different keysyms * depending on the NumLock state */ return nonchar_key_vkey[keysym & 0xFF]; @@ -2377,6 +2378,9 @@ INT X11DRV_ToUnicodeEx(UINT virtKey, UIN if (virtKey==VK_DECIMAL) e.keycode = XKeysymToKeycode(e.display, XK_KP_Decimal);
+ if (virtKey==VK_SEPARATOR) + e.keycode = XKeysymToKeycode(e.display, XK_KP_Separator); + if (!e.keycode && virtKey != VK_NONAME) { WARN("Unknown virtual key %X !!!\n", virtKey);