九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 8985|回复: 9
打印 上一主题 下一主题

7寸电容屏linux下QT的驱动(ft5x06)修改

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-7 16:32:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wangzm 于 2012-9-7 16:37 编辑

项目需要用linux系统,QT来做界面,电容屏,而下载光盘中QT是不支持电容屏的

网上找了下,主要就是说要把电容屏模拟成电阻屏与tslib配合上。只说了把ABS_MT_POSITION_X,ABS_MT_POSITION_Y,ABS_MT_TOUCH_MAJOR改成ABS_X,ABS_Y,ABS_PRESSURE,最后再input_sync
经过对内核代码分析和多次试验,终于成功。
主要思路:搜索代码里带MT的字符串的,分析代码,并参考电阻屏驱动结构。
1. 本论坛下载电容屏驱动,ft5x06_ts.h 里 #define CFG_MAX_TOUCH_POINTS  置为1
2. ft5x06_ts.c里面,static void ft5x0x_report_value(void)把ABS_MT_POSITION_X改成ABS_X, y的改成ABS_Y ABS_MT_TOUCH_MAJOR改成ABS_PRESSUSER,值赋1,input_mt_sync去掉,其他带MT的都注释掉,static void ft5x0x_ts_release里pressure赋值为0
3. static int ft5x0x_ts_probe函数里带MT的就保留三个与 X,Y,PRESSURE有关的input_set_abs_params 函数,set_bit带MT的都注释掉。
4. 将驱动加入内核并选中,就是kconfig什么的剪切一下,然后直接make,不要按手册上的./mk,那个是个脚本
5. 启动后,到tslib目录里运行./ts_test 看看吐不吐坐标。不吐多数是有驱动没加载,内核里touchscreen里goodix和solomon也要选上,需要用到其中代码和函数。
5. 查屏对应的event号,用“cat /proc/bus/input/devices”查看,对应修改/etc/profile和/bin里的QT脚本对应的event号。再重启就可以在qt里用触摸操作了,QT4.5可以,qtopia操作点小,不建议使用。
因项目涉及东西多,暂时没有多余时间测试完善代码,请各位多提意见!

附件是代码,内核配置文件及编译好的内核,对应event4。

fxt5x06driver.part1.rar

976.56 KB, 下载次数: 150

fxt5x06driver.part2.rar

976.56 KB, 下载次数: 129

fxt5x06driver.part3.rar

976.56 KB, 下载次数: 117

fxt5x06driver.part4.rar

452.17 KB, 下载次数: 114

回复

使用道具 举报

沙发
发表于 2012-9-7 16:40:41 | 只看该作者
赞一个
回复 支持 反对

使用道具 举报

板凳
发表于 2012-9-9 13:04:54 | 只看该作者
回复 支持 反对

使用道具 举报

地板
发表于 2012-9-11 06:29:08 | 只看该作者
好东西!
回复 支持 反对

使用道具 举报

5#
发表于 2012-9-12 14:30:39 | 只看该作者
顶一个,谢谢楼主分享
回复 支持 反对

使用道具 举报

6#
发表于 2012-9-25 17:39:32 | 只看该作者
用楼主提供的内核了,我的7寸电容屏还是没用.. 为什么??
回复 支持 反对

使用道具 举报

7#
发表于 2012-9-25 17:40:39 | 只看该作者
我错了,没看说明.. 还得改配置....
回复 支持 反对

使用道具 举报

8#
发表于 2012-11-20 09:37:59 | 只看该作者
楼主的硬件平台是哪个?
回复 支持 反对

使用道具 举报

9#
发表于 2013-11-23 20:27:23 | 只看该作者
牛人一个
回复 支持 反对

使用道具 举报

10#
发表于 2015-7-4 02:24:43 | 只看该作者
好东西,我就喜欢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-5-6 15:05 , Processed in 0.021446 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表