android4.0与2.3版本的TP代码区别解析
通常来说在android2.3上调试TP时,只需要把linux驱动调通,android就可以正常使用了。但是到了android4.0上又有些不同了,针对linux驱动,需添加如下一些内容:
1、在手指按下时需调用如下函数上报Key Down:
input_report_key(struct input_dev *input, BTN_TOUCH, 1);
2、在手指释放时需调用如下函数上报Key Up:
input_report_key(struct input_dev *input, BTN_TOUCH, 0);
这样通过的话,可以在android4.0上看到有鼠标指针(圆圈)可以移动,把触摸屏做成了笔记本电脑上的鼠标触摸屏了,后来再查了下,原来需要添加一个idc文件,具体识别优先级参考:http://source.android.com/tech/input/input-device-configuration-files.html这篇文档,会按下面的顺序识别配置文件:
/system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc /system/usr/idc/Vendor_XXXX_Product_XXXX.idc /system/usr/idc/DEVICE_NAME.idc /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc /data/system/devices/idc/DEVICE_NAME.idc
为了方便,我直接创建一个“设备名.idc”的文件,直接放到/system/usr/idc/目录下,相应的内容参考如下:
# Basic Parameters touch.deviceType = touchScreen touch.orientationAware = 1 # Size touch.size.calibration = diameter touch.size.scale = 10 touch.size.bias = 0 touch.size.isSummed = 0 # Pressure # Driver reports signal strength as pressure. # # A normal thumb touch typically registers about 200 signal strength # units although we don't expect these values to be accurate. touch.pressure.calibration = amplitude touch.pressure.scale = 0.005 # Orientation touch.orientation.calibration = none
这样配置好后,在android4.0上的TP就可以正常使用了,而不会成为滑鼠触屏了。
- Android Activity中onStart()和onResume()的区别分析
- Android编程中@id和@+id的区别分析
- Android源码中final关键字的用法及final,finally,finalize的区别
- Android 启动 Service(startservice和bindservice) 两种方式的区别
- Android中home键和back键区别实例分析
- Android显式启动与隐式启动Activity的区别介绍
- Android中gravity、layout_gravity、padding、margin的区别小结
- Android 数据存储之 FileInputStream 工具类及FileInputStream类的使用
- Android编程中FileOutputStream与openFileOutput()的区别分析
相关文章
Android实现评论栏随Recyclerview滑动左右移动
这篇文章主要介绍了Android实现评论栏随Recyclerview滑动左右移动效果,仿约会吧应用详情页实现,感兴趣的小伙伴们可以参考一下2016-05-05Android handle-message的发送与处理案例详解
这篇文章主要介绍了Android handle-message的发送与处理案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下2021-08-08Android 个人理财工具二:使用SQLite实现启动时初始化数据
本文主要介绍 Android 使用SQLite实现启动时初始化数据,这里对SQLite 的数据库进行详解,附有示例代码,有兴趣的小伙伴可以参考下2016-08-08
最新评论