diff mbox series

HID: multitouch: Re-enable trackpoint and buttons on Lenovo X1 Tab gen2

Message ID 20201016143244.1303262-1-david.edmondson@oracle.com (mailing list archive)
State New, archived
Delegated to: Jiri Kosina
Headers show
Series HID: multitouch: Re-enable trackpoint and buttons on Lenovo X1 Tab gen2 | expand

Commit Message

David Edmondson Oct. 16, 2020, 2:32 p.m. UTC
Use the FORCE_MULTI_INPUT class and quirk added in
commit 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk
for some devices")
to enable event reporting from both the trackpad and the
trackpoint/buttons in the Lenovo X1 Tab gen2.

Signed-off-by: David Edmondson <david.edmondson@oracle.com>
---
It seems likely that some other devices should be treated similarly
(X1 Tab gen3, for example), but I don't have them available to test.

 drivers/hid/hid-ids.h        | 1 +
 drivers/hid/hid-multitouch.c | 6 ++++++
 2 files changed, 7 insertions(+)

Comments

Jiri Kosina Oct. 22, 2020, 9:54 a.m. UTC | #1
On Fri, 16 Oct 2020, David Edmondson wrote:

> Use the FORCE_MULTI_INPUT class and quirk added in
> commit 40d5bb87377a ("HID: multitouch: enable multi-input as a quirk
> for some devices")
> to enable event reporting from both the trackpad and the
> trackpoint/buttons in the Lenovo X1 Tab gen2.
> 
> Signed-off-by: David Edmondson <david.edmondson@oracle.com>

Hi David,

there is already a patch in Linus' tree doing this (4a6a4c966ccf38). 
Thanks,
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 74fc1df6e3c2..450ffb760aca 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -727,6 +727,7 @@ 
 #define USB_DEVICE_ID_LENOVO_TP10UBKBD	0x6062
 #define USB_DEVICE_ID_LENOVO_TPPRODOCK	0x6067
 #define USB_DEVICE_ID_LENOVO_X1_COVER	0x6085
+#define USB_DEVICE_ID_LENOVO_X1_TAB	0x60a3
 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_608D	0x608d
 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_6019	0x6019
 #define USB_DEVICE_ID_LENOVO_PIXART_USB_MOUSE_602E	0x602e
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index e3152155c4b8..9e8251fc62b8 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -1965,6 +1965,12 @@  static const struct hid_device_id mt_devices[] = {
 		MT_USB_DEVICE(USB_VENDOR_ID_ILITEK,
 			USB_DEVICE_ID_ILITEK_MULTITOUCH) },
 
+	/* Lenovo X1 TAB Gen 2 */
+	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
+		HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH_WIN_8,
+			USB_VENDOR_ID_LENOVO,
+			USB_DEVICE_ID_LENOVO_X1_TAB) },
+
 	/* LG Melfas panel */
 	{ .driver_data = MT_CLS_LG,
 		HID_USB_DEVICE(USB_VENDOR_ID_LG,