usb触摸屏驱动移植

来源:互联网 发布:北京爱知科技有限公司 编辑:程序博客网 时间:2024/04/30 16:17

        最近公司产品在原有基础上增加一个触摸功能,因电路已经定型,只有usb接口引出来,所以只能选用市面上usb接口的触摸屏,联系了多家触摸屏代理商,移植时都存在问题。

       公司产品用的平台是: PXA270 + linux2.6.27 +QT,触摸屏校准用的是tslib。

       几家厂商的触摸屏连接到板上后,系统几乎都能检测到该设备,cat /dev/input/event2 或者cat /dev/hiddev0后,点击触摸屏后,终端都有乱码数据输出,这说明触摸屏驱动是没有什么问题的了,但使用tslib校准时,总是提示selected device is not a touchscreen。运行QT程序后,程序也检测不了触摸屏输入。

       百思不得其解,为了解决这个问题,花了我很长的时间,尝试了各种方法,坑爹啊,开始是怀疑tslib版本不行,所以从网上下载了好几个版本tslib编译,下载,执行,但都不行,之后便想不用tslib,而是用QT自带的校准程序linuxtp,于是重新编译QT,编译时加上选项qt-mouse-linuxt,去掉qt-mouse-tslib。编译好,下进板子,校准,还是不行。泪奔了。

       在快要跳楼的时候,救星来了。一个厂商发来一个驱动,打开一个,是需要更改tslib源码,顿时醒悟,幸福滴又泪奔了一次。原来usb触摸屏驱动和tslib接口不一致,需要修改tslib源码,tslib才能读取到驱动数据。

      重新编译tslib,下载进板子,执行ts_caculate,久违的触摸屏校准界面终于出现了,校准后,QT程序也能检测到触摸屏输入了。

     回想整个过程,觉得是自己对tslib理解还不够深入,导致了前期总是在操作,配置上花费了很多很多的时间,试想一下,如果对tslib有深入的了解,知道它是如何读取数据的,如何传递数据给QT的,我想我也不会走这么多弯路了。

 

原创粉丝点击