Qt World Summit: Submit your Presentation

No keyboard input on BeagleBone Black

  • Hello there,
    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:


    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!

  • Update:
    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

  • Lifetime Qt Champion


    Which version of Qt are you using ? Do you have the rights to access the input devices ?

  • Hello,
    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:
    KERNEL=="event1", MODE="777"

    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...?

  • Lifetime Qt Champion

    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/event1 and 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/event1 continues to the Qt gui App: Keyboard test code

  • Lifetime Qt Champion

    Just to be entirely sure, Qt 4 series ?

  • Yes, the package i have installee it from was qt 4 everywhere

  • Lifetime Qt Champion

    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.

  • Lifetime Qt Champion

    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.

  • Lifetime Qt Champion

    Strange, which version of Qt Creator are you using ?

  • Qt creator version 3.2.0

  • Lifetime Qt Champion

    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.

  • Lifetime Qt Champion

    Sorry, I meant a more recent version of Qt Creator, as for Qt 4 the latest version is 4.8.7