diff mbox series

HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint

Message ID 20221128165705.7008-1-jose.exposito89@gmail.com (mailing list archive)
State Mainlined
Commit 4eab1c2fe06c98a4dff258dd64800b6986c101e9
Delegated to: Jiri Kosina
Headers show
Series HID: multitouch: fix Asus ExpertBook P2 P2451FA trackpoint | expand

Commit Message

José Expósito Nov. 28, 2022, 4:57 p.m. UTC
The HID descriptor of this device contains two mouse collections, one
for mouse emulation and the other for the trackpoint.

Both collections get merged and, because the first one defines X and Y,
the movemenent events reported by the trackpoint collection are
ignored.

Set the MT_CLS_WIN_8_FORCE_MULTI_INPUT class for this device to be able
to receive its reports.

This fix is similar to/based on commit 40d5bb87377a ("HID: multitouch:
enable multi-input as a quirk for some devices").

Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/825
Reported-by: Akito <the@akito.ooo>
Tested-by: Akito <the@akito.ooo>
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
---
 drivers/hid/hid-multitouch.c | 4 ++++
 1 file changed, 4 insertions(+)

Comments

Jiri Kosina Dec. 20, 2022, 2:34 p.m. UTC | #1
On Mon, 28 Nov 2022, José Expósito wrote:

> The HID descriptor of this device contains two mouse collections, one
> for mouse emulation and the other for the trackpoint.
> 
> Both collections get merged and, because the first one defines X and Y,
> the movemenent events reported by the trackpoint collection are
> ignored.
> 
> Set the MT_CLS_WIN_8_FORCE_MULTI_INPUT class for this device to be able
> to receive its reports.
> 
> This fix is similar to/based on commit 40d5bb87377a ("HID: multitouch:
> enable multi-input as a quirk for some devices").
> 
> Link: https://gitlab.freedesktop.org/libinput/libinput/-/issues/825
> Reported-by: Akito <the@akito.ooo>
> Tested-by: Akito <the@akito.ooo>
> Signed-off-by: José Expósito <jose.exposito89@gmail.com>

Applied, thank you!
diff mbox series

Patch

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 91a4d3fc30e0..372cbdd223e0 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -1967,6 +1967,10 @@  static const struct hid_device_id mt_devices[] = {
 		HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
 			USB_VENDOR_ID_ELAN, 0x313a) },
 
+	{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
+		HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
+			USB_VENDOR_ID_ELAN, 0x3148) },
+
 	/* Elitegroup panel */
 	{ .driver_data = MT_CLS_SERIAL,
 		MT_USB_DEVICE(USB_VENDOR_ID_ELITEGROUP,