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

From: Rain
Date: Wed Oct 04 2023 - 15:12:59 EST


On Sun, Sep 17, 2023, at 09:18, Rahul Rameshbabu wrote:
> 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) },

Thanks for the patch! I haven't tested it yet but it looks promising.

The vendor ID isn't USB_VENDOR_ID_SYNAPTICS (0x06cb),
however -- it's SYNA7DB5 (0x7db5) which I guess is an alternative vendor
ID for Synaptics. Would be worth fixing that.

> +
> { .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

--
Rain
(they/she)