All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add quirks for Trust Panora Graphic Tablet
@ 2020-05-08 15:26 Cristian Klein
  2020-05-12  5:29 ` Peter Hutterer
  2020-05-15 20:00 ` Jiri Kosina
  0 siblings, 2 replies; 3+ messages in thread
From: Cristian Klein @ 2020-05-08 15:26 UTC (permalink / raw)
  To: jikos, benjamin.tissoires; +Cc: linux-input, Cristian Klein

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 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@elastisys.com>
---
 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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] Add quirks for Trust Panora Graphic Tablet
  2020-05-08 15:26 [PATCH] Add quirks for Trust Panora Graphic Tablet Cristian Klein
@ 2020-05-12  5:29 ` Peter Hutterer
  2020-05-15 20:00 ` Jiri Kosina
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Hutterer @ 2020-05-12  5:29 UTC (permalink / raw)
  To: Cristian Klein; +Cc: jikos, benjamin.tissoires, linux-input

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@elastisys.com>
> ---
>  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
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Add quirks for Trust Panora Graphic Tablet
  2020-05-08 15:26 [PATCH] Add quirks for Trust Panora Graphic Tablet Cristian Klein
  2020-05-12  5:29 ` Peter Hutterer
@ 2020-05-15 20:00 ` Jiri Kosina
  1 sibling, 0 replies; 3+ messages in thread
From: Jiri Kosina @ 2020-05-15 20:00 UTC (permalink / raw)
  To: Cristian Klein; +Cc: benjamin.tissoires, linux-input

On Fri, 8 May 2020, 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.

Applied, thanks.

-- 
Jiri Kosina
SUSE Labs


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-05-15 20:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-08 15:26 [PATCH] Add quirks for Trust Panora Graphic Tablet Cristian Klein
2020-05-12  5:29 ` Peter Hutterer
2020-05-15 20:00 ` Jiri Kosina

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.