Yocto / i.Mx.6:如何在触摸屏显示器上支持触摸

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

我正在开发支持 Qt 5.6.2 的 Yocto 2.1 上 运行s 的 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.

我不知道如何配置正确的内核选项来检测触摸屏。对此的任何帮助都是可观的。提前致谢。

我选择了以下选项: 设备驱动程序 -> HID 设备 -> 特殊 HID 驱动程序 -> HID 多点触控面板 作为内核配置中的嵌入式驱动程序 (*),然后我通过添加触摸屏的供应商重建了内核ID 和设备/产品 ID 到文件 hid-ids.hhid-multitouch.c 在相关位置。

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