From 8c768fb4375b0cb0cba92ddf0e11392cbad824e2 Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Fri, 17 Nov 2006 14:46:13 -0600 Subject: [PATCH] winex11.drv: Track which vkeys have already been assigned to keycodes. --- dlls/winex11.drv/keyboard.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c index eb8a3c422d5..1fdb9e95f31 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 */ -- 2.11.4.GIT