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就可以正常使用了,而不會成爲滑鼠觸屏了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章