我正在研究在 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.h 和 hid-multitouch.c。
我的触摸屏现在可以正常工作了。
关于linux - Yocto/i.Mx.6 : How to support touch on touchscreen monitor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610090/