events.c (xcircuit-3.10.28.tgz) | : | events.c (xcircuit-3.10.29.tgz) | ||
---|---|---|---|---|
skipping to change at line 2420 | skipping to change at line 2420 | |||
/* Get keyboard input method */ | /* Get keyboard input method */ | |||
if (xim == NULL) { | if (xim == NULL) { | |||
xim = XOpenIM(dpy, 0, 0, 0); | xim = XOpenIM(dpy, 0, 0, 0); | |||
xic = XCreateIC(xim, | xic = XCreateIC(xim, | |||
XNInputStyle, XIMPreeditNothing | XIMStatusNothing, | XNInputStyle, XIMPreeditNothing | XIMStatusNothing, | |||
XNClientWindow, areawin->window, | XNClientWindow, areawin->window, | |||
XNFocusWindow, areawin->window, | XNFocusWindow, areawin->window, | |||
NULL); | NULL); | |||
XSetICFocus(xic); | XSetICFocus(xic); | |||
} | } | |||
if (xic) { | ||||
/* Do a UTF-8 code lookup */ | /* Do a UTF-8 code lookup */ | |||
Xutf8LookupString(xic, event, buffer, 15, &keysym, &status); | Xutf8LookupString(xic, event, buffer, 15, &keysym, &status); | |||
/* Convert a UTF-8 code to a known encoding */ | /* Convert a UTF-8 code to a known encoding */ | |||
utf8enc = utf8_reverse_lookup(buffer); | utf8enc = utf8_reverse_lookup(buffer); | |||
if ((utf8enc != -1) && (utf8enc != (keywstate & 0xff))) keywstate = utf8e | if ((utf8enc != -1) && (utf8enc != (keywstate & 0xff))) keywstate = u | |||
nc; | tf8enc; | |||
} | ||||
} | } | |||
/* ASCII values already come upper/lowercase; we only want to register */ | /* ASCII values already come upper/lowercase; we only want to register */ | |||
/* a Shift key if it's a non-ASCII key or another modifier is in effect */ | /* a Shift key if it's a non-ASCII key or another modifier is in effect */ | |||
keywstate |= (((LockMask | ControlMask | Mod1Mask) & event->state) << 16); | keywstate |= (((LockMask | ControlMask | Mod1Mask) & event->state) << 16); | |||
if (keywstate > 255) keywstate |= ((ShiftMask & event->state) << 16); | if (keywstate > 255) keywstate |= ((ShiftMask & event->state) << 16); | |||
/* Treat button events and key events in the same way by setting */ | /* Treat button events and key events in the same way by setting */ | |||
/* a key state for buttons */ | /* a key state for buttons */ | |||
End of changes. 1 change blocks. | ||||
7 lines changed or deleted | 8 lines changed or added |