On Fri, May 08, 2020 at 05:26:04PM +0200, Cristian Klein wrote: > The Trust Panora Graphic Tablet has two interfaces. Interface zero > reports pen movement, pen pressure and pen buttons. Interface one > reports tablet buttons and tablet scroll. Both use the mouse protocol. > > Without these quirks, libinput gets confused about what device it talks > to. For reference libinput bug originally filed here: https://gitlab.freedesktop.org/libinput/libinput/-/issues/482 The issue is less libinput getting confused and more the device lying about... well, almost everything :) Cheers, Peter > > For completeness, here is the usbhid-dump: > > ``` > $ sudo usbhid-dump -d 145f:0212 > 003:013:001:DESCRIPTOR 1588949402.559961 > 05 0D 09 01 A1 01 85 07 A1 02 09 00 75 08 95 07 > 81 02 C0 C0 09 0E A1 01 85 05 09 23 A1 02 09 52 > 09 53 25 0A 75 08 95 02 B1 02 C0 C0 05 0C 09 36 > A1 00 85 06 05 09 19 01 29 20 15 00 25 01 95 20 > 75 01 81 02 C0 > > 003:013:000:DESCRIPTOR 1588949402.563942 > 05 01 09 02 A1 01 85 08 09 01 A1 00 05 09 19 01 > 29 03 15 00 25 01 95 03 75 01 81 02 95 05 81 01 > 05 01 09 30 09 31 09 38 09 00 15 81 25 7F 75 08 > 95 04 81 06 C0 C0 05 01 09 02 A1 01 85 09 09 01 > A1 00 05 09 19 01 29 03 15 00 25 01 95 03 75 01 > 81 02 95 05 81 01 05 01 09 30 09 31 26 FF 7F 95 > 02 75 10 81 02 05 0D 09 30 26 FF 03 95 01 75 10 > 81 02 C0 C0 05 01 09 00 A1 01 85 04 A1 00 26 FF > 00 09 00 75 08 95 07 B1 02 C0 C0 > ``` > > Signed-off-by: Cristian Klein <cristian.klein@xxxxxxxxxxxxx> > --- > drivers/hid/hid-ids.h | 3 +++ > drivers/hid/hid-quirks.c | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h > index 1c71a1aa7..f03f1cc91 100644 > --- a/drivers/hid/hid-ids.h > +++ b/drivers/hid/hid-ids.h > @@ -1157,6 +1157,9 @@ > #define USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8882 0x8882 > #define USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8883 0x8883 > > +#define USB_VENDOR_ID_TRUST 0x145f > +#define USB_DEVICE_ID_TRUST_PANORA_TABLET 0x0212 > + > #define USB_VENDOR_ID_TURBOX 0x062a > #define USB_DEVICE_ID_TURBOX_KEYBOARD 0x0201 > #define USB_DEVICE_ID_ASUS_MD_5110 0x5110 > diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c > index e4cb543de..ca8b5c261 100644 > --- a/drivers/hid/hid-quirks.c > +++ b/drivers/hid/hid-quirks.c > @@ -168,6 +168,7 @@ static const struct hid_device_id hid_quirks[] = { > { 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 }, > { HID_USB_DEVICE(USB_VENDOR_ID_TPV, USB_DEVICE_ID_TPV_OPTICAL_TOUCHSCREEN_8883), HID_QUIRK_NOGET }, > + { HID_USB_DEVICE(USB_VENDOR_ID_TRUST, USB_DEVICE_ID_TRUST_PANORA_TABLET), HID_QUIRK_MULTI_INPUT | HID_QUIRK_HIDINPUT_FORCE }, > { HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_TURBOX_KEYBOARD), HID_QUIRK_NOGET }, > { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_KNA5), HID_QUIRK_MULTI_INPUT }, > { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_TABLET_TWA60), HID_QUIRK_MULTI_INPUT }, > -- > 2.20.1 >