diff -r 3a3a45339f6a code/nel/src/3d/driver/opengl/unix_event_emitter.cpp --- a/code/nel/src/3d/driver/opengl/unix_event_emitter.cpp Wed Oct 20 16:16:32 2010 +0200 +++ b/code/nel/src/3d/driver/opengl/unix_event_emitter.cpp Fri Oct 22 21:42:03 2010 +0200 @@ -568,7 +568,7 @@ ucstring ucstr; ucstr.fromUtf8(Text); - CEventChar *charEvent = new CEventChar (ucstr[0], noKeyButton, this); + CEventChar *charEvent = new CEventChar (ucstr[0], getKeyButton(event.xbutton.state), this); // raw if not processed by IME charEvent->setRaw(keyCode != 0); @@ -577,7 +577,7 @@ #else for (int i = 0; i < c; i++) { - CEventChar *charEvent = new CEventChar ((ucchar)(unsigned char)Text[i], noKeyButton, this); + CEventChar *charEvent = new CEventChar ((ucchar)(unsigned char)Text[i], getKeyButton(event.xbutton.state), this); // raw if not processed by IME charEvent->setRaw(keyCode != 0);