*** xc/lib/X11/Imakefile.orig Mon Aug 26 10:23:31 1996 --- lib/X11/Imakefile Tue Jan 7 03:28:59 1997 *************** *** 924,929 **** --- 924,930 ---- SpecialCLibObjectRule(XKBCvt,$(_NOOP_),$(RCONST_DEFINES)) SpecialCLibObjectRule(KeyBind,$(ICONFIGFILES),$(XKB_DEFINES)) SpecialCLibObjectRule(XKBBind,$(ICONFIGFILES),$(XKB_DEFINES)) + SpecialCLibObjectRule(imConv,$(ICONFIGFILES),$(XKB_DEFINES)) #endif #if HasKrb5 SpecialCLibObjectRule(k5encode,$(_NOOP_),$(K5INCL)) *** xc/lib/X11/XKBBind.c.orig Tue Aug 13 15:25:35 1996 --- lib/X11/XKBBind.c Tue Jan 7 03:28:59 1997 *************** *** 582,589 **** LockDisplay(dpy); xkbi->desc = desc; ! xkbi->charset = _XkbGetCharset(NULL); ! _XkbGetConverters(xkbi->charset,&xkbi->cvt); UnlockDisplay(dpy); oldEvents= xkbi->selected_events; if (!(xkbi->xlib_ctrls&XkbLC_IgnoreNewKeyboards)) { --- 582,588 ---- LockDisplay(dpy); xkbi->desc = desc; ! _XkbGetConverters(_XkbGetCharset(),&xkbi->cvt); UnlockDisplay(dpy); oldEvents= xkbi->selected_events; if (!(xkbi->xlib_ctrls&XkbLC_IgnoreNewKeyboards)) { *** xc/lib/X11/XKBCvt.c.orig Tue Aug 27 07:11:24 1996 --- lib/X11/XKBCvt.c Tue Jan 7 03:28:59 1997 *************** *** 38,43 **** --- 38,45 ---- #include #define NEED_EVENTS #include "Xlibint.h" + #include "Xlcint.h" + #include "XlcPubI.h" #include #include #define XK_LATIN1 *************** *** 49,55 **** #include #include ! #ifdef __sgi #define XKB_EXTEND_LOOKUP_STRING #endif --- 51,57 ---- #include #include ! #ifdef __sgi_not_xconsortium #define XKB_EXTEND_LOOKUP_STRING #endif *************** *** 143,148 **** --- 145,151 ---- 0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef, 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, /* 15 */ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff}; + /* maps Greek keysyms to 8859-7 */ static unsigned char Const greek[128] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, *************** *** 491,497 **** register int i; for (i=0;icore.im; + char local_buf[BUF_SIZE]; + unsigned char look[BUF_SIZE]; count = XLookupString(event, (char *)buffer, nbytes, &symbol, status); if (keysym) *keysym = symbol; *************** *** 197,209 **** unsigned char c; Status dummy; Xim im = (Xim)ic->core.im; count = XLookupString(event, (char *)look, nbytes, &symbol, status); if (keysym) *keysym = symbol; if ((nbytes == 0) || (symbol == NoSymbol)) { return(count); } ! if (count == 0) { /* Not ISO 8859-1 Encoding */ kset = (symbol >> 8) & 0xffffff; for (i = 0; i < codeset_size; i++) { if (kset == codeset[i].kset) { --- 201,216 ---- unsigned char c; Status dummy; Xim im = (Xim)ic->core.im; + char local_buf[BUF_SIZE]; + unsigned char look[BUF_SIZE]; count = XLookupString(event, (char *)look, nbytes, &symbol, status); if (keysym) *keysym = symbol; if ((nbytes == 0) || (symbol == NoSymbol)) { return(count); } ! if (count == 0) { ! /* Not ISO 8859-1 Encoding */ kset = (symbol >> 8) & 0xffffff; for (i = 0; i < codeset_size; i++) { if (kset == codeset[i].kset) {