[PATCH wayland 1/2] protocol: Add release requests for wl_pointer, wl_keyboard, and wl_touch

Rob Bradford robert.bradford at intel.com
Tue Aug 13 12:06:29 PDT 2013

From: Kristian Høgsberg <krh at bitplanet.net>

We missed destroy requests in the 1.0 protocol and since the scanner
generates local-only *_destroy requests in that case we can't add
destroy requests without breaking protocol.  A client needs to verify
that the server provides a version 3 seat to use the protocol destructor
so the name needs to be something else than wl_*_destroy.

v2 (Rob Bradford): Rebased, bumped the protocol versions and added since
attributes to the requests.
 protocol/wayland.xml | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index d7bbbb9..6d2884e 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1235,7 +1235,7 @@
-  <interface name="wl_seat" version="2">
+  <interface name="wl_seat" version="3">
     <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
@@ -1308,7 +1308,7 @@
-  <interface name="wl_pointer" version="1">
+  <interface name="wl_pointer" version="2">
     <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
@@ -1357,6 +1357,10 @@
       <arg name="hotspot_y" type="int" summary="y coordinate in surface-relative coordinates"/>
+    <request name="release" type="destructor" since="2">
+      <description summary="release the pointer object"/>
+    </request>
     <event name="enter">
       <description summary="enter event">
 	Notification that this seat's pointer is focused on a certain
@@ -1456,12 +1460,16 @@
-  <interface name="wl_keyboard" version="1">
+  <interface name="wl_keyboard" version="2">
     <description summary="keyboard input device">
       The wl_keyboard interface represents one or more keyboards
       associated with a seat.
+    <request name="release" type="destructor" since="2">
+      <description summary="release the keyboard object"/>
+    </request>
     <enum name="keymap_format">
       <description summary="keyboard mapping format">
 	This specifies the format of the keymap provided to the
@@ -1551,6 +1559,10 @@
       contact point can be identified by the ID of the sequence.
+    <request name="release" type="destructor">
+      <description summary="release the touch object"/>
+    </request>
     <event name="down">
       <description summary="touch down event and beginning of a touch sequence">
 	A new touch point has appeared on the surface. This touch point is

More information about the wayland-devel mailing list