适配USB接口奕力 ILITEK Multi-Touch-V5000

1).config文件  (或者 “make menuconfig” to configure the kernel, then go to Device Drivers -> HID Devices -> Special HID drivers -> HID Multitouch panels and select it as an embedded driver (*). )
-# CONFIG_HID_MULTITOUCH is not set
+CONFIG_HID_MULTITOUCH=y

2)
diff --git a/linaro/drivers/hid/Kconfig b/linaro/drivers/hid/Kconfig
old mode 100644
new mode 100755
index bee88ee..b687eff
--- a/linaro/drivers/hid/Kconfig
+++ b/linaro/drivers/hid/Kconfig
@@ -426,7 +426,7 @@ config HID_MULTITOUCH
          - GeneralTouch 'Sensing Win7-TwoFinger' panels
          - GoodTouch panels
          - Hanvon dual touch panels
+         - Ilitek dual touch panels
          - IrTouch Infrared USB panels
          - LG Display panels (Dell ST2220Tc)
          - Lumio CrystalTouch panels

3)
diff --git a/linaro/drivers/hid/hid-ids.h b/linaro/drivers/hid/hid-ids.h
old mode 100644
new mode 100755
index 45c593d..1bd24d6
--- a/linaro/drivers/hid/hid-ids.h
+++ b/linaro/drivers/hid/hid-ids.h
@@ -436,7 +436,7 @@
 #define USB_VENDOR_ID_IDEACOM          0x1cb6
 #define USB_DEVICE_ID_IDEACOM_IDC6650  0x6650
 #define USB_DEVICE_ID_IDEACOM_IDC6651  0x6651

+  #define USB_VENDOR_ID_ILITEK           0x222a
+  #define USB_DEVICE_ID_ILITEK_MULTITOUCH        0x0001

4)
diff --git a/linaro/drivers/hid/hid-core.c b/linaro/drivers/hid/hid-core.c
old mode 100644
new mode 100755
index 2bd798a..6297278
--- a/linaro/drivers/hid/hid-core.c
+++ b/linaro/drivers/hid/hid-core.c
@@ -1568,6 +1568,7 @@ EXPORT_SYMBOL_GPL(hid_disconnect);
  * used as a driver. See hid_scan_report().
  */
 static const struct hid_device_id hid_have_special_driver[] = {
+       { HID_USB_DEVICE(USB_VENDOR_ID_ILITEK, USB_DEVICE_ID_ILITEK_MULTITOUCH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU) },
        { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_X5_005D) },
        { HID_USB_DEVICE(USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_RP_649) },

5)
diff --git a/linaro/drivers/hid/hid-multitouch.c b/linaro/drivers/hid/hid-multitouch.c
old mode 100644
new mode 100755
index fb9ac12..3ec4948
--- a/linaro/drivers/hid/hid-multitouch.c
+++ b/linaro/drivers/hid/hid-multitouch.c
@@ -1072,6 +1072,11 @@ static void mt_remove(struct hid_device *hdev)
 
 static const struct hid_device_id mt_devices[] = {
 
+       /* ilitek dual touch panels */
+       {  .driver_data = MT_CLS_DEFAULT,
+               HID_USB_DEVICE(USB_VENDOR_ID_ILITEK,
+                       USB_DEVICE_ID_ILITEK_MULTITOUCH) },
+
        /* 3M panels */
        { .driver_data = MT_CLS_3M,
                MT_USB_DEVICE(USB_VENDOR_ID_3M,


6)
copy一份 Vendor_8746_Product_0001.idc,然后device/mstar/mangosteen目录下

diff --git a/preinstall/preinstall.mk b/preinstall/preinstall.mk
index fc94245..58be97d 100755
--- a/preinstall/preinstall.mk
+++ b/preinstall/preinstall.mk
@@ -122,6 +122,7 @@ PRODUCT_COPY_FILES += \
     $(LOCAL_PATH)/keylayout/Vendor_3697_Product_0001.kl:system/usr/keylayout/Vendor_3697_Product_0001.kl \
     $(LOCAL_PATH)/keylayout/Vendor_3697_Product_0002.kl:system/usr/keylayout/Vendor_3697_Product_0002.kl \
     $(LOCAL_PATH)/keylayout/Vendor_3697_Product_0003.idc:system/usr/idc/Vendor_3697_Product_0003.idc \
+    $(LOCAL_PATH)/keylayout/Vendor_8746_Product_0001.idc:system/usr/idc/Vendor_8746_Product_0001.idc \
     $(LOCAL_PATH)/keylayout/Vendor_3697_Product_0003.kl:system/usr/keylayout/Vendor_3697_Product_0003.kl \
     $(LOCAL_PATH)/keylayout/Vendor_000d_Product_3838.kl:system/usr/keylayout/Vendor_000d_Product_3838.kl \


参考:https://www.spinics.net/lists/linux-input/msg15151.html

https://www.chalk-elec.com/?p=2028

你可能感兴趣的:(适配USB接口奕力 ILITEK Multi-Touch-V5000)