diff -Naur source/Irrlicht/CIrrDeviceLinux.cpp source/Irrlicht/CIrrDeviceLinux.cpp --- source/Irrlicht/CIrrDeviceLinux.cpp 2005-07-10 00:19:06.786097113 +0200 +++ source/Irrlicht/CIrrDeviceLinux.cpp 2005-07-10 01:04:33.183719755 +0200 @@ -5,6 +5,8 @@ #include "CIrrDeviceLinux.h" #ifdef LINUX +#include +#include #include "IEventReceiver.h" #include "irrList.h" @@ -351,6 +353,27 @@ XMapRaised(display, window); } +#if 0 + xic=NULL; + if (XSupportsLocale()) + { + XIM xim = XOpenIM(display, NULL, NULL, NULL); + XIMStyles *supp_styles; + XGetIMValues(xim, XNQueryInputStyle, &supp_styles, NULL); + char **missing_charsets; + int num_missing_charsets=0; + char *default_string; + XFontSet fontset = XCreateFontSet(display,"-*-*-*-*-*-*-*-130-75-75-*-*-*-*",&missing_charsets, &num_missing_charsets,&default_string); + if (num_missing_charsets>0) + printf("Missing fonts\n"); + XVaNestedList list = XVaCreateNestedList(0, XNFontSet, fontset, NULL); + xic = XCreateIC(xim, XNInputStyle, *supp_styles, + XNClientWindow, window, + XNStatusAttributes, list, NULL); + XFree(list); + } +#endif + #ifdef _IRR_COMPILE_WITH_OPENGL_ if (DriverType == video::EDT_OPENGL) { diff -Naur source/Irrlicht/CIrrDeviceLinux.h source/Irrlicht/CIrrDeviceLinux.h --- source/Irrlicht/CIrrDeviceLinux.h 2005-07-10 00:18:38.493077466 +0200 +++ source/Irrlicht/CIrrDeviceLinux.h 2005-07-10 01:01:18.065160339 +0200 @@ -222,6 +222,7 @@ unsigned int width, height, depth; bool close; + XIC xic; struct SKeyMap { SKeyMap() {}