From 61a676b2f6a1804b1492ed666a33d32fcb8f2435 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 3 Jun 2025 15:04:33 +1000 Subject: [PATCH 1/2] tablet: add bustype and id to zwp_tablet_pad Tablet pads may be standalone (e.g. the Wacom ExpressKey Remote, XP-Pen ACK05, Huion K20) and thus never associated with a tablet. Only the zwp_tablet_v2 sends the id/bustype but for devices without a tablet we cannot send enough information for the client to identify the device. And even if paired (like the Wacom EKR), the vid/pid may differ from the zwp_tablet_v2's vid/pid. See https://gitlab.gnome.org/GNOME/gtk/-/issues/7534 Signed-off-by: Peter Hutterer --- stable/tablet/tablet-v2.xml | 51 ++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/stable/tablet/tablet-v2.xml b/stable/tablet/tablet-v2.xml index 85529bd..288cb9c 100644 --- a/stable/tablet/tablet-v2.xml +++ b/stable/tablet/tablet-v2.xml @@ -106,7 +106,7 @@ tool was used on are removed. - + An object that provides access to the graphics tablets available on this system. All tablets are associated with a seat, to get access to the @@ -130,7 +130,7 @@ - + An object that provides access to the graphics tablets available on this seat. After binding to this interface, the compositor sends a set of @@ -181,7 +181,7 @@ - + An object that represents a physical tool that has been, or is currently in use with a tablet in this seat. Each zwp_tablet_tool_v2 @@ -567,7 +567,7 @@ - + The zwp_tablet_v2 interface represents one graphics tablet device. The tablet interface itself does not generate events; all events are @@ -683,7 +683,7 @@ - + A circular interaction area, such as the touch ring on the Wacom Intuos Pro series tablets. @@ -797,7 +797,7 @@ - + A linear interaction area, such as the strips found in Wacom Cintiq models. @@ -913,7 +913,7 @@ - + A pad group describes a distinct (sub)set of buttons, rings and strips present in the tablet. The criteria of this grouping is usually positional, @@ -1061,7 +1061,7 @@ - + A pad device is a set of buttons, rings, strips and dials usually physically present on the tablet device itself. Some @@ -1219,9 +1219,42 @@ the pad itself. + + + + + + The bustype argument is one of the BUS_ defines in the Linux kernel's + linux/input.h + + If the pad has no known bustype or the bustype cannot be + queried, this event is not sent. + + This event is sent in the initial burst of events before the + zwp_tablet_pad_v2.done event. + + + + + + + The vendor and product IDs for the tablet pad device. + + The interpretation of the id depends on the zwp_tablet_pad_v2.bustype. + + If the device has no vendor/product ID, this event is not sent. + This can happen for virtual devices or non-USB devices, for instance. + + This event is sent in the initial burst of events before the + zwp_tablet_pad_v2.done event. + + + + + - + A rotary control, e.g. a dial or a wheel. From 4de8eb8967ff9846e7efdcdcce18204e8467fa24 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 19 Dec 2025 14:15:18 +1000 Subject: [PATCH 2/2] tablet: send the tool name along in the intial burst of events For tablets where multiple tools are supported and the client wants to provide some way of differing between them, it's nice to use the model-assigned name. Signed-off-by: Peter Hutterer --- stable/tablet/tablet-v2.xml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/stable/tablet/tablet-v2.xml b/stable/tablet/tablet-v2.xml index 288cb9c..e670167 100644 --- a/stable/tablet/tablet-v2.xml +++ b/stable/tablet/tablet-v2.xml @@ -565,6 +565,20 @@ + + + + + + Notifies the client that the tool has a model-specific + name (e.g. "Wacom Pro Pen"). If the tool has no name, this event + is omitted. + + This event is sent in the initial burst of events before the + zwp_tablet_tool_v2.done event. + + +