Re: [PATCH] hid-multitouch: Fix Iiyama ProLite T1931SAW (0eef:0001 again!)

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

 



On Tue, Nov 16, 2021 at 12:07 PM Ondrej Zary <linux@xxxxxxx> wrote:
>
> On Tuesday 16 November 2021, Benjamin Tissoires wrote:
> > On Mon, Nov 15, 2021 at 9:37 AM Ondrej Zary <linux@xxxxxxx> wrote:
> > >
> > > On Friday 12 November 2021, Benjamin Tissoires wrote:
> > > > Hi Ondrej,
> > > >
> > > > On Fri, Nov 12, 2021 at 3:00 PM Ondrej Zary <linux@xxxxxxx> wrote:
> > > > >
> > > > > Iiyama ProLite T1931SAW does not work with Linux - input devices are
> > > > > created but cursor does not move.
> > > > >
> > > > > It has the infamous 0eef:0001 ID which has been reused for various
> > > > > devices before.
> > > > >
> > > > > It seems to require export_all_inputs = true.
> > > > > Add it to mt_devices[] as MT_CLS_WIN_8 to fix the problem.
> > > > > Hopefully there are no HID devices using this ID that will break.
> > > > > It should not break non-HID devices (handled by usbtouchscreen).
> > > >
> > > > Hmm, this is worrisome. I am pretty sure there were some eGalax 0001
> > > > devices that were Win 7 compatible and I am not sure if they are
> > > > compatible with Win8...
> > > >
> > > > I guess that if you have to set MT_CLS_WIN_8, the device is not
> > > > detected as such. so how about you use:
> > > > MT_CLS_EXPORT_ALL_INPUTS instead, (to keep MT_CLS_DEFAULT for those
> > > > devices), and restrict the VID/PID matching to the non Win8 devices:
> > >
> > > It works with MT_CLS_EXPORT_ALL_INPUTS.
> > >
> > > > HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, USB_VENDOR_ID_DWAV,
> > > > USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER)
> > >
> > > But does not match HID_GROUP_GENERIC.
> >
> > Sorry, it should have been HID_GROUP_MULTITOUCH
>
> That's exactly how MT_USB_DEVICE is defined:
> #define MT_USB_DEVICE(v, p)     HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH, v, p)

Oops, sorry. That's what happens when I rely too much on my memory and
don't check the code :(

>
> So it's equal to MT_USB_DEVICE(USB_VENDOR_ID_DWAV, USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER)
> Will that match only non-Win8 devices?

Nope, you're correct, it will only match non-Win8 devices.
So the only comment I have on your patch is to use
MT_CLS_EXPORT_ALL_INPUTS instead of MT_CLS_WIN_8.

Cheers,
Benjamin

>
> > Cheers,
> > Benjamin
> >
> > >
> > > >
> > > > ?
> > > >
> > > > Cheers,
> > > > Benjamin
> > > >
> > > > >
> > > > > Signed-off-by: Ondrej Zary <linux@xxxxxxx>
> > > > > ---
> > > > >  drivers/hid/hid-multitouch.c | 5 +++++
> > > > >  1 file changed, 5 insertions(+)
> > > > >
> > > > > diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
> > > > > index e1afddb7b33d..099daf590392 100644
> > > > > --- a/drivers/hid/hid-multitouch.c
> > > > > +++ b/drivers/hid/hid-multitouch.c
> > > > > @@ -1888,6 +1888,11 @@ static const struct hid_device_id mt_devices[] = {
> > > > >                 MT_USB_DEVICE(USB_VENDOR_ID_CVTOUCH,
> > > > >                         USB_DEVICE_ID_CVTOUCH_SCREEN) },
> > > > >
> > > > > +       /* eGalax devices (SAW) */
> > > > > +       { .driver_data = MT_CLS_WIN_8,
> > > > > +               MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
> > > > > +                       USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER) },
> > > > > +
> > > > >         /* eGalax devices (resistive) */
> > > > >         { .driver_data = MT_CLS_EGALAX,
> > > > >                 MT_USB_DEVICE(USB_VENDOR_ID_DWAV,
> > > > > --
> > > > > Ondrej Zary
> > > > >
> > > >
> > > >
> > >
> > >
> > >
> > > --
> > > Ondrej Zary
> > >
> >
> >
>
>
>
> --
> Ondrej Zary
>




[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