Atlas - pointer-gestures-unstable-v1.xml

Home / ext / SDL / wayland-protocols Lines: 1 | Size: 11345 bytes [Download] [Show on GitHub] [Search similar files] [Raw] [Raw (proxy)]
[FILE BEGIN]
1<?xml version="1.0" encoding="UTF-8"?> 2<protocol name="pointer_gestures_unstable_v1"> 3 4 <interface name="zwp_pointer_gestures_v1" version="3"> 5 <description summary="touchpad gestures"> 6 A global interface to provide semantic touchpad gestures for a given 7 pointer. 8 9 Three gestures are currently supported: swipe, pinch, and hold. 10 Pinch and swipe gestures follow a three-stage cycle: begin, update, 11 end, hold gestures follow a two-stage cycle: begin and end. All 12 gestures are identified by a unique id. 13 14 Warning! The protocol described in this file is experimental and 15 backward incompatible changes may be made. Backward compatible changes 16 may be added together with the corresponding interface version bump. 17 Backward incompatible changes are done by bumping the version number in 18 the protocol and interface names and resetting the interface version. 19 Once the protocol is to be declared stable, the 'z' prefix and the 20 version number in the protocol and interface names are removed and the 21 interface version number is reset. 22 </description> 23 24 <request name="get_swipe_gesture"> 25 <description summary="get swipe gesture"> 26 Create a swipe gesture object. See the 27 wl_pointer_gesture_swipe interface for details. 28 </description> 29 <arg name="id" type="new_id" interface="zwp_pointer_gesture_swipe_v1"/> 30 <arg name="pointer" type="object" interface="wl_pointer"/> 31 </request> 32 33 <request name="get_pinch_gesture"> 34 <description summary="get pinch gesture"> 35 Create a pinch gesture object. See the 36 wl_pointer_gesture_pinch interface for details. 37 </description> 38 <arg name="id" type="new_id" interface="zwp_pointer_gesture_pinch_v1"/> 39 <arg name="pointer" type="object" interface="wl_pointer"/> 40 </request> 41 42 <!-- Version 2 additions --> 43 44 <request name="release" type="destructor" since="2"> 45 <description summary="destroy the pointer gesture object"> 46 Destroy the pointer gesture object. Swipe, pinch and hold objects 47 created via this gesture object remain valid. 48 </description> 49 </request> 50 51 <!-- Version 3 additions --> 52 53 <request name="get_hold_gesture" since="3"> 54 <description summary="get hold gesture"> 55 Create a hold gesture object. See the 56 wl_pointer_gesture_hold interface for details. 57 </description> 58 <arg name="id" type="new_id" interface="zwp_pointer_gesture_hold_v1"/> 59 <arg name="pointer" type="object" interface="wl_pointer"/> 60 </request> 61 62 </interface> 63 64 <interface name="zwp_pointer_gesture_swipe_v1" version="2"> 65 <description summary="a swipe gesture object"> 66 A swipe gesture object notifies a client about a multi-finger swipe 67 gesture detected on an indirect input device such as a touchpad. 68 The gesture is usually initiated by multiple fingers moving in the 69 same direction but once initiated the direction may change. 70 The precise conditions of when such a gesture is detected are 71 implementation-dependent. 72 73 A gesture consists of three stages: begin, update (optional) and end. 74 There cannot be multiple simultaneous hold, pinch or swipe gestures on a 75 same pointer/seat, how compositors prevent these situations is 76 implementation-dependent. 77 78 A gesture may be cancelled by the compositor or the hardware. 79 Clients should not consider performing permanent or irreversible 80 actions until the end of a gesture has been received. 81 </description> 82 83 <request name="destroy" type="destructor"> 84 <description summary="destroy the pointer swipe gesture object"/> 85 </request> 86 87 <event name="begin"> 88 <description summary="multi-finger swipe begin"> 89 This event is sent when a multi-finger swipe gesture is detected 90 on the device. 91 </description> 92 <arg name="serial" type="uint"/> 93 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 94 <arg name="surface" type="object" interface="wl_surface"/> 95 <arg name="fingers" type="uint" summary="number of fingers"/> 96 </event> 97 98 <event name="update"> 99 <description summary="multi-finger swipe motion"> 100 This event is sent when a multi-finger swipe gesture changes the 101 position of the logical center. 102 103 The dx and dy coordinates are relative coordinates of the logical 104 center of the gesture compared to the previous event. 105 </description> 106 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 107 <arg name="dx" type="fixed" summary="delta x coordinate in surface coordinate space"/> 108 <arg name="dy" type="fixed" summary="delta y coordinate in surface coordinate space"/> 109 </event> 110 111 <event name="end"> 112 <description summary="multi-finger swipe end"> 113 This event is sent when a multi-finger swipe gesture ceases to 114 be valid. This may happen when one or more fingers are lifted or 115 the gesture is cancelled. 116 117 When a gesture is cancelled, the client should undo state changes 118 caused by this gesture. What causes a gesture to be cancelled is 119 implementation-dependent. 120 </description> 121 <arg name="serial" type="uint"/> 122 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 123 <arg name="cancelled" type="int" summary="1 if the gesture was cancelled, 0 otherwise"/> 124 </event> 125 </interface> 126 127 <interface name="zwp_pointer_gesture_pinch_v1" version="2"> 128 <description summary="a pinch gesture object"> 129 A pinch gesture object notifies a client about a multi-finger pinch 130 gesture detected on an indirect input device such as a touchpad. 131 The gesture is usually initiated by multiple fingers moving towards 132 each other or away from each other, or by two or more fingers rotating 133 around a logical center of gravity. The precise conditions of when 134 such a gesture is detected are implementation-dependent. 135 136 A gesture consists of three stages: begin, update (optional) and end. 137 There cannot be multiple simultaneous hold, pinch or swipe gestures on a 138 same pointer/seat, how compositors prevent these situations is 139 implementation-dependent. 140 141 A gesture may be cancelled by the compositor or the hardware. 142 Clients should not consider performing permanent or irreversible 143 actions until the end of a gesture has been received. 144 </description> 145 146 <request name="destroy" type="destructor"> 147 <description summary="destroy the pinch gesture object"/> 148 </request> 149 150 <event name="begin"> 151 <description summary="multi-finger pinch begin"> 152 This event is sent when a multi-finger pinch gesture is detected 153 on the device. 154 </description> 155 <arg name="serial" type="uint"/> 156 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 157 <arg name="surface" type="object" interface="wl_surface"/> 158 <arg name="fingers" type="uint" summary="number of fingers"/> 159 </event> 160 161 <event name="update"> 162 <description summary="multi-finger pinch motion"> 163 This event is sent when a multi-finger pinch gesture changes the 164 position of the logical center, the rotation or the relative scale. 165 166 The dx and dy coordinates are relative coordinates in the 167 surface coordinate space of the logical center of the gesture. 168 169 The scale factor is an absolute scale compared to the 170 pointer_gesture_pinch.begin event, e.g. a scale of 2 means the fingers 171 are now twice as far apart as on pointer_gesture_pinch.begin. 172 173 The rotation is the relative angle in degrees clockwise compared to the previous 174 pointer_gesture_pinch.begin or pointer_gesture_pinch.update event. 175 </description> 176 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 177 <arg name="dx" type="fixed" summary="delta x coordinate in surface coordinate space"/> 178 <arg name="dy" type="fixed" summary="delta y coordinate in surface coordinate space"/> 179 <arg name="scale" type="fixed" summary="scale relative to the initial finger position"/> 180 <arg name="rotation" type="fixed" summary="angle in degrees cw relative to the previous event"/> 181 </event> 182 183 <event name="end"> 184 <description summary="multi-finger pinch end"> 185 This event is sent when a multi-finger pinch gesture ceases to 186 be valid. This may happen when one or more fingers are lifted or 187 the gesture is cancelled. 188 189 When a gesture is cancelled, the client should undo state changes 190 caused by this gesture. What causes a gesture to be cancelled is 191 implementation-dependent. 192 </description> 193 <arg name="serial" type="uint"/> 194 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 195 <arg name="cancelled" type="int" summary="1 if the gesture was cancelled, 0 otherwise"/> 196 </event> 197 198 </interface> 199 200 <interface name="zwp_pointer_gesture_hold_v1" version="3"> 201 <description summary="a hold gesture object"> 202 A hold gesture object notifies a client about a single- or 203 multi-finger hold gesture detected on an indirect input device such as 204 a touchpad. The gesture is usually initiated by one or more fingers 205 being held down without significant movement. The precise conditions 206 of when such a gesture is detected are implementation-dependent. 207 208 In particular, this gesture may be used to cancel kinetic scrolling. 209 210 A hold gesture consists of two stages: begin and end. Unlike pinch and 211 swipe there is no update stage. 212 There cannot be multiple simultaneous hold, pinch or swipe gestures on a 213 same pointer/seat, how compositors prevent these situations is 214 implementation-dependent. 215 216 A gesture may be cancelled by the compositor or the hardware. 217 Clients should not consider performing permanent or irreversible 218 actions until the end of a gesture has been received. 219 </description> 220 221 <request name="destroy" type="destructor" since="3"> 222 <description summary="destroy the hold gesture object"/> 223 </request> 224 225 <event name="begin" since="3"> 226 <description summary="multi-finger hold begin"> 227 This event is sent when a hold gesture is detected on the device. 228 </description> 229 <arg name="serial" type="uint"/> 230 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 231 <arg name="surface" type="object" interface="wl_surface"/> 232 <arg name="fingers" type="uint" summary="number of fingers"/> 233 </event> 234 235 <event name="end" since="3"> 236 <description summary="multi-finger hold end"> 237 This event is sent when a hold gesture ceases to 238 be valid. This may happen when the holding fingers are lifted or 239 the gesture is cancelled, for example if the fingers move past an 240 implementation-defined threshold, the finger count changes or the hold 241 gesture changes into a different type of gesture. 242 243 When a gesture is cancelled, the client may need to undo state changes 244 caused by this gesture. What causes a gesture to be cancelled is 245 implementation-dependent. 246 </description> 247 <arg name="serial" type="uint"/> 248 <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> 249 <arg name="cancelled" type="int" summary="1 if the gesture was cancelled, 0 otherwise"/> 250 </event> 251 252 </interface> 253</protocol> 254
[FILE END]
(C) 2025 0x4248 (C) 2025 4248 Media and 4248 Systems, All part of 0x4248 See LICENCE files for more information. Not all files are by 0x4248 always check Licencing.