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)
279 * Key event (includes pointer buttons)
281 * +----------------+----------------+----------------+----------------+
283 * +----------------+----------------+----------------+----------------+
285 * +----------------+----------------+----------------+----------------+
287 * +----------------+----------------+----------------+----------------+
289 * +----------------+----------------+----------------+----------------+
291 * +----------------+----------------+----------------+----------------+
293 * pressed - uint8_t, 1 if pressed; 0 otherwise
294 * keycode - uint32_t, KEY_* from linux/input.h
305 * Pointer absolute position event
307 * +----------------+----------------+----------------+----------------+
309 * +----------------+----------------+----------------+----------------+
311 * +----------------+----------------+----------------+----------------+
313 * +----------------+----------------+----------------+----------------+
315 * +----------------+----------------+----------------+----------------+
317 * +----------------+----------------+----------------+----------------+
319 * +----------------+----------------+----------------+----------------+
321 * +----------------+----------------+----------------+----------------+
323 * abs_x - int32_t, absolute X position (in FB pixels)
324 * abs_y - int32_t, absolute Y position (in FB pixels)
325 * rel_z - int32_t, relative Z motion (wheel)
337 * Multi-touch event and its sub-types
339 * All multi-touch event packets have common header:
342 * +----------------+----------------+----------------+----------------+
344 * +----------------+----------------+----------------+----------------+
346 * +----------------+----------------+----------------+----------------+
348 * event_type - unt8_t, multi-touch event sub-type, XENKBD_MT_EV_???
349 * contact_id - unt8_t, ID of the contact
351 * Touch interactions can consist of one or more contacts.
353 * with a down event, followed by zero or more motion events,
354 * and ending with an up event. Events relating to the same
356 * Contact ID may be reused after XENKBD_MT_EV_UP event and
357 * is in the [0; XENKBD_FIELD_NUM_CONTACTS - 1] range.
360 * Linux [2] and Windows [3] multi-touch support.
363 * [2] https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
364 * [3] https://msdn.microsoft.com/en-us/library/jj151564(v=vs.85).aspx
367 * Multi-touch down event - sent when a new touch is made: touch is assigned
369 * to this touch.
371 * +----------------+----------------+----------------+----------------+
373 * +----------------+----------------+----------------+----------------+
375 * +----------------+----------------+----------------+----------------+
377 * +----------------+----------------+----------------+----------------+
379 * +----------------+----------------+----------------+----------------+
381 * +----------------+----------------+----------------+----------------+
383 * +----------------+----------------+----------------+----------------+
385 * +----------------+----------------+----------------+----------------+
387 * abs_x - int32_t, absolute X position, in pixels
388 * abs_y - int32_t, absolute Y position, in pixels
390 * Multi-touch contact release event
392 * +----------------+----------------+----------------+----------------+
394 * +----------------+----------------+----------------+----------------+
396 * +----------------+----------------+----------------+----------------+
398 * +----------------+----------------+----------------+----------------+
400 * +----------------+----------------+----------------+----------------+
402 * Multi-touch motion event
404 * +----------------+----------------+----------------+----------------+
406 * +----------------+----------------+----------------+----------------+
408 * +----------------+----------------+----------------+----------------+
410 * +----------------+----------------+----------------+----------------+
412 * +----------------+----------------+----------------+----------------+
414 * +----------------+----------------+----------------+----------------+
416 * +----------------+----------------+----------------+----------------+
418 * +----------------+----------------+----------------+----------------+
420 * abs_x - int32_t, absolute X position, in pixels,
421 * abs_y - int32_t, absolute Y position, in pixels,
423 * Multi-touch input synchronization event - shows end of a set of events
426 * +----------------+----------------+----------------+----------------+
428 * +----------------+----------------+----------------+----------------+
430 * +----------------+----------------+----------------+----------------+
432 * +----------------+----------------+----------------+----------------+
434 * +----------------+----------------+----------------+----------------+
436 * Multi-touch shape event - touch point's shape has changed its shape.
442 * +----------------+----------------+----------------+----------------+
444 * +----------------+----------------+----------------+----------------+
446 * +----------------+----------------+----------------+----------------+
448 * +----------------+----------------+----------------+----------------+
450 * +----------------+----------------+----------------+----------------+
452 * +----------------+----------------+----------------+----------------+
454 * +----------------+----------------+----------------+----------------+
456 * +----------------+----------------+----------------+----------------+
458 * major - unt32_t, length of the major axis, pixels
459 * minor - unt32_t, length of the minor axis, pixels
461 * Multi-touch orientation event - touch point's shape has changed
463 * of the ellipse and positive Y axis in degrees, [-180; +180].
465 * +----------------+----------------+----------------+----------------+
467 * +----------------+----------------+----------------+----------------+
469 * +----------------+----------------+----------------+----------------+
471 * +----------------+----------------+----------------+----------------+
473 * +----------------+----------------+----------------+----------------+
475 * +----------------+----------------+----------------+----------------+
477 * +----------------+----------------+----------------+----------------+
479 * orientation - int16_t, clockwise angle of the major axis
518 * of an unknown out event is an error.
521 * All event packets have the same length (40 octets)
522 * All event packets have common header:
524 * +-----------------+
526 * +-----------------+
527 * type - uint8_t, event code
571 * c-file-style: "BSD"
572 * c-basic-offset: 4
573 * tab-width: 4
574 * indent-tabs-mode: nil