Android Touch Calibration解决方案

屏幕校准的基础就是两个直角坐标系的转换,是触摸屏输出的原始坐标系向屏幕的分辨率相关的坐标系转换。对于Android系统来说,触摸屏的原始输出值是在Linux kerneltouch驱动程序通过/dev/event设备节点向外的输出值。而屏幕坐标系就是大家所熟知的屏幕左上角为原点的坐标系。

 

通读过android framework关于input queue的相关代码,你会发现android framework认为/dev/event的设备节点的输出值就直接是屏幕坐标系的值,也就是说android framework认为Linux kernel touch driver应该负责两个直角坐标系的转换工作,而android framework直接用这些转换好的坐标点。

 

好。到现在为止,我们已经知道这个转换工作必须在Linux kernel中完成(或者你修改framework)。

 

由于触摸屏在长时间使用后,他的原始输出值可能会发生变化,所以将校准程序运行在android系统里面才是长久之计。因此这个校准程序必须是java写成,并且在系统第一次clean boot的时间,强制执行。

 

屏幕校准程序通常采用5点校准,得出7个坐标系转换参数,这些校准参数需要在应用程序和驱动程序之间传递,所以可以使用Linux sysfs,可读可写,非常方便。

 

 

我这里有Android Touch Calibration的解决方案,为您的Android产品提供完美方案。有需求者可以联系我,2000元起一个拷贝,价格可以面议。

方案可以做到:

1. 首次开机校准屏幕。

2. 对校准值保存

3. 校准以后每次开机,读出校准值。

4. 采用5点校准

5. 包括校准屏幕教学动画,使程序更加友好。

6. 如有要求,教学动画可以定制.

7. 只有得到正确的校准值,方可离开校准界面

8. 支持多国语言

 

cupcake, donut都可以正常工作。

Éclair之后,framework中添加了对超出屏幕范围的出屏输入事件的过滤代码,导致本方案不能直接使用,但是可以通过去掉若干行过滤代码,达到最终的目的

 

E-mail: cpuwolf@gmail.com

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值