usb触摸屏驱动移植
最近公司产品在原有基础上增加一个触摸功能,因电路已经定型,只有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的,我想我也不会走这么多弯路了。
usb触摸屏驱动移植相关推荐
- linux内核关闭触摸屏校准,linux内核usb触摸屏驱动bug调试- selected device is not a touchscreen I understand...
近期给客户调试一块数控板,今天客户带过来一个屏,并且有一个usb的触摸屏芯片接在屏上.屏很快就弄好正常显示. 触摸屏在内核下找到usb 触摸屏驱动,内核启动后这个usb转的触摸屏也正常找到,注册为ev ...
- 移植基于linux-2.6.26.5内核s3c2410触摸屏驱动移植
移植基于linux-2.6.26.5内核s3c2410触摸屏驱动移植的过程记录下来: (1)首先打一个补丁:s3c2410_touchscreen.patch, 在内核解压的根目录下 patch -N ...
- NUC972触摸屏驱动移植过程分析(二)
https://blog.csdn.net/b7376811/article/details/86607529 今天继续分析NUC972的触摸屏驱动移植过程,上一节主要分析了触摸屏需要数据,今天来分析 ...
- 嵌入式linux usb wifi驱动移植
文档名称:嵌入式linux usb wifi驱动移植 版本历史 版本号 时间 内容 v1.0b001 2012-6-18 初始版本,介绍在嵌入式 ...
- EP-N8530S USB WIFI 驱动移植
/************************************************************************ EP-N8530S USB WIFI 驱动移植* 说 ...
- 9.触摸屏驱动移植实战
转自 https://edu.csdn.net/lecturer/505 朱老师物联网大讲堂 <5.linux驱动开发-第9部分-5.9.触摸屏驱动移植实战> 第一部分.章节目录 5.9. ...
- 2.6.36.2 s3c6410 触摸屏驱动移植。
CSDN_Acanoe 的博客:http://blog.csdn.net/ACanoe 硬件环境:OK6410 A板,4.3 寸TFT 屏. 移植内核:Linux2.6.36.2 . 参考内核: 飞 ...
- FL2440移植LINUX-3.4.2 -- 按键驱动和触摸屏驱动移植
(一)先移植按键输入子系统驱动: 拿过去编译,改错,然后insmod: (二)触摸屏驱动拿过去编译,改错,然后insmod: 触摸屏驱动的使用: 编译: tar xzf tslib-1.4.tar.g ...
- usb触摸屏驱动 - usbtouchscreen
驱动编译: 目前的kernel中都是自带了usbtouchscreen驱动的,我的版本3.1.10 源码位于:/kernel/drivers/input/touchscreen/usbtouchscr ...
最新文章
- shell脚本之日志拆分和监听
- zephyr 系统--- 内存池使用方法
- 一个即将写入MySQL源码的官方bug解决之路
- Neo4j:Cypher – Neo.ClientError.Statement.TypeError:不知道如何添加Double和String
- 设计模式-Builder和Factory模式区别
- 7年,OpenStack从入门到放弃
- linux系统软Raid高可用配置
- 1.2、Mybatis二级缓存测试
- java.exe 0xc000012d_应用程序无法正常启动 0xc000012d
- 百度云文字识别demo
- 五一成都峨眉山三日游 20140501~20140503
- Skype for business 界面自动弹出打开
- 如何在PDF上添加电子签名?签名技巧分享
- 波士顿房价预测(线性回归、岭回归、决策树)
- pandas从入门到进阶
- 博客网站的选择兼开博通文
- 1079.活字印刷(Python)
- malloc函数分配内存失败的原因及解决方法
- oracle怎么查日记账,Oracle EBS 导入日记账报错
- ICE简介及C++程序例子