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;
}