一、确认触摸屏是否能够正常工作
一般的USB 接口免驱触摸屏均能免驱支持windows XP, windows 7, windows 8 等windows 家族的操作系统,所以在使用触摸屏搭建最终使用环境乊前可以使用windows家族系统测试触摸屏,确保触摸屏能够正常的工作(相当于来料检测)。
接下来测试触摸屏能否支持当前的android 操作系统,假设当前的操作系统是原生的Android 操作系统,那么在USB 免驱触摸屏连接到设备乊后,用户点击时操作系统的UI会有响应,为了便于观测是否有响应,开发者可以在android 系统的开发人员选项中勾选“显示触摸操作”。如果操作系统UI 有响应,那么在屏幕上会显示一个小白点。此时用户的点击是丌能准确识别的。
二、复制和修改文件
1.将.idc 文件(两个)复制到 /system/usr/idc 中
2. drivers\hid\hid-ids.h文件修改 增加以下两条宏定义(如果存在则忽略此步骤)
#define USB_VENDOR_ID_GOODTOUCH 0x1aad
#define USB_DEVICE_ID_GOODTOUCH_000f 0x000f
#define USB_VENDOR_ID_GOODTOUCH_MT 0x8342
#define USB_DEVICE_ID_GOODTOUCH_000f _MT 0x010A
3. drivers\hid\hid-core.c文件修改
在hid_have_special_driver[]数组中添加以下代码
{ HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH, USB_DEVICE_ID_GOODTOUCH_000f) },
{ HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH_MT, USB_DEVICE_ID_GOODTOUCH_000f_MT) },
4. drivers\hid\hid-multitouch.c
在mt_devices[]数组中添加以下代码
{ .driver_data = MT_CLS_DEFAULT, HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH,USB_DEVICE_ID_GOODTOUCH_000f) },
{ .driver_data = MT_CLS_DEFAULT, HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH_MT,USB_DEVICE_ID_GOODTOUCH_000f_MT) },
三、编译选项配置
menuconfig勾选HID Multitouch panels
menuconfig这个HID Multitouch panels选项要是选的“M"
要在init.sun4i.rc中加 insmod /system/vendor/modules/hid-multitouch.ko
xxx-product.mk中要加
~/Vendor_1aad_Product_000F.idc:system/usr/idc/Vendor_1aad_Product_000F.idc
~/Vendor_8342_Product_010A.idc:system/usr/idc/Vendor_8342_Product_010A.idc
编译前请先进行Clean动作