【问题标题】:Keyboard input in QtQt 中的键盘输入
【发布时间】:2011-09-19 13:46:08
【问题描述】:

我正在开发一个在嵌入式 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。欢迎任何想法。

【问题讨论】:

  • 您是否尝试过使用 QWS_KEYBOARD 只列出一个设备(即export QWS_KEYBOARD="linuxinput:/dev/intput/event0")?
  • 是的,我有,结果相同。我不明白为什么它会进入停止状态。显然它与这个 QWS_KEYBOARD ,......只是无法弄清楚是什么。

标签: linux qt embedded


【解决方案1】:

不敢相信,但将 Q​​WS_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 终止应用程序。所以,就目前而言,我至少可以输入文字。

如果有任何改进会发布。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 2011-06-20
  • 2012-03-01
相关资源
最近更新 更多