Re: [RFC] Dell XPS 15 multitouch touchpad

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rene,

On Sun, Jan 6, 2019 at 5:10 PM Rene Rebe <rene@xxxxxxxxxxxxx> wrote:
>
> Hi,
>
> I am testing a Dell XPS 15 all-in-one and noticed the I2C connected
> touchpad had only very basic mouse function. I debugged around a bit
> and manually modprobing hid-multitouch appears to bind this to the
> hid-multitouch for grearly enhanced functionatliy. Now I could

Hmm, if the module is compiled in and you are using udev, there should
be no need to manually modprobe the driver.
Which distribution are you using? and are you running the stock kernel
for that distribution?

> probably just add hid-multitouch to some init script, but I wanted to
> get it to auto-load liek for my Surface Typecover. I added the ID,
> Synaptics, 0x7A13 to the hid-quirks for a test, but this is not yet

Is this ID for the Surface TypeCover or the XPS 15?

> enough to auto-load. Before I continue adding the ID all over the
> place, including the hid-multitouch.c, could someone shortly comment
> about the best, intended place for this - there are so many IDs all
> over the place and it is not obvious where it is necessary and where
> not.

Short answer nowhere :)
udev should load it for you. At least if udev loads hid-generic, there
is no reasons it doesn't load hid-multitouch.

>
> Thank you!
>
>       René Rebe
>
> --- drivers/hid/hid-quirks.c.vanilla    2019-01-06 17:35:58.304007689 +0100
> +++ drivers/hid/hid-quirks.c    2019-01-06 17:47:30.776010444 +0100
> @@ -157,6 +157,7 @@
>         { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_LTS2), HID_QUIRK_NO_INIT_REPORTS },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD), HID_QUIRK_NO_INIT_REPORTS },
>         { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103), HID_QUIRK_NO_INIT_REPORTS },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, 0x7A13), HID_QUIRK_MULTI_INPUT },

HID_QUIRK_MULTI_INPUT should not be set for hid-multitouch devices.
The driver takes care of settings its own quirks.

>         { HID_USB_DEVICE(USB_VENDOR_ID_TOPMAX, USB_DEVICE_ID_TOPMAX_COBRAPAD), HID_QUIRK_BADPAD },
>         { HID_USB_DEVICE(USB_VENDOR_ID_TOUCHPACK, USB_DEVICE_ID_TOUCHPACK_RTS), HID_QUIRK_MULTI_INPUT },
>         { HID_USB_DEVICE(USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8882), HID_QUIRK_NOGET },
> @@ -507,6 +508,7 @@
>  #endif
>  #if IS_ENABLED(CONFIG_HID_MULTITOUCH)
>         { HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MELFAS_MT) },
> +       { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, 0x7A13) },

You are just preventing hid-generic you bind on your device, which
might be worse than what you want.
If hid-multitouch is not loaded, then you don't even have basic mouse
capabilities.

So, if for a very unfortunate events udev can't load the device (which
I strongly doubt given than modprobing the driver works), the only
place that would have an effect is adding the ID in hid-multitouch.c.

But again, if udev doesn't bind hid-multitouch without the id, there
is a risk it won't bind the device even if you add the ID: there is
something wrong at the udev level IMO.

Cheers,
Benjamin

>  #endif
>  #if IS_ENABLED(CONFIG_HID_WIIMOTE)
>         { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_NINTENDO, USB_DEVICE_ID_NINTENDO_WIIMOTE) },
>
>
> --
>   René Rebe, ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
>   https://exactcode.com | https://t2sde.org | https://rene.rebe.de



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux