|
@@ -1767,7 +1767,8 @@ void OS_X11::handle_key_event(XKeyEvent *p_event, bool p_echo) {
|
|
|
XKeyEvent xkeyevent_no_mod = *xkeyevent;
|
|
|
xkeyevent_no_mod.state &= ~ShiftMask;
|
|
|
xkeyevent_no_mod.state &= ~ControlMask;
|
|
|
- XLookupString(&xkeyevent_no_mod, str, 256, &keysym_keycode, NULL);
|
|
|
+ XLookupString(xkeyevent, str, 256, &keysym_unicode, NULL);
|
|
|
+ XLookupString(&xkeyevent_no_mod, NULL, 0, &keysym_keycode, NULL);
|
|
|
|
|
|
// Meanwhile, XLookupString returns keysyms useful for unicode.
|
|
|
|
|
@@ -1777,8 +1778,6 @@ void OS_X11::handle_key_event(XKeyEvent *p_event, bool p_echo) {
|
|
|
xmblen = 8;
|
|
|
}
|
|
|
|
|
|
- keysym_unicode = keysym_keycode;
|
|
|
-
|
|
|
if (xkeyevent->type == KeyPress && xic) {
|
|
|
|
|
|
Status status;
|