Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
No keyboard input on BeagleBone Black
I am using QT on BeagleBone Black to run an example widget aplication. My mouse works but the keyboard doesnt. I was trying to add a variables to the /etc/enviroment:
QWS_MOUSE_PROTO=tslib:/dev/input/mouse0 QWS_KEYBOARD=linuxinput:/dev/input/event1 TSLIB_CALIBFILE=/etc/pointercal TSLIB_CONFFILE=/etc/ts.conf TSLIB_PLUGINDIR=/usr/lib/ts
event1 is my keyboard. I am not getting any input to the lineedit that i have in the application nor the system command line. The keyboard works normally outside qt application. How can I turn on the keyboard? I would really aprichiate all help in this matter!
So far I was running my application from the Qt creator. Now I have run the application nativelly in the command line using ./myapp -qws. In this situation, my keyboard input is going behind the application to the command line, instead of qt app... So even though im root, i typed sudo, and then keyboard started working. Thats weird for me. Is there a way to make the Qt app use sudo as well?
When i run with sudo on the device- keyboard works. When i run with sudo through ssh, it doesnt. Why?
Hello there, Could anyone help in this matter please? I Still havent resolved the problem. Now I have noticed that keyboard also doesnt work when I run the Qt app at startup from rc.local
Which version of Qt are you using ? Do you have the rights to access the input devices ?
My application rights are:
-rwxrwxrwx 1 root root 353100 Mar 2 2015 OvenViewer
And the input device rights are:
crwxrwxrwt 1 root root 13, 65 Mar 1 21:45 event1
I have set the rights in a file /etc/udev/rules.d/85-pure-data.rules:
My Qt version is 4.8.6:
QMake version 2.01a
Using Qt version 4.8.6 in /opt/qt-arm/lib
Also there is one thing I have noticed thats suspicious for me. When I run the program remotelly at termination of it I always see a line:
bash: line 1: 653 Terminated DISPLAY=':0.0' QWS_KEYBOARD='/dev/tty' /home/debian/OvenViewer -qws
QWS_KEYBOARD is set to /dev/tty, even though I have changed it in the build variables to /dev/input/event1 as well as in .user and .pro.user files. But after some builds it becape /dev/tty again in .user file. Might this be the case? How does he know what variable to set?
Also, why does the mouse work, but not keyboard...?
Starting the application from Qt Creator ?
Yes, the last post was about when running from qt creator.
Also one more thing. I have just implemented by hand a code that reads from
/dev/input/event1and I have placed it in the main before MainWindow is created and it works, which means that the app has the rights to red the input, just the Qt doesnt interpret it, why?
The code here after retrieving 20 events from
/dev/input/event1continues to the Qt gui App: Keyboard test code
Just to be entirely sure, Qt 4 series ?
Yes, the package i have installee it from was qt 4 everywhere
Did I saw correctly ? You have "QWS_KEYBOARD='/dev/tty'" in either a bash script on your target or set in Qt Creator in the run environment panel
Yes qt creator seems to set it somehow, even though i have found all occuriences of QWS_KEYBOARD in project files and set it to event1. Thats not that much of a problem, the bigger deal is that it doesnt start from rc.local script.
Look on the Run part of the Project panel in the Environment Variables
@SGaist i started there, the walue was set correctly with event1 and qt creator doesnt care, i think its a bug.
Strange, which version of Qt Creator are you using ?
Qt creator version 3.2.0
Did you check with a more recent version ?
No, I havent. Is there any known bug here? Also, I didnt think there is a newer qt version for embedded systems.
Sorry, I meant a more recent version of Qt Creator, as for Qt 4 the latest version is 4.8.7