Dmitry Timoshkov : winex11.drv: Do not ignore the keysyms assigned to a group switch, it leads to side effects like missing KeyRelease events.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Mar 6 06:04:01 CST 2007


Module: wine
Branch: master
Commit: d2092ae2bd1089a41d05e92b39757df8e1d6a69f
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d2092ae2bd1089a41d05e92b39757df8e1d6a69f

Author: Dmitry Timoshkov <dmitry at codeweavers.com>
Date:   Tue Mar  6 16:53:39 2007 +0800

winex11.drv: Do not ignore the keysyms assigned to a group switch, it leads to side effects like missing KeyRelease events.

---

 dlls/winex11.drv/keyboard.c |   14 ++------------
 1 files changed, 2 insertions(+), 12 deletions(-)

diff --git a/dlls/winex11.drv/keyboard.c b/dlls/winex11.drv/keyboard.c
index 7fbbca8..218919f 100644
--- a/dlls/winex11.drv/keyboard.c
+++ b/dlls/winex11.drv/keyboard.c
@@ -1373,16 +1373,6 @@ void X11DRV_KeyEvent( HWND hwnd, XEvent *xev )
         ascii_chars = XLookupString(event, Str, sizeof(Str), &keysym, NULL);
     wine_tsx11_unlock();
 
-    /* Ignore some unwanted events */
-    if ((keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) ||
-         keysym == XK_Mode_switch)
-    {
-        wine_tsx11_lock();
-        TRACE("Ignoring %s keyboard event\n", XKeysymToString(keysym));
-        wine_tsx11_unlock();
-        return;
-    }
-
     TRACE_(key)("state = %X nbyte = %d, status 0x%x\n", event->state, ascii_chars, status);
 
     if (status == XBufferOverflow)
@@ -2555,9 +2545,9 @@ INT X11DRV_ToUnicodeEx(UINT virtKey, UINT scanCode, LPBYTE lpKeyState,
 		ksname = "No Name";
 	    if ((keysym >> 8) != 0xff)
 		{
-		ERR("Please report: no char for keysym %04lX (%s) :\n",
+		WARN("no char for keysym %04lX (%s) :\n",
                     keysym, ksname);
-		ERR("(virtKey=%X,scanCode=%X,keycode=%X,state=%X)\n",
+		WARN("virtKey=%X, scanCode=%X, keycode=%X, state=%X\n",
                     virtKey, scanCode, e.keycode, e.state);
 		}
 	    }




More information about the wine-cvs mailing list