linux的触摸屏之二:手工调试
来源:互联网 发布:安装ubuntu后花屏 编辑:程序博客网 时间:2024/04/27 03:42
(2)处理说明:“system/etc/pointercal”这个文件是被java程序读取使用的,文件目录:frameworks/base/services/java/com/android/server/InputDevice.java(注:我用的是koolu的源码,官方的源码请自行搜索)。该文件的第32行定义了:static final String CALIBRATION_FILE = "/system/etc/pointercal";这个CALIBRATION_FILE变量在第237行被使用于打开该文件:FileInputStream is = new FileInputStream(CALIBRATION_FILE);后面的代码就是从这个文件里读取那7个数据,用于上层函数的坐标转换。所以只要根据该公式通过手工计算出那7个值,就可以准确的进行触摸操作了。
(3)计算:计算前需要取得4个触摸屏的坐标,我们取LCD 4个对角的坐标,因为只有这4个坐标知道确切的LCD坐标。要取坐标必须打开内核中触摸屏的调试代码,启动后在console上使用dmesg命令来跟踪取得。如下是我的320x240屏记录的结果:
坐标轴里小括号()里面的是调试信息给的触摸屏坐标,中括号[]里的是对应的LCD坐标。
x坐标
/|/
|(X:870, Y:140) (X:870, Y:890)
| [320,0] [320,240]
|
|
|
+-------------------------------> y坐标
(X:120, Y:140) (X:120, Y:890)
[0,0] [0,240]
设定s=65536,将那4个坐标代入那个公式,可以得出8个方程组:
0 = a*120 + b*140 + c
0 = d*120 + e*140 + f
0 = a*120 + b*890 + c
65536*240 = d*120 + e*890 + f
65536*320 = a*870 + b*140 + c
0 = d*870 + e*140 + f
65536*320 = a*870 + b*890 + c
65536*240 = d*870 + e*890 + f
解方程组后就可得(本人未验证解方程):a = 0,b = 20971,c = -2935940,d = 27962,e = 0,f = -3355440,s = 65535。
然后用工具打开andriod的“system/etc/pointercal”文件,把这几个数输进去,用空格分开,此时启动试试。
我的屏到这个步骤后触摸操作的左右变成了上下,上下变成了左右操作,处理方法:把a,b,c值和d,e,f值分别对调。再启动试试。还是不行,左右是正确的,上下是反的。处理方法:把Y坐标再反向的公式:Ys‘ = 320 - Ys = 320 - (a*Xd + b*Yd + c)/s,重新计算a,b,c的值,就OK了。
这是手工调的方法,如果要用程序校准的话可以通过用tslib。
参考原文:http://blog.21ic.com/user1/2537/archives/2009/61231.html
- linux的触摸屏之二:手工调试
- linux的触摸屏:手工调试 && 调试各种TP时碰到的问题
- 触摸屏之二
- linux 串口触摸屏调试记录
- linux的触摸屏之一:原理及APK调试
- linux的触摸屏之一:原理及APK调试
- linux的触摸屏之一:原理及APK调试
- linux的触摸屏之一:原理及APK调试
- linux的触摸屏之一:原理及APK调试
- linux的触摸屏之一:原理及APK调试
- CTP触摸屏调试之--getevent
- Linux驱动之触摸屏
- android 移植 之二 触摸屏
- android 移植 之二 触摸屏
- Linux驱动之触摸屏(1)
- Linux驱动之触摸屏(2)
- Linux驱动之触摸屏(3)
- 基于linux-2.6.33的液晶驱动之触摸屏
- 在Windows Vista™及windows 7™上使用3GB切换
- CPU 微体系结构对浮点运算的影响
- linux的触摸屏之一:原理及APK调试
- 对Cisco Secure PIX 525防火墙的介绍(1)
- .metadata下文件夹介绍
- linux的触摸屏之二:手工调试
- class.forName()
- 在javascript里 string 和 int 类型得相互转换
- C++中的模板
- 设计模式之策略模式
- String
- linux的触摸屏之三:解析android平台上的tslib过程
- POI实战-java开发excel详解(第一章 简单写出)
- 行为管控解决方案