100 lines
4.8 KiB
Diff
100 lines
4.8 KiB
Diff
From 8fe89ef076fa104f514da6ef61d90f5bf93488e3 Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
Date: Fri, 25 Nov 2016 14:27:23 +0100
|
|
Subject: [PATCH] HID: multitouch: enable the Surface 3 Type Cover to report
|
|
multitouch data
|
|
|
|
There is no reasons to filter out keyboard and consumer control collections
|
|
in hid-multitouch.
|
|
With the previous hid-input fix, there is now a full support of the Type
|
|
Cover and we can remove all specific bits from hid-core and hid-microsoft.
|
|
|
|
hid-multitouch will automatically set HID_QUIRK_NO_INIT_REPORTS so we can
|
|
also remove it from the list of ushbid quirks.
|
|
|
|
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
|
|
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
|
|
---
|
|
drivers/hid/hid-core.c | 2 --
|
|
drivers/hid/hid-ids.h | 1 -
|
|
drivers/hid/hid-microsoft.c | 2 --
|
|
drivers/hid/hid-multitouch.c | 4 +++-
|
|
drivers/hid/usbhid/hid-quirks.c | 1 -
|
|
5 files changed, 3 insertions(+), 7 deletions(-)
|
|
|
|
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
|
|
index 2b89c70..a5dd7e6 100644
|
|
--- a/drivers/hid/hid-core.c
|
|
+++ b/drivers/hid/hid-core.c
|
|
@@ -728,7 +728,6 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
|
|
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_PRO_4_JP ||
|
|
- hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 ||
|
|
hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
|
|
hid->group == HID_GROUP_MULTITOUCH)
|
|
hid->group = HID_GROUP_GENERIC;
|
|
@@ -1984,7 +1983,6 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
|
{ 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_PRO_4_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) },
|
|
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
|
|
index 575aa65..10d1535 100644
|
|
--- a/drivers/hid/hid-ids.h
|
|
+++ b/drivers/hid/hid-ids.h
|
|
@@ -719,7 +719,6 @@
|
|
#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2 0x07e2
|
|
#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP 0x07dd
|
|
#define USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP 0x07e9
|
|
-#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07de
|
|
#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
|
|
|
|
#define USB_VENDOR_ID_MOJO 0x8282
|
|
diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
|
|
index c6cd392..ba02667 100644
|
|
--- a/drivers/hid/hid-microsoft.c
|
|
+++ b/drivers/hid/hid-microsoft.c
|
|
@@ -282,8 +282,6 @@ static const struct hid_device_id ms_devices[] = {
|
|
.driver_data = MS_HIDINPUT },
|
|
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_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),
|
|
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
|
|
index fb6f1f4..84c56e6 100644
|
|
--- a/drivers/hid/hid-multitouch.c
|
|
+++ b/drivers/hid/hid-multitouch.c
|
|
@@ -842,7 +842,9 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi,
|
|
if (!td->mtclass.export_all_inputs &&
|
|
field->application != HID_DG_TOUCHSCREEN &&
|
|
field->application != HID_DG_PEN &&
|
|
- field->application != HID_DG_TOUCHPAD)
|
|
+ field->application != HID_DG_TOUCHPAD &&
|
|
+ field->application != HID_GD_KEYBOARD &&
|
|
+ field->application != HID_CP_CONSUMER_CONTROL)
|
|
return -1;
|
|
|
|
/*
|
|
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
|
|
index e6cfd32..18ae715 100644
|
|
--- a/drivers/hid/usbhid/hid-quirks.c
|
|
+++ b/drivers/hid/usbhid/hid-quirks.c
|
|
@@ -102,7 +102,6 @@ static const struct hid_blacklist {
|
|
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_2, HID_QUIRK_NO_INIT_REPORTS },
|
|
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_3_JP, HID_QUIRK_NO_INIT_REPORTS },
|
|
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_PRO_4_JP, HID_QUIRK_NO_INIT_REPORTS },
|
|
- { USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3, HID_QUIRK_NO_INIT_REPORTS },
|
|
{ USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER, HID_QUIRK_NO_INIT_REPORTS },
|
|
{ USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL, HID_QUIRK_NO_INIT_REPORTS },
|
|
{ USB_VENDOR_ID_NEXIO, USB_DEVICE_ID_NEXIO_MULTITOUCH_PTI0750, HID_QUIRK_NO_INIT_REPORTS },
|
|
--
|
|
2.9.3
|
|
|