Qt 5.3.2 + TSlib:错误的触摸坐标

时间:2015-07-23 06:47:17

标签: linux qt qt5 embedded-linux touchscreen

我目前正在i.MX6系统上运行一个运行Linux(由Yocto构建)的嵌入式设备。我使用的是Qt 5.3.2(平台eglfs),我使用TSLIB来处理我的触摸屏。

我能够使用ts_calibrate成功校准我的触摸屏然后用ts_test进行测试,一切都很好:屏幕上的十字准线指针完全跟随我的手指。

此时我运行自己的Qt应用程序,它实际上是一个基于QML的应用程序。触摸工作(我的意思是我可以用我的手指点击我的屏幕上的按钮)但我有一个奇怪的行为...如果我触摸触摸屏底部触摸屏按钮的顶部被按下...... Qt应用程序错误地翻译了触摸坐标...

这不是一般问题:如果我触摸触摸屏的底部,则按下正确的按钮(正确)。但如果我再次触摸触摸屏的上部(顶部)部分,则会触摸屏幕底部的按钮。

这里有什么?有什么想法吗?

1 个答案:

答案 0 :(得分:5)

好的,我自己找到了一个解决方案:这是因为EVDEVTSLIB同时工作。如果我禁用EVDEV设置环境变量QT_QPA_EGLFS_DISABLE_INPUT=1,然后在命令行上显式指定-plugin=tslib启动我的应用程序,我的应用程序工作正常。

实际上禁用EVDEV鼠标检测丢失,鼠标指针始终显示在我的触摸应用程序的屏幕上。无论如何,我可以很容易地摆脱它设置另一个环境变量QT_QPA_EGLFS_HIDECURSOR=1