tslib和QT库连用的问题
2017-12-29 17:08
429 查看
问题:近期将 机器中的 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
。
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
。
相关文章推荐
- 移植好lcd驱动和触摸屏驱动后,运行tslib库中的测试程序出现如下问题
- IE9中input事件与异步事件连用会发生跨域问题
- QT 编译过程的问题 :The tslib functionality test failed!
- 在编译QT中出现The tslib functionality test failed!....的问题及解决办法
- tslib问题解决
- tslib问题解决
- js逻辑关系符连用的问题
- Java中Scanner类nextLine()与其他next()方法连用的问题
- 移植tslib编译问题
- LDAP 与 MySql 连用 的JPA事物问题
- C++ 恺撒密码(cin和getline连用出现问题)
- The tslib functionality test failed问题解决方案
- tslib移植全过程,可能遇到的所有问题,错误
- qt库arm移植编译及问题解决
- tslib移植问题
- group by 与order by 连用的问题
- 终于解决Tslib的问题了
- 终于解决Tslib的问题了
- Qt库文件生成与链接问题
- qt编译不识别tslib报找不到问题的解决