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