tslib和QT库连用的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dzw19911024/article/details/78933255

问题:近期将 机器中的 qt5.5的库换成了 qt5.6的库,出现触摸点击同一个点出现不一样的坐标问题,导致在QT应用层会出现滑动的动作。


1、从QT应用层 到QT 源码库--》tslib读数接口 --》驱动接口。查询整个数据流,发现,在使用QT源码调用tslib的接口读取坐标的时候,会出现坐标变化的情况,在QT源码的qtslib.c文件中,在readMouseData函数中查看数据发生变化,而后跟入到tslib的源码中,在ts_read.c的ts_read函数中打印坐标值,发现在该函数中出现了坐标不一样的问题。


2、在运行tslib的bin文件,比如ts_print的时候,点击同一个点,不会出现坐标偏移的情况,所以怀疑是QT和TSLIB配合出现了问题。


解决:项目进度:先放弃tslib 方案。在查看QT源码的时候,发现QT本身有一个touchevent用来管理触摸事件,在使用tslib的时候,是将其模拟成一个鼠标事件上报。改用QT自带的touch-event。需要在.configure 中添加-evdev \配置。 并且修改机器中/etc/profile文件。QT_QPA_EVDEV_TOUCHSCREEN_PARAMETERS=/dev/input/event0 export QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/event0,evdevmouse:/dev/input/event1 。


猜你喜欢

转载自blog.csdn.net/dzw19911024/article/details/78933255