简体   繁体   English

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

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

I am working on Nitrogen6x board that runs on Yocto 2.1 with Qt 5.6.2 support. 我正在使用在Qt 5.6.2支持的Yocto 2.1上运行的Nitrogen6x板。 I have developed a Qt application that shall support the input options like USB Keyboard, Mouse and Touchscreen and shall support a Full HD resolution display. 我开发了一个Qt应用程序,该应用程序应支持USB键盘,鼠标和触摸屏等输入选项,并应支持全高清分辨率的显示。

I have connected a touchscreen monitor which supports Full HD resolution to the Nitrogen board using HDMI to VGA converter cable, and my application was working fine with the correct resolution and supports plug and play keyboard and mouse connections. 我已经使用HDMI到VGA转换器电缆将支持全高清分辨率的触摸屏显示器连接到了氮气板上,并且我的应用程序以正确的分辨率运行良好,并且支持即插即用的键盘和鼠标连接。

BUT, the touch response on the touchscreen monitor was not received by the Qt Framework and hence the touch interface was not working for me as expected. 但是,Qt Framework未收到触摸屏显示器上的触摸响应,因此触摸界面无法按预期工作。

When I plug the mouse am seeing the below information on my nitrogen board console: 当我插入鼠标时,在氮气板控制台上会看到以下信息:

~ # 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

But, When I plug the touchscreen monitor am only seeing this: 但是,当我插入触摸屏显示器时,只会看到以下内容:

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

I was expecting that the touch screen interface will get automatically detected and will be passed as a input plugin to the Qt application. 我期望触摸屏界面将被自动检测,并将作为输入插件传递给Qt应用程序。

I have run make menuconfig and have enabled USB Touch screen rebuilt the kernel. 我已经运行了make menuconfig并启用了USB Touch screen重建内核。 But, still am noticing the below error messages while the kernel is booting: 但是,内核启动时仍注意到以下错误消息:

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.

Am some how missing to configure the right kernel options to detect the touchscreen. 是否缺少一些配置正确的内核选项以检测触摸屏的方法。 any help on this is appreciable. 在这方面的任何帮助都是可观的。 Thanks in advance. 提前致谢。

I have selected the below option: Device Drivers -> HID Devices -> Special HID drivers -> HID Multitouch panels as an embedded driver (*) in my Kernel configuration, and then I have rebuilt the kernel by adding my touchscreen's Vendor ID and Device / Product ID to the files hid-ids.h and hid-multitouch.c at relevant places. 我选择了以下选项: 设备驱动程序-> HID设备->特殊HID驱动程序-> HID Multitouch面板作为内核配置中的嵌入式驱动程序(*),然后通过添加触摸屏的供应商ID和设备来重建内核。 /产品ID到相关位置的文件hid-ids.hhid-multitouch.c

My touchscreen is working as expected now. 我的触摸屏现在可以正常工作了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM