Lines Matching +full:event +full:- +full:touch

2  * kbdif.h -- Xen virtual keyboard/mouse
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
34 * The two halves of a para-virtual driver utilize nodes within
48 *---------------------------- Features supported ----------------------------
54 * feature-disable-keyboard
60 * feature-disable-pointer
66 * feature-abs-pointer
72 * feature-multi-touch
75 * Backends, which support reporting of multi-touch events
78 * feature-raw-pointer
85 *----------------------- Device Instance Parameters ------------------------
87 * unique-id
94 *------------------------- Pointer Device Parameters ------------------------
108 *----------------------- Multi-touch Device Parameters ----------------------
110 * multi-touch-num-contacts
115 * multi-touch-width
118 * Width of the touch area to be used by the frontend
121 * multi-touch-height
124 * Height of the touch area to be used by the frontend
131 *------------------------------ Feature request -----------------------------
137 * request-abs-pointer
143 * request-multi-touch
146 * Request backend to report multi-touch events.
148 * request-raw-pointer
152 * This option is only valid if request-abs-pointer is also set.
155 *----------------------- Request Transport Parameters -----------------------
157 * event-channel
160 * The identifier of the Xen event channel used to signal activity
163 * page-gref
167 * a sole page in a single page sized event ring buffer.
169 * page-ref
177 * EVENT CODES.
186 /* Multi-touch event sub-codes */
201 #define XENKBD_FIELD_FEAT_DSBL_KEYBRD "feature-disable-keyboard"
202 #define XENKBD_FIELD_FEAT_DSBL_POINTER "feature-disable-pointer"
203 #define XENKBD_FIELD_FEAT_ABS_POINTER "feature-abs-pointer"
204 #define XENKBD_FIELD_FEAT_RAW_POINTER "feature-raw-pointer"
205 #define XENKBD_FIELD_FEAT_MTOUCH "feature-multi-touch"
206 #define XENKBD_FIELD_REQ_ABS_POINTER "request-abs-pointer"
207 #define XENKBD_FIELD_REQ_RAW_POINTER "request-raw-pointer"
208 #define XENKBD_FIELD_REQ_MTOUCH "request-multi-touch"
209 #define XENKBD_FIELD_RING_GREF "page-gref"
210 #define XENKBD_FIELD_EVT_CHANNEL "event-channel"
213 #define XENKBD_FIELD_MT_WIDTH "multi-touch-width"
214 #define XENKBD_FIELD_MT_HEIGHT "multi-touch-height"
215 #define XENKBD_FIELD_MT_NUM_CONTACTS "multi-touch-num-contacts"
216 #define XENKBD_FIELD_UNIQUE_ID "unique-id"
219 #define XENKBD_FIELD_RING_REF "page-ref"
226 * The two halves of a Para-virtual driver communicate with
227 * each other using a shared page and an event channel.
228 * Shared page contains a ring with event structures.
237 * All event packets have the same length (40 octets)
238 * All event packets have common header:
241 * +-----------------+
243 * +-----------------+
244 * type - uint8_t, event code, XENKBD_TYPE_???
247 * Pointer relative movement event
249 * +----------------+----------------+----------------+----------------+
251 * +----------------+----------------+----------------+----------------+
253 * +----------------+----------------+----------------+----------------+
255 * +----------------+----------------+----------------+----------------+
257 * +----------------+----------------+----------------+----------------+
259 * +----------------+----------------+----------------+----------------+
261 * +----------------+----------------+----------------+----------------+
263 * +----------------+----------------+----------------+----------------+
265 * rel_x - int32_t, relative X motion
266 * rel_y - int32_t, relative Y motion
267 * rel_z - int32_t, relative Z motion (wheel)
278 * Key event (includes pointer buttons)
280 * +----------------+----------------+----------------+----------------+
282 * +----------------+----------------+----------------+----------------+
284 * +----------------+----------------+----------------+----------------+
286 * +----------------+----------------+----------------+----------------+
288 * +----------------+----------------+----------------+----------------+
290 * +----------------+----------------+----------------+----------------+
292 * pressed - uint8_t, 1 if pressed; 0 otherwise
293 * keycode - uint32_t, KEY_* from linux/input.h
303 * Pointer absolute position event
305 * +----------------+----------------+----------------+----------------+
307 * +----------------+----------------+----------------+----------------+
309 * +----------------+----------------+----------------+----------------+
311 * +----------------+----------------+----------------+----------------+
313 * +----------------+----------------+----------------+----------------+
315 * +----------------+----------------+----------------+----------------+
317 * +----------------+----------------+----------------+----------------+
319 * +----------------+----------------+----------------+----------------+
321 * abs_x - int32_t, absolute X position (in FB pixels)
322 * abs_y - int32_t, absolute Y position (in FB pixels)
323 * rel_z - int32_t, relative Z motion (wheel)
334 * Multi-touch event and its sub-types
336 * All multi-touch event packets have common header:
339 * +----------------+----------------+----------------+----------------+
341 * +----------------+----------------+----------------+----------------+
343 * +----------------+----------------+----------------+----------------+
345 * event_type - unt8_t, multi-touch event sub-type, XENKBD_MT_EV_???
346 * contact_id - unt8_t, ID of the contact
348 * Touch interactions can consist of one or more contacts.
350 * with a down event, followed by zero or more motion events,
351 * and ending with an up event. Events relating to the same
353 * Contact ID may be reused after XENKBD_MT_EV_UP event and
354 * is in the [0; XENKBD_FIELD_NUM_CONTACTS - 1] range.
357 * Linux [2] and Windows [3] multi-touch support.
360 * [2] https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.rst
361 * [3] https://msdn.microsoft.com/en-us/library/jj151564(v=vs.85).aspx
364 * Multi-touch down event - sent when a new touch is made: touch is assigned
366 * to this touch.
368 * +----------------+----------------+----------------+----------------+
370 * +----------------+----------------+----------------+----------------+
372 * +----------------+----------------+----------------+----------------+
374 * +----------------+----------------+----------------+----------------+
376 * +----------------+----------------+----------------+----------------+
378 * +----------------+----------------+----------------+----------------+
380 * +----------------+----------------+----------------+----------------+
382 * +----------------+----------------+----------------+----------------+
384 * abs_x - int32_t, absolute X position, in pixels
385 * abs_y - int32_t, absolute Y position, in pixels
387 * Multi-touch contact release event
389 * +----------------+----------------+----------------+----------------+
391 * +----------------+----------------+----------------+----------------+
393 * +----------------+----------------+----------------+----------------+
395 * +----------------+----------------+----------------+----------------+
397 * +----------------+----------------+----------------+----------------+
399 * Multi-touch motion event
401 * +----------------+----------------+----------------+----------------+
403 * +----------------+----------------+----------------+----------------+
405 * +----------------+----------------+----------------+----------------+
407 * +----------------+----------------+----------------+----------------+
409 * +----------------+----------------+----------------+----------------+
411 * +----------------+----------------+----------------+----------------+
413 * +----------------+----------------+----------------+----------------+
415 * +----------------+----------------+----------------+----------------+
417 * abs_x - int32_t, absolute X position, in pixels,
418 * abs_y - int32_t, absolute Y position, in pixels,
420 * Multi-touch input synchronization event - shows end of a set of events
423 * +----------------+----------------+----------------+----------------+
425 * +----------------+----------------+----------------+----------------+
427 * +----------------+----------------+----------------+----------------+
429 * +----------------+----------------+----------------+----------------+
431 * +----------------+----------------+----------------+----------------+
433 * Multi-touch shape event - touch point's shape has changed its shape.
439 * +----------------+----------------+----------------+----------------+
441 * +----------------+----------------+----------------+----------------+
443 * +----------------+----------------+----------------+----------------+
445 * +----------------+----------------+----------------+----------------+
447 * +----------------+----------------+----------------+----------------+
449 * +----------------+----------------+----------------+----------------+
451 * +----------------+----------------+----------------+----------------+
453 * +----------------+----------------+----------------+----------------+
455 * major - unt32_t, length of the major axis, pixels
456 * minor - unt32_t, length of the minor axis, pixels
458 * Multi-touch orientation event - touch point's shape has changed
460 * of the ellipse and positive Y axis in degrees, [-180; +180].
462 * +----------------+----------------+----------------+----------------+
464 * +----------------+----------------+----------------+----------------+
466 * +----------------+----------------+----------------+----------------+
468 * +----------------+----------------+----------------+----------------+
470 * +----------------+----------------+----------------+----------------+
472 * +----------------+----------------+----------------+----------------+
474 * +----------------+----------------+----------------+----------------+
476 * orientation - int16_t, clockwise angle of the major axis
514 * of an unknown out event is an error.
517 * All event packets have the same length (40 octets)
518 * All event packets have common header:
520 * +-----------------+
522 * +-----------------+
523 * type - uint8_t, event code