一、确認觸摸屏是否能夠正常工作
一般的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動作