mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	protocol: specify behavior of get_pointer when capabilities change
Also applies to touch/keyboard Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Daniel Stone <daniels@collabora.com> Reviewed-by: Derek Foreman <derekf@osg.samsung.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com>
This commit is contained in:
		
							parent
							
								
									3384f69ecf
								
							
						
					
					
						commit
						87321d0f2f
					
				
					 1 changed files with 30 additions and 3 deletions
				
			
		| 
						 | 
					@ -1396,6 +1396,27 @@
 | 
				
			||||||
	This is emitted whenever a seat gains or loses the pointer,
 | 
						This is emitted whenever a seat gains or loses the pointer,
 | 
				
			||||||
	keyboard or touch capabilities.  The argument is a capability
 | 
						keyboard or touch capabilities.  The argument is a capability
 | 
				
			||||||
	enum containing the complete set of capabilities this seat has.
 | 
						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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						In some compositors, if a seat regains the pointer capability and a
 | 
				
			||||||
 | 
						client has a previously obtained wl_pointer object of version 4 or
 | 
				
			||||||
 | 
						less, that object may start sending pointer events again. This
 | 
				
			||||||
 | 
						behavior is considered a misinterpretation of the intended behavior
 | 
				
			||||||
 | 
						and must not be relied upon by the client. wl_pointer objects of
 | 
				
			||||||
 | 
						version 5 or later must not send events if created before the most
 | 
				
			||||||
 | 
						recent event notifying the client of an added pointer capability.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						The above behavior also applies to wl_keyboard and wl_touch with the
 | 
				
			||||||
 | 
						keyboard and touch capabilities, respectively.
 | 
				
			||||||
      </description>
 | 
					      </description>
 | 
				
			||||||
      <arg name="capabilities" type="uint" enum="capability"/>
 | 
					      <arg name="capabilities" type="uint" enum="capability"/>
 | 
				
			||||||
    </event>
 | 
					    </event>
 | 
				
			||||||
| 
						 | 
					@ -1406,7 +1427,9 @@
 | 
				
			||||||
	for this seat.
 | 
						for this seat.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	This request only takes effect if the seat has the pointer
 | 
						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>
 | 
					      </description>
 | 
				
			||||||
      <arg name="id" type="new_id" interface="wl_pointer"/>
 | 
					      <arg name="id" type="new_id" interface="wl_pointer"/>
 | 
				
			||||||
    </request>
 | 
					    </request>
 | 
				
			||||||
| 
						 | 
					@ -1417,7 +1440,9 @@
 | 
				
			||||||
	for this seat.
 | 
						for this seat.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	This request only takes effect if the seat has the keyboard
 | 
						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>
 | 
					      </description>
 | 
				
			||||||
      <arg name="id" type="new_id" interface="wl_keyboard"/>
 | 
					      <arg name="id" type="new_id" interface="wl_keyboard"/>
 | 
				
			||||||
    </request>
 | 
					    </request>
 | 
				
			||||||
| 
						 | 
					@ -1428,7 +1453,9 @@
 | 
				
			||||||
	for this seat.
 | 
						for this seat.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	This request only takes effect if the seat has the touch
 | 
						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>
 | 
					      </description>
 | 
				
			||||||
      <arg name="id" type="new_id" interface="wl_touch"/>
 | 
					      <arg name="id" type="new_id" interface="wl_touch"/>
 | 
				
			||||||
    </request>
 | 
					    </request>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue