-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minetest chatroom keyboard acts strange #11190
Comments
|
Does this happen on 5.4.1 or with 5.5.0-dev? (please test both) |
Keyboard layout: QWERTY |
No problem on 5.4.1 and |
English |
Regarding the IME issue: after the IME PRs got merged I noticed that the keyboard input might randomly "lock up" with Fcitx5 on ArchLinux (using us-altgr-intl and Pinyin) after some time, at least as of 52c0384. Currently I can reproduce it by holding F10 (i.e. continuously opening and closing the chat console on short intervals). However:
|
Sometimes keyboard becomes "unavailable" on |
@Emojigit Try this Irrlicht patch and see if you can still reproduce the problem (apparently skipping diff --git a/source/Irrlicht/CIrrDeviceLinux.cpp b/source/Irrlicht/CIrrDeviceLinux.cpp
index f482ec68e..ec3a52599 100644
--- a/source/Irrlicht/CIrrDeviceLinux.cpp
+++ b/source/Irrlicht/CIrrDeviceLinux.cpp
@@ -829,7 +829,7 @@ bool CIrrDeviceLinux::run()
{
XEvent event;
XNextEvent(XDisplay, &event);
- if (acceptsIME() && XFilterEvent(&event, None))
+ if (XFilterEvent(&event, None))
continue;
switch (event.type)
@@ -1156,23 +1156,27 @@ bool CIrrDeviceLinux::run()
break;
} // end switch
- } // end while
-
- // Update IME information
- if (XInputContext && GUIEnvironment)
- {
- gui::IGUIElement *elem = GUIEnvironment->getFocus();
- if (elem && elem->acceptsIME())
+ // Update IME information
+ if (XInputContext && GUIEnvironment)
{
- core::rect<s32> r = elem->getAbsolutePosition();
- XPoint p;
- p.x = (short)r.UpperLeftCorner.X;
- p.y = (short)r.LowerRightCorner.Y;
- XVaNestedList l = XVaCreateNestedList(0, XNSpotLocation, &p, NULL);
- XSetICValues(XInputContext, XNPreeditAttributes, l, NULL);
- XFree(l);
+ gui::IGUIElement *elem = GUIEnvironment->getFocus();
+ if (elem && elem->acceptsIME())
+ {
+ core::rect<s32> r = elem->getAbsolutePosition();
+ XPoint p;
+ p.x = (short)r.UpperLeftCorner.X;
+ p.y = (short)r.LowerRightCorner.Y;
+ XSetICFocus(XInputContext);
+ XVaNestedList l = XVaCreateNestedList(0, XNSpotLocation, &p, NULL);
+ XSetICValues(XInputContext, XNPreeditAttributes, l, NULL);
+ XFree(l);
+ } else {
+ XUnsetICFocus(XInputContext);
+ }
}
- }
+
+ } // end while
+
}
#endif //_IRR_COMPILE_WITH_X11_
Also, the |
Not sure if that's a good idea. |
I thought |
|
|
Co-authored-by: sfan5 <sfan5@live.de> Co-authored-by: yw05 <37980625+yw05@users.noreply.github.com>
I can successfully apply that patch after I use |
@Emojigit More importantly, can you confirm that the patch fixes it for you?
I think that too, but we determined that this somehow makes a difference when we prepared the IME PR (minetest/irrlicht#23 (comment)). |
I think I was a bit messed up a bit earlier, and yes, that does make a difference. However, I am not sure if that is needed because from my local tests the IME was disabled with |
I determined the parameter does not make a difference and merged the original fix as: |
Minetest version
OS / Hardware
Operating system: Ubuntu 20.04 LTS
CPU: Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
GPU model: ?
OpenGL version: ?
Summary
Minetest chatroom keyboard acts strange makes me hard to type commands. for example,
//unmark
becomes//unmmrk
, etc.The text was updated successfully, but these errors were encountered: