Ove Kaaven <[EMAIL PROTECTED]> wrote:

> > Sure, X11 should do it for us. Hints, please: what X11 dead-key stuff?
>
> That's a good question. I don't really know, and don't have time to read
> the Xlib manual right now (have to catch a flight in a few hours), but I
> suspect it might have something to do with this XComposeStatus parameter
> to XLookupString.

Could anybody check, whether this tiny patch helps use dead keys?

--- cvs/wine/windows/x11drv/keyboard.c  Wed Jan  3 06:39:15 2001
+++ wine/windows/x11drv/keyboard.c      Thu Jan 18 23:22:12 2001
@@ -1469,6 +1469,7 @@
     INT ret;
     int keyc;
     BYTE lpChar[2];
+    static XComposeStatus cs;
 
     if (scanCode==0) {
         /* This happens when doing Alt+letter : a fake 'down arrow' key press
@@ -1525,7 +1526,7 @@
       }
     else TRACE("Found keycode %d (0x%2X)\n",e.keycode,e.keycode);
 
-    ret = TSXLookupString(&e, (LPVOID)lpChar, 2, &keysym, NULL);
+    ret = TSXLookupString(&e, (LPVOID)lpChar, 2, &keysym, &cs);
     if (ret == 0)
        {
        BYTE dead_char;
@@ -1599,7 +1600,7 @@
     }
 
     TRACE_(key)("ToUnicode about to return %d with char %x %s\n",
-               ret, bufW ? bufW[0] : 0, bufW ? "" : "(no buffer)");
+               ret, (bufW && ret) ? bufW[0] : 0, bufW ? "" : "(no buffer)");
     return ret;
 }
 



Reply via email to