Qt 5.3.2 + TSlib:错误的触摸坐标
Qt 5.3.2 + TSlib: wrong touch coordinates
我目前正在开发基于 i.MX6 系统的嵌入式设备 运行ning Linux(由 Yocto 构建)。我正在使用 Qt 5.3.2(平台 eglfs
)并使用 TSLIB
来处理我的触摸屏。
我能够使用 ts_calibrate
成功校准我的触摸屏,然后我使用 ts_test
对其进行测试,一切正常:屏幕上的十字准线指针正好跟随我的手指。
此时我运行我自己的Qt应用程序,它实际上是一个基于QML的应用程序。触摸工作正常(我的意思是我可以用手指点击屏幕上的按钮)但我有一个奇怪的行为......如果我触摸触摸屏的顶部触摸屏底部的按钮被按下...就像 Qt 应用程序以错误的方式翻译了触摸坐标...
这不是一般性问题:如果我触摸触摸屏的底部,就会按下右侧的按钮(正确)。但是,如果我再次触摸触摸屏的上(顶部)部分,屏幕底部的按钮就会被触摸。
这里发生了什么?有什么想法吗?
好的,我自己找到了解决方案:这是由于 EVDEV
与 TSLIB
同时工作造成的。如果我禁用 EVDEV
设置环境变量 QT_QPA_EGLFS_DISABLE_INPUT=1
然后在命令行上明确指定 -plugin=tslib
启动我的应用程序,我的应用程序工作正常。
实际禁用 EVDEV
鼠标检测丢失,鼠标指针始终显示在我的触摸应用程序的屏幕上。无论如何,我可以很容易地摆脱它设置另一个环境变量 QT_QPA_EGLFS_HIDECURSOR=1
.
我目前正在开发基于 i.MX6 系统的嵌入式设备 运行ning Linux(由 Yocto 构建)。我正在使用 Qt 5.3.2(平台 eglfs
)并使用 TSLIB
来处理我的触摸屏。
我能够使用 ts_calibrate
成功校准我的触摸屏,然后我使用 ts_test
对其进行测试,一切正常:屏幕上的十字准线指针正好跟随我的手指。
此时我运行我自己的Qt应用程序,它实际上是一个基于QML的应用程序。触摸工作正常(我的意思是我可以用手指点击屏幕上的按钮)但我有一个奇怪的行为......如果我触摸触摸屏的顶部触摸屏底部的按钮被按下...就像 Qt 应用程序以错误的方式翻译了触摸坐标...
这不是一般性问题:如果我触摸触摸屏的底部,就会按下右侧的按钮(正确)。但是,如果我再次触摸触摸屏的上(顶部)部分,屏幕底部的按钮就会被触摸。
这里发生了什么?有什么想法吗?
好的,我自己找到了解决方案:这是由于 EVDEV
与 TSLIB
同时工作造成的。如果我禁用 EVDEV
设置环境变量 QT_QPA_EGLFS_DISABLE_INPUT=1
然后在命令行上明确指定 -plugin=tslib
启动我的应用程序,我的应用程序工作正常。
实际禁用 EVDEV
鼠标检测丢失,鼠标指针始终显示在我的触摸应用程序的屏幕上。无论如何,我可以很容易地摆脱它设置另一个环境变量 QT_QPA_EGLFS_HIDECURSOR=1
.