天天看點

Android系統USB觸摸屏配置方法

一、确認觸摸屏是否能夠正常工作

一般的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動作