digabi / digabi-os

Abitti Disk Image is a collection of Linux distributions maintained by the Finnish Matriculation Examination Board.
63 stars 10 forks source link

Add support for MS Type Cover 3 #58

Closed ypcs closed 9 years ago

ypcs commented 9 years ago

Currently MS Type Cover 3 doesn't work out-of-the-box. Add missing support to kernel.

References:

--- a/drivers/hid/hid-ids.h 2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/hid-ids.h 2014-04-20 23:29:35.000000000 -0400
@@ -631,6 +631,7 @@
 #define USB_DEVICE_ID_MS_NE4K      0x00db
 #define USB_DEVICE_ID_MS_NE4K_JP   0x00dc
 #define USB_DEVICE_ID_MS_LK6K      0x00f9
+#define USB_DEVICE_ID_MS_TYPE_COVER_3  0x07dc
 #define USB_DEVICE_ID_MS_PRESENTER_8K_BT   0x0701
 #define USB_DEVICE_ID_MS_PRESENTER_8K_USB  0x0713
 #define USB_DEVICE_ID_MS_DIGITAL_MEDIA_3K  0x0730
--- a/drivers/hid/hid-core.c    2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/hid-core.c    2014-04-21 03:13:54.000000000 -0400
@@ -702,6 +702,11 @@ static void hid_scan_collection(struct h
    if (((parser->global.usage_page << 16) == HID_UP_SENSOR) &&
        type == HID_COLLECTION_PHYSICAL)
        hid->group = HID_GROUP_SENSOR_HUB;
+
+   if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&
+       hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 &&
+       hid->group == HID_GROUP_MULTITOUCH)
+       hid->group = HID_GROUP_GENERIC;
 }

 static int hid_scan_main(struct hid_parser *parser, struct hid_item *item)
--- a/drivers/hid/usbhid/hid-quirks.c   2014-01-19 21:40:07.000000000 -0500
+++ b/drivers/hid/usbhid/hid-quirks.c   2014-04-20 23:29:35.000000000 -0400
@@ -73,6 +73,7 @@ static const struct hid_blacklist {
    { USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
    { USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },
    { USB_VENDOR_ID_MGE, USB_DEVICE_ID_MGE_UPS, HID_QUIRK_NOGET },
+   { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
    { USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GX680R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
    { USB_VENDOR_ID_NOVATEK, USB_DEVICE_ID_NOVATEK_MOUSE, HID_QUIRK_NO_INIT_REPORTS },
    { USB_VENDOR_ID_PIXART, USB_DEVICE_ID_PIXART_OPTICAL_TOUCH_SCREEN, HID_QUIRK_NO_INIT_REPORTS },
ypcs commented 9 years ago

Added to 3.16 CKT in May/June 2015.