linux - Qt 5.3.2 + TSlib : wrong touch coordinates

标签 linux qt qt5 embedded-linux touchscreen

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

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

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

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

这里发生了什么?有什么想法吗?

最佳答案

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

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

关于linux - Qt 5.3.2 + TSlib : wrong touch coordinates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31580004/

相关文章:

c++ - aboutToQuit 期间的 Qt 异步操作

c++ - 在 QAbstractItemModel::data() const 中,我如何添加一些线程安全数据

c++ - 从值填充 QTableWidget

c++ - QSettings - 读取 INI 文件

c++ - Q文件对话框 : folder name appears twice under windows

c++ - Qt Pushbutton 必须在延迟后处理信号

linux - 如何使用 Scala 实现 ls -l

linux - 使用 Linux find 的奇怪结果

linux - 排序命令给出意外输出

linux - 部署依赖于共享库的 Linux 应用程序的公认方法是什么?