You need to sign in or sign up before continuing.
Commit c5f271b4 authored by cutealien's avatar cutealien

Improved i18n key input for X11. Which means languages like cyrillic work now.

Japanese not yet, but we're even a little closer to that now.
Dead-key handling is not working. I just can't figure it out (X11 documentation and examples make me swear badly).
Users which have language input with dead-keys (like ^) will now have those characters always ignored.
Before it had just printed the characters but set a complete wrong key-code. So dead keys partly better, partly worse.
But this solution is going in the right direction. Either we figure out later why X11 doesn't handle dead-keys or we handle them ourselves.


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4743 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 13b42f65
--------------------------
Changes in 1.9 (not yet released)
- Improved i18n key input for X11 (languages like cyrillic work now).
- Fix bug that ListBox would not allow to 'tab' to the next element (thx @ FlavourBoat for reporting)
- IGUIEnvironment::getNextElement now public (was only in CGUIEnvironment before).
- Add an overwrite mode to editbox. Patch provided by Adam(aka kingadami).
......@@ -12,7 +13,7 @@ Changes in 1.9 (not yet released)
- Fix c::b project obj folder names. Some static builds had used the shared folders (thx @ gerdb for reporting)
- Add ITexture::getSource which can be used to check where the last IVideoDriver::getTexture call found the texture.
- Add IMeshTextureLoader interface and replace texture-loading algorithms in most meshloaders.
- CGUICheckBox no longer gives up focus on EMIE_LMOUSE_LEFT_UP (thx @Demre for reporting)
- CGUICheckBox no longer gives up focus on EMIE_LMOUSE_LEFT_UP (thx @Demre and @REDDemon for reporting)
- Bugfix: IGUIElement::addChild now prevents setting an element as it's own child.
- GUI editor improvements (prevent crash, improve UI)
- Add IrrlichtDevice::setWindowSize.
......
......@@ -315,7 +315,7 @@ struct SEvent
//! Any kind of keyboard event.
struct SKeyInput
{
//! Character corresponding to the key (0, if not a character)
//! Character corresponding to the key (0, if not a character, value undefined in key releases)
wchar_t Char;
//! Key which has been pressed or released
......
This diff is collapsed.
......@@ -157,6 +157,12 @@ namespace irr
bool switchToFullscreen(bool reset=false);
#ifdef _IRR_COMPILE_WITH_X11_
bool createInputContext();
void destroyInputContext();
EKEY_CODE getKeyCode(XEvent &event);
#endif
//! Implementation of the linux cursor control
class CCursorControl : public gui::ICursorControl
{
......@@ -394,6 +400,8 @@ namespace irr
XSetWindowAttributes attributes;
XSizeHints* StdHints;
XImage* SoftwareImage;
XIM XInputMethod;
XIC XInputContext;
mutable core::stringc Clipboard;
#ifdef _IRR_LINUX_X11_VIDMODE_
XF86VidModeModeInfo oldVideoMode;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment