HID android add touch screen

来源:互联网 发布:java 向邮箱发送邮件 编辑:程序博客网 时间:2024/06/05 08:05

http://www.csdn123.com/html/mycsdn20140110/51/51b546889ce6b73e52c781c37f5d0af6.html

添加VID/PID到标准hid设备-OK


修改文件:
     1、在hid-ids.h中加入vid pid 

  
     2、在hid-multitouch..c->mt_devices[] 中加入
          {

               .driver_data=MT_CLS_DEFAULT,
                 HID_USB_DEVICE(VID,PID)

          }
     
     3、在hid-core.c->hid_have_special_driver[]中加入HID_USB_DEVICE(VID,PID)
     
------------------------------------------------------------------------------------------------------------------------------------------------------
4:添加内核配置选项:
    
5: 
    
7:
  
----------------------------------------------------------------------------------------------------------------------------------------------------------
8:http://source.android.com/tech/input/input-device-configuration-files.html
   根据这个网站添加上层IDC文件:
  
9:
# Copyright (C) 2012 Beijing IRTOUCH SYSTEMS Co.,Ltd### Input Device Configuration File for the IRTOUCH touch screen.## Basic Parameterstouch.deviceType = touchscreentouch.orientationAware = 1# 0 外部设备,1 内部设备device.internal = 1# Touch Size#touch.touchSize.calibration = pressure#touch.toolSize.calibration = linear#touch.toolSize.linearScale = 10#touch.toolSize.linearBias = 160#touch.toolSize.isSummed = 1# Size#touch.size.calibration = diameter#touch.size.scale = 10#touch.size.bias = 0#touch.size.isSummed = 0#scale 规模,面,比例;#bias 偏压,偏差#summed 总结# Pressure压力-/amplitude振幅#touch.pressure.calibration = amplitude#touch.pressure.scale = 0.005# Orientation方向-/校准touch.orientetion.calibration = none
---------------------------------------------------------------------------------------------------------------------------------------------------
     上面那个idc文件不能用,用下面这个idc文件,Android 触摸屏idc文件一般都是通用的,我的用这个下面这个idc文件就可以了,知识触摸屏没有鼠标箭头,但是鼠标点哪里就是去哪里
 
# Copyright (C) 2010 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a copy of the License at## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License.## Emulator keyboard configuration file #1.## Basic Parameterstouch.deviceType = touchScreentouch.orientationAware = 1touch.size.calibration=diametertouch.size.scale=10touch.size.bias=0touch.size.isSummed=0touch.size.pressure.calibration=amplitudetouch.pressure.scale=0.005touch.orientation.calibration=none

---------------------------------------------------------------------------------------------------------------------------------------------------
10: adb shell 
    su
    mount
   
    mount -w -o remount  /dev/block/platform/omap/omap_hsmmc.0/by-name/system     /system
 
    
 
   
    chmod 777 /system/usr/idc   =>修改idc文件可写权限;
   
     adb push /home/tonsincs/Vendor_0416_Product_5030_Version_0110.idc /system/usr/idc/
   
 -----------------------------------------------------------------------------------------------------------------------------------------------------------
11:还有一种把 IDC 文件放到/system/usr/idc/ 目录下的方法:
     1)把你的 IDC 文件拷贝到android源码:frameworks/base/data/keyboards/ 目录下;
     2)修改common.mk文件:
     
     3)croot 到android源码根目录: make -j8 完成后,find 命令在out目录查找下……结果如下则OK;
    
 -----------------------------------------------------------------------------------------------------------------------------------------------------------
总结:
       最近一直移植Android(4.1)下面的触摸屏驱动,也接触到了几种触摸屏,总的来说,要么把触摸屏当标准的HID设备来用,这个移植就简单,把触摸屏的VID/PID加到hid-ids.h hid-core.c hid-multitouch.c 文件里面,而且还要上层/system/usr/idc/Vendor_xxx_Product_xxx.idc文件配合,触摸屏才能使用,否则你的触摸屏用着跟笔记本的触摸板似得!
       个人理解,修改drivers/input/touchscreen/usttouchscreen.c文件中添加你的触摸屏驱动可以,不过这个比较麻烦,你要知道怎么写驱动,一些函数怎么实现,算法怎么实现;比较麻烦;
       也接触到了i2c总线的触摸屏驱动,这个又比较麻烦一点,要根据你的arch/arm/mach-xxxx/board-xxx.c文件中注册你的触摸屏驱动i2c总线信息;再添加你的驱动源码;
       总得来说,写驱动的话比较麻烦,你必须有电路原理图、芯片数据手册,而且要看的明明白白,怎么去是实现那些算法,而且要对linux 驱动很了解,你的驱动挂载哪里,i2c总线、usb总线,又要很多协议;很多知识;usb2.0协议,英文287页;很麻烦!慢慢学习了!

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 胃不消化不解大便怎么办 七个月宝宝消化不良怎么办 宝宝上火不拉屎怎么办 三天没拉大便怎么办 宝宝肚子胀积食怎么办 2岁宝宝不消化怎么办 宝宝吃多不消化怎么办 宝贝不消化吐了怎么办 五天没解大便怎么办 婴儿便秘有血怎么办 宝宝大便稀酸臭怎么办 婴儿的屎有酸味怎么办 宝宝解绿色大便怎么办 婴儿大便绿色稀怎么办 新生儿十天拉稀怎么办 16天新生儿便秘怎么办 50天新生儿便秘怎么办 18天新生儿便秘怎么办 5天新生儿便秘怎么办 13天新生儿便秘怎么办 宝宝吃米粉便秘怎么办 吃奶的宝宝便秘怎么办 母乳喂养的宝宝便秘怎么办 纯母乳宝宝便秘怎么办 六月大宝宝便秘怎么办 喝母乳宝宝便秘怎么办 宝宝喝奶粉便秘怎么办 小孩上火拉不出粑粑怎么办 宝宝上火拉不出粑粑怎么办 新生宝宝不大便怎么办 宝宝几天不大便怎么办 40天宝宝便秘怎么办 半个月宝宝便秘怎么办 30天新生儿便秘怎么办 婴儿睡觉抱着睡放不下怎么办 宝宝拉绿大便怎么办 喝奶粉孩子便秘怎么办 吃奶粉便秘是怎么办 婴儿蛋花样大便怎么办 婴儿拉肚子吃药不好怎么办 奶粉引起的便秘怎么办