[PATCH] protocol: Extend wl_touch with touch point shape
Dennis Kempin
denniskempin at google.com
Fri Mar 25 16:29:56 UTC 2016
This CL updates the wl_touch interface with a shape event.
The shape of a touch point is not relevant for most UI
applications, but allows a better experience in some cases
such as drawing app.
The shape event is used by the compositor to inform the client
about changes in the shape of a touchpoint. That shape is
described by an ellipsis, which directly relates to the Linux
Multitouch Protocol ABS_TOUCH_MAJOR / MINOR /
ORIENTATION axes.
The event is optional and only sent when the compositor and
the touch device support this type of information. The client is
responsible for making a reasonable assumption about the
touch shape if no shape is reported.
---
protocol/wayland.xml | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index 8739cd3..85256ea 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1656,7 +1656,7 @@
</request>
</interface>
- <interface name="wl_seat" version="5">
+ <interface name="wl_seat" version="6">
<description summary="group of input devices">
A seat is a group of keyboards, pointer and touch devices. This
object is published as a global during start up, or when such a
@@ -1765,7 +1765,7 @@
</interface>
- <interface name="wl_pointer" version="5">
+ <interface name="wl_pointer" version="6">
<description summary="pointer input device">
The wl_pointer interface represents one or more input devices,
such as mice, which control the pointer location and pointer_focus
@@ -2078,7 +2078,7 @@
</event>
</interface>
- <interface name="wl_keyboard" version="5">
+ <interface name="wl_keyboard" version="6">
<description summary="keyboard input device">
The wl_keyboard interface represents one or more keyboards
associated with a seat.
@@ -2192,7 +2192,7 @@
</event>
</interface>
- <interface name="wl_touch" version="5">
+ <interface name="wl_touch" version="6">
<description summary="touchscreen input device">
The wl_touch interface represents a touchscreen
associated with a seat.
@@ -2262,6 +2262,26 @@
<request name="release" type="destructor" since="3">
<description summary="release the touch object"/>
</request>
+
+ <!-- Version 6 additions -->
+
+ <event name="shape" since="6">
+ <description summary="update shape of touch point">
+ Sent when a touchpoint has changed its shape, this event can be included
+ in the same frame as the contact point list to update position and shape
+ simultaneously.
+ A touchpoint shape is described by an ellipsis through a major and minor axis
+ length and orientation.
+ This event is only sent by the compositor if the touch device supports shape
+ reports. The client has to make reasonable assumptions about the shape if
+ it did not receive this message.
+ </description>
+ <arg name="id" type="int" summary="the unique ID of this touch point"/>
+ <arg name="major" type="fixed" summary="length of the major
axis in surface space"/>
+ <arg name="minor" type="fixed" summary="length of the minor
axis in surface space"/>
+ <arg name="orientation" type="fixed" summary="orientation of
ellipsis in radians."/>
+ </event>
+
</interface>
<interface name="wl_output" version="2">
--
2.8.0.rc3.226.g39d4020
More information about the wayland-devel
mailing list