Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Linux application does not accept keyboard input
Hi. I have an application that I'm compiling and testing on Linux, Mac and Windows. I'm compiling with Qt 5.4.1. Mac and Windows is going well but the Linux application does not accept keyboard input. I have tested on a dozen computers of various versions; all exhibit the same behavior.
I can paste into the text fields but cannot type. I believe I have solved this problem once before but did not make note of the solution and cannot find the answer on the web. It is something to do with xcb.
Help. Can someone shed some light on this issue and provide some guidance?
That's a bit vague:
- What kind of application ?
- QtQuick ? Widget ?
- What linux distribution ?
- Physical / Virtual keyboard ?
It's a Widget application using QApplication.
It's a physical keyboard on several different computers including Ubuntu, Redhat, CentOS, Kali. Every single Linux system.
I did just notice that when I run it from the command line I get:
xkbcommon: ERROR: failed to add default include path auto Qt: Failed to create XKB context Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents.
That's at runtime but I really hope the answer is a compile-time answer since I cannot expect my end users to know how to fix it since even I can't figure it out. :)
Temporary client-side fix is:
Obviously, that's less than optimal since I hope to not require end-users to do that.
Can you check if you have the same behavior with Qt 5.5 ?
I would love to but can't find 5.5.
You can find the beta here
I haven't closed this one because I'm still trying to compile 5.5.0. Seems I have to work through this bug:
Unrelated to this open issue so will pursue that one elsewhere and come back to this ticket as soon as I can.
If it's the Qt3D problem, just remove the folder from the sources when you configure Qt to build since you don't want OpenGL anyway