我正在研究在嵌入式Linux上运行的Qt应用程序。我对这个Qt业务很陌生,因为我刚刚开始一个月,所以要明白我不是那个面向对象的 ...:P
我在运行Linux的目标上运行Qt应用程序。 Qt文档http://doc.qt.io/archives/qt-4.7/qt-embedded-pointer.html表示我们必须通过导出某些变量来启用触摸屏,USB键盘,键盘等。即,
export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export QWS_KEYBOARD="linuxinput:/dev/input/event0 usb:/dev/input/event2"
好吧,你可以猜到,第一行将QT中的鼠标设备设置为触摸屏。 “tslib”是触摸屏库,“event1”是表示触摸屏的节点。同样,第二行用于板载键盘(event0)和USB键盘(event2)。
现在,触摸屏工作得非常好。但问题是任何一个键盘。如果我不导出第二个变量,即 QWS_KEYBOARD ,那么应用程序运行正常。但是如果我导出第二个变量,应用程序一启动就会进入停止状态(SIGSTOP)。从ps输出中可以看出这一点。我无法使用SIGCONT。
我将尝试从源代码重新配置Qt。欢迎任何想法。
答案 0 :(得分:3)
无法相信这一点,但将QWS_KEYBOARD变量设置为null可以解决问题。 在Qt开发人员常见问题解答http://developer.qt.nokia.com/faq/answer/why_doesnt_my_keyboard_work_after_i_have_done_an_export_qws_keyboard_dev_tt
中找到它export QWS_KEYBOARD=""
嗯,它并没有完全解决问题,因为我仍然需要包括原生键盘和USB键盘。
无论如何,我可以使用箭头/ TAB键移动到字段。文本输入效果很好。虽然CAPS-LOCK和NUM-LOCK似乎不起作用。 SHIFT工作。我可以通过Ctrl + Alt + Bkspce终止应用程序。所以,目前我至少可以输入文字。
如果有任何改进,将发布。