[PATCH wayland] protocol: specify behavior of get_pointer when capabilities change
Peter Hutterer
peter.hutterer at who-t.net
Sun Nov 29 19:25:21 PST 2015
Also applies to touch/keyboard
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
protocol/wayland.xml | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/protocol/wayland.xml b/protocol/wayland.xml
index f9e6d76..370fafc 100644
--- a/protocol/wayland.xml
+++ b/protocol/wayland.xml
@@ -1350,6 +1350,24 @@
This is emitted whenever a seat gains or loses the pointer,
keyboard or touch capabilities. The argument is a capability
enum containing the complete set of capabilities this seat has.
+
+ When the pointer capability is added, a client may create a
+ wl_pointer object using the wl_seat.get_pointer request. This object
+ will receive pointer events until the capability is removed in the
+ future.
+
+ When the pointer capability is removed, a client should destroy the
+ wl_pointer objects associated with the seat where the capability was
+ removed, using the wl_pointer.release request. No further pointer
+ events will be received on these objects.
+
+ If a seat regains the pointer capability and a client has a pointer
+ object obtained previously, that object may start sending pointer
+ events. This behavior is implementation-dependent and must not be
+ relied upon.
+
+ The above behavior also applies to wl_keyboard and wl_touch with the
+ keyboard and touch capabilities, respectively.
</description>
<arg name="capabilities" type="uint" enum="capability"/>
</event>
@@ -1360,7 +1378,9 @@
for this seat.
This request only takes effect if the seat has the pointer
- capability.
+ capability, or has had the pointer capability in the past.
+ It is a protocol violation to issue this request on a seat that has
+ never had the pointer capability.
</description>
<arg name="id" type="new_id" interface="wl_pointer"/>
</request>
@@ -1371,7 +1391,9 @@
for this seat.
This request only takes effect if the seat has the keyboard
- capability.
+ capability, or has had the keyboard capability in the past.
+ It is a protocol violation to issue this request on a seat that has
+ never had the keyboard capability.
</description>
<arg name="id" type="new_id" interface="wl_keyboard"/>
</request>
@@ -1382,7 +1404,9 @@
for this seat.
This request only takes effect if the seat has the touch
- capability.
+ capability, or has had the touch capability in the past.
+ It is a protocol violation to issue this request on a seat that has
+ never had the touch capability.
</description>
<arg name="id" type="new_id" interface="wl_touch"/>
</request>
--
2.5.0
More information about the wayland-devel
mailing list