Skip to contentSkip to conversation

HID: multitouch: add support for Type Cover Pro 3

PATCH In review Dennis Chen 2 participants 2 messages Jun 18, 2016 HID

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 HID: multitouch: add support for Type Cover Pro 3

Include Microsoft Type Cover 3 support into hid-multitouch.c Allow touchpad device to have multitouch functionality. Drop Type Cover 3 support in hid-microsoft.c

---
 drivers/hid/Kconfig          |  1 +
 drivers/hid/hid-core.c       | 10 +---------
 drivers/hid/hid-microsoft.c  |  8 --------
 drivers/hid/hid-multitouch.c | 14 ++++++++++++++

 4 files changed, 16 insertions(+), 17 deletions(-)
drivers/hid/Kconfig +0 -0
index 5646ca4..5af0603 100644
@@ -530,6 +530,7 @@ config HID_MULTITOUCH

    - IrTouch Infrared USB panels
    - LG Display panels (Dell ST2220Tc)
    - Lumio CrystalTouch panels
+   - Microsoft Type Cover 3 touchpad
    - MosArt dual-touch panels
    - Panasonic multitouch panels
    - PenMount dual touch panels

drivers/hid/hid-core.c +0 -0
index 8ea3a26..ddeadd9 100644
@@ -724,11 +724,7 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)

  hid->group = HID_GROUP_SENSOR_HUB;

  if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&
-     (hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 ||
-      hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 ||
-      hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP ||
-      hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 ||
-      hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
+     hid->product == USB_DEVICE_ID_MS_POWER_COVER &&
      hid->group == HID_GROUP_MULTITOUCH)
  hid->group = HID_GROUP_GENERIC;

@@ -1973,10 +1969,6 @@ static const struct hid_device_id hid_have_special_driver[] = { { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_OFFICE_KB) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3) },
  { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) }, { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },

drivers/hid/hid-microsoft.c +0 -0
index e924d55..b88a429 100644
@@ -282,14 +282,6 @@ static const struct hid_device_id ms_devices[] = {

  .driver_data = MS_NOGET },
  { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500), .driver_data = MS_DUPLICATE_USAGES },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP),
- .driver_data = MS_HIDINPUT },
- { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3),
- .driver_data = MS_HIDINPUT },
  { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER), .driver_data = MS_HIDINPUT },
  { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),

drivers/hid/hid-multitouch.c +0 -0
index 95b7d61..1bf002f 100644
@@ -1377,6 +1377,20 @@ static const struct hid_device_id mt_devices[] = {

  MT_USB_DEVICE(USB_VENDOR_ID_ILITEK, USB_DEVICE_ID_ILITEK_MULTITOUCH) },
+ /* Microsoft Type Cover 3 touchpad */
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+ USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
+ { .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+ MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+ USB_DEVICE_ID_MS_TYPE_COVER_3) },
+
  /* MosArt panels */
  { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, MT_USB_DEVICE(USB_VENDOR_ID_ASUS, --
2.5.5

#1 lore raw
Quoted 83 lines · Dennis Chen

Include Microsoft Type Cover 3 support into hid-multitouch.c Allow touchpad device to have multitouch functionality. Drop Type Cover 3 support in hid-microsoft.c

---
 drivers/hid/Kconfig          |  1 +
 drivers/hid/hid-core.c       | 10 +---------
 drivers/hid/hid-microsoft.c  |  8 --------
 drivers/hid/hid-multitouch.c | 14 ++++++++++++++

 4 files changed, 16 insertions(+), 17 deletions(-)
drivers/hid/Kconfig +0 -0
index 5646ca4..5af0603 100644
@@ -530,6 +530,7 @@ config HID_MULTITOUCH

    - IrTouch Infrared USB panels
    - LG Display panels (Dell ST2220Tc)
    - Lumio CrystalTouch panels

drivers/hid/Kconfig +1 -0
+	  - Microsoft Type Cover 3 touchpad

    - MosArt dual-touch panels
    - Panasonic multitouch panels
    - PenMount dual touch panels

drivers/hid/hid-core.c +0 -0
index 8ea3a26..ddeadd9 100644
@@ -724,11 +724,7 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
  		hid->group = HID_GROUP_SENSOR_HUB;


  if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&

drivers/hid/hid-core.c +1 -5
-	    (hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3 ||
-	     hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 ||
-	     hid->product == USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP ||
-	     hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 ||
-	     hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
+	    hid->product == USB_DEVICE_ID_MS_POWER_COVER &&

      hid->group == HID_GROUP_MULTITOUCH)
  hid->group = HID_GROUP_GENERIC;

drivers/hid/hid-core.c +0 -4
@@ -1973,10 +1969,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_OFFICE_KB) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_7K) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_600) },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_DIGITAL_MEDIA_3KV1) },
drivers/hid/hid-microsoft.c +0 -8
index e924d55..b88a429 100644
@@ -282,14 +282,6 @@ static const struct hid_device_id ms_devices[] = {
  		.driver_data = MS_NOGET },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_MOUSE_4500),
  		.driver_data = MS_DUPLICATE_USAGES },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3),
-		.driver_data = MS_HIDINPUT },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2),
-		.driver_data = MS_HIDINPUT },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP),
-		.driver_data = MS_HIDINPUT },
-	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3),
-		.driver_data = MS_HIDINPUT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER),
  		.driver_data = MS_HIDINPUT },
  	{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_COMFORT_KEYBOARD),
drivers/hid/hid-multitouch.c +0 -0
index 95b7d61..1bf002f 100644
@@ -1377,6 +1377,20 @@ static const struct hid_device_id mt_devices[] = {
  		MT_USB_DEVICE(USB_VENDOR_ID_ILITEK,
  			USB_DEVICE_ID_ILITEK_MULTITOUCH) },

drivers/hid/hid-multitouch.c +4 -0
+	/* Microsoft Type Cover 3 touchpad */
+	{ .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+		MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+			USB_DEVICE_ID_MS_TYPE_COVER_PRO_3) },

drivers/hid/hid-multitouch.c

Quoted 10 lines
drivers/hid/hid-multitouch.c +10 -0
+	{ .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+		MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+			USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2) },
+	{ .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+		MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+			USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP) },
+	{ .driver_data = MT_CLS_EXPORT_ALL_INPUTS,
+		MT_USB_DEVICE(USB_VENDOR_ID_MICROSOFT,
+			USB_DEVICE_ID_MS_TYPE_COVER_3) },
+

Hopefully, this hunk is not required with the 2 pending patches I mentioned in v1.

Cheers,
Benjamin

Quoted 5 lines

  /* MosArt panels */
  { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, MT_USB_DEVICE(USB_VENDOR_ID_ASUS, --
2.5.5

--
To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html