我正在开发 Nitrogen6x 板,该板在 Yocto 2.1 上运行,支持 Qt 5.6.2。我开发了一个 Qt 应用程序,该应用程序应支持 USB 键盘、鼠标和触摸屏等输入选项,并支持全高清分辨率显示器。
我已使用 HDMI 转 VGA 转换器电缆将支持全高清分辨率的触摸屏显示器连接到 Nitrogen 板,并且我的应用程序在正确的分辨率下运行良好,并支持即插即用键盘和鼠标连接。
但是,Qt 框架未收到触摸屏显示器上的触摸响应,因此触摸界面无法按预期工作。
当我插入鼠标时,我的氮气板控制台上会看到以下信息:
~ # 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.h 和 hid-multitouch.c 在相关位置。
我的触摸屏现在可以正常工作了。
您能解释一下如何配置这些驱动程序吗? 谢谢