[PATCH] HID: multitouch: Add required quirk for Synaptics 0xcd7e device

From: Rahul Rameshbabu
Date: Sun Sep 17 2023 - 12:34:42 EST


Register the Synaptics device as a special multitouch device with certain
quirks that may improve usability of the touchpad device.

Reported-by: Rain <rain@xxxxxxxxxxxxx>
Closes: https://lore.kernel.org/linux-input/2bbb8e1d-1793-4df1-810f-cb0137341ff4@xxxxxxxxxxxxxxxx/
Signed-off-by: Rahul Rameshbabu <sergeantsagara@xxxxxxxxxxxxxx>
---

Notes:
Theory:

I think the Synaptics device in the related email to the linux-input
mailing list requires certain quirks like MT_QUIRK_HOVERING to correctly
reconfigure the distance configuration for multitouch events. This might
explain why light touches were not registered originally when
MT_CLS_DEFAULT was used by default for the device. Would like to have
this patch tested before being merged. A Tested-by: git trailer can then
be appended.

drivers/hid/hid-multitouch.c | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 521b2ffb4244..8db4ae05febc 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -2144,6 +2144,10 @@ static const struct hid_device_id mt_devices[] = {
USB_DEVICE_ID_MTP_STM)},

/* Synaptics devices */
+ { .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
+ HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
+ USB_VENDOR_ID_SYNAPTICS, 0xcd7e) },
+
{ .driver_data = MT_CLS_WIN_8_FORCE_MULTI_INPUT,
HID_DEVICE(BUS_I2C, HID_GROUP_MULTITOUCH_WIN_8,
USB_VENDOR_ID_SYNAPTICS, 0xce08) },
--
2.40.1