Changeset 3949 for libcaca/trunk/caca/driver/x11.c
- Timestamp:
- Nov 18, 2009, 9:42:42 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libcaca/trunk/caca/driver/x11.c
r3913 r3949 65 65 int cursor_flags; 66 66 int dirty_cursor_x, dirty_cursor_y; 67 #if defined(X_HAVE_UTF8_STRING) 68 XIM im; 69 XIC ic; 70 #endif 67 71 }; 68 72 … … 254 258 dp->drv.p->dirty_cursor_y = -1; 255 259 260 dp->drv.p->im = XOpenIM(dp->drv.p->dpy, NULL, NULL, NULL); 261 dp->drv.p->ic = XCreateIC(dp->drv.p->im, XNInputStyle, 262 XIMPreeditNothing | XIMStatusNothing, NULL); 263 256 264 return 0; 257 265 } … … 269 277 XUnmapWindow(dp->drv.p->dpy, dp->drv.p->window); 270 278 XDestroyWindow(dp->drv.p->dpy, dp->drv.p->window); 279 XDestroyIC(dp->drv.p->ic); 280 XCloseIM(dp->drv.p->im); 271 281 XCloseDisplay(dp->drv.p->dpy); 272 282 … … 501 511 continue; 502 512 513 #if defined(X_HAVE_UTF8_STRING) 514 if(Xutf8LookupString(dp->drv.p->ic, &xevent.xkey, ev->data.key.utf8, 8, NULL, NULL)) 515 { 516 ev->data.key.utf32 = caca_utf8_to_utf32(ev->data.key.utf8, NULL); 517 if(ev->data.key.utf32 < 0x7f) 518 { 519 ev->data.key.ch = ev->data.key.utf32; 520 } else { 521 ev->data.key.ch = 0; 522 } 523 return 1; 524 } 525 #endif 503 526 if(XLookupString(&xevent.xkey, &key, 1, NULL, NULL)) 504 527 {
Note: See TracChangeset
for help on using the changeset viewer.