Ken Thomases : winex11.drv:
Track which vkeys have already been assigned to keycodes.
Alexandre Julliard
julliard at wine.codeweavers.com
Mon Nov 20 05:52:31 CST 2006
Module: wine
Branch: master
Commit: 8c768fb4375b0cb0cba92ddf0e11392cbad824e2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8c768fb4375b0cb0cba92ddf0e11392cbad824e2
Author: Ken Thomases <ken at codeweavers.com>
Date: Fri Nov 17 14:46:13 2006 -0600
winex11.drv: Track which vkeys have already been assigned to keycodes.
---
dlls/winex11.drv/keyboard.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index eb8a3c4..1fdb9e9 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1561,6 +1561,7 @@ void X11DRV_InitKeyboard(void)
int keyc, i, keyn, syms;
char ckey[4]={0,0,0,0};
const char (*lkey)[MAIN_LEN][4];
+ char vkey_used[256] = { 0 };
wine_tsx11_lock();
XDisplayKeycodes(display, &min_keycode, &max_keycode);
@@ -1732,6 +1733,9 @@ void X11DRV_InitKeyboard(void)
TRACE("keycode %04x => vkey %04x\n", e2.keycode, vkey);
keyc2vkey[e2.keycode] = vkey;
keyc2scan[e2.keycode] = scan;
+ if ((vkey & 0xff) && vkey_used[(vkey & 0xff)])
+ WARN("vkey %04x is being used by more than one keycode\n", vkey);
+ vkey_used[(vkey & 0xff)] = 1;
} /* for */
/* If some keys still lack scancodes, assign some arbitrary ones to them now */
More information about the wine-cvs
mailing list