我目前正在开发一个嵌入式设备,在i.MX6系统之上运行Linux (由约克托构建)。我使用QT5.3.2 (platform eglfs
),并使用TSLIB
处理触摸屏。
我能够成功地使用ts_calibrate
校准我的触摸屏,然后用ts_test
测试它,一切都很好:屏幕上的十字指针正好跟随我的手指。
此时,我运行自己的Qt应用程序,它实际上是一个基于QML的应用程序。触摸正在工作(我的意思是我可以用手指点击屏幕上的按钮),但我有一个奇怪的行为.如果我触摸触屏底部的触屏按钮的顶部被按下.就像Qt应用程序把触摸坐标翻译错了.
这不是一个普遍的问题:如果我触摸触屏的底部,那里的按钮就会被按下(正确)。但是,如果我再一次触摸触摸屏的上部(顶部),屏幕底部的按钮就会被触摸)。
这上面怎么回事?有什么想法吗?
发布于 2015-07-23 07:54:30
好的,我自己找到了一个解决方案:这是因为EVDEV
与TSLIB
同时工作。如果禁用EVDEV
设置环境变量QT_QPA_EGLFS_DISABLE_INPUT=1
,然后在命令行上显式指定-plugin=tslib
,则应用程序可以正常工作。
实际上,禁用EVDEV
,鼠标的检测丢失,鼠标指针总是显示在我的触摸应用程序的屏幕上。无论如何,我可以轻松地摆脱它,设置另一个环境变量QT_QPA_EGLFS_HIDECURSOR=1
。
https://stackoverflow.com/questions/31580004
复制相似问题