1、在hid-ids.h中加入vid pid
1 | #define USB_VENDOR_ID_HAPPYTOUCH 0x0416 |
2 | #define USB_DEVICE_ID_HAPPYTOUCH_SCREEN 0x5030 |
2、在hid-multitouch.c->mt_devices[] 中加入
1 | { .driver_data = MT_CLS_DEFAULT, |
2 | HID_USB_DEVICE(USB_VENDOR_ID_HAPPYTOUCH, |
3 | USB_DEVICE_ID_HAPPYTOUCH_SCREEN) } |
3、在hid-core.c->hid_have_special_driver[]中加入HID_USB_DEVICE(VID,PID)
1 | { HID_USB_DEVICE(USB_VENDOR_ID_HAPPYTOUCH,USB_DEVICE_ID_HAPPYTOUCH_SCREEN)} |
4、设置kernel编译变量
3 | $ export CROSS_COMPILE=arm-eabi- |
5、在内核的config文件中,确认驱动中是否添加了hid-multitouch模块
运行make menuconfig后,将HID Multitouch panels选上。
Device Drivers --->
HID Devices --->
Special HID Drivers --->
HID Multitouch panels
6、编译hid-multitouch.ko
关于如何单独编译kernel驱动的方法,请点击这里。
7、设置触摸屏
Android os : > 4.0
android 4.0以后,触摸屏的触摸模式和鼠标模式使用idc文件来做切换。
需要把触摸屏设备的相应idc文件放到 /system/usr/idc/ 目录下。
如下是IRTOUCH Vendor_6615_Product_0085.idc文件的内容:
11 | touch .deviceType = touchScreen |
12 | touch .orientationAware = 1 |
15 | touch .size.calibration = diameter |
18 | touch .size.isSummed = 0 |
21 | touch .pressure.calibration = amplitude |
22 | touch .pressure.scale = 0.005 |
25 | touch .orientetion.calibration = none |