linux - Yocto/i.Mx.6 : How to support touch on touchscreen monitor

标签 linux qt qt5 yocto imx6

我正在研究在 Yocto 2.1 上运行并支持 Qt 5.6.2 的 Nitrogen6x 开发板。我开发了一个 Qt 应用程序,该应用程序应支持 USB 键盘、鼠标和触摸屏等输入选项,并应支持全高清分辨率显示。

我已使用 HDMI 至 VGA 转换器电缆将支持全高清分辨率的触摸屏显示器连接到 Nitrogen 板上,我的应用程序在正确的分辨率下运行良好,并支持即插即用键盘和鼠标连接。

但是,Qt Framework 没有接收到触摸屏监视器上的触摸响应,因此触摸界面无法按预期工作。

当我插入鼠标时,我在氮气板控制台上看到以下信息:

~ # usb 1-1.1: new low-speed USB device number 8 using ci_hdrc
input: HID 413c:3010 as /devices/soc0/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.1/1-1.1:1.0/0003:413C:3010.0006/input/input3
hid-generic 0003:413C:3010.0006: input: USB HID v1.00 Mouse [HID 413c:3010] on usb-ci_hdrc.1-1.1/input0

但是,当我插入触摸屏显示器时,我只看到这个:

~ # usb 1-1.1: new full-speed USB device number 7 using ci_hdrc

我原以为触摸屏界面会被自动检测到,并作为输入插件传递给 Qt 应用程序。

我已经运行了 make menuconfig 并启用了 USB Touch screen 重建了内核。但是,在内核启动时仍然注意到以下错误消息:

Galcore version 5.0.11.41671
egalax_ts 2-0004: Failed to read firmware version
egalax_ts: probe of 2-0004 failed with error -5
ft5x06-ts 2-0038: reset fffffffe
ft5x06-ts 2-0038: Could not detect touch screen -19.

我是否缺少配置正确的内核选项来检测触摸屏的方法。对此的任何帮助都是可观的。提前致谢。

最佳答案

我选择了以下选项: Device Drivers -> HID Devices -> Special HID drivers -> HID Multitouch panels 作为内核配置中的嵌入式驱动程序 (*),然后我通过添加触摸屏的供应商 ID 和设备重建了内核/产品 ID 到相关位置的文件 hid-ids.hhid-multitouch.c

我的触摸屏现在可以正常工作了。

关于linux - Yocto/i.Mx.6 : How to support touch on touchscreen monitor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610090/

相关文章:

CSS 访问QHeaderView item columns设置background-image,或者设置大图标给QHeaderView

regex - 使用 awk/sed 从一行中提取数字

java - 一种使用类似 Freetype 的字体渲染获取 Linux JDK tarball 的方法

c++ - 文本文档中只有左边框

linux - arm-linux-gnueabihf-ld : unrecognized option '-Wl,--gc-sections'

c++ - Qt Qml中的圆形图像

python-3.x - QListWidgetItem 内的小部件在内部移动后消失

linux - 如何在 unix 中格式化带有目录名的文件列表?

linux - 我如何获得昨天的日期

c++ - OpenGL:在两个元素之间画线