<
1/*
2 * This file generated automatically from xinput.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Input_API XCB Input API
8 * @brief Input XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XINPUT_H
13#define __XINPUT_H
14
15#include "xcb.h"
16#include "xfixes.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_INPUT_MAJOR_VERSION 2
23#define XCB_INPUT_MINOR_VERSION 3
24
25extern xcb_extension_t xcb_input_id;
26
27typedef uint32_t xcb_input_event_class_t;
28
29/**
30 * @brief xcb_input_event_class_iterator_t
31 **/
32typedef struct xcb_input_event_class_iterator_t {
33 xcb_input_event_class_t *data;
34 int rem;
35 int index;
36} xcb_input_event_class_iterator_t;
37
38typedef uint8_t xcb_input_key_code_t;
39
40/**
41 * @brief xcb_input_key_code_iterator_t
42 **/
43typedef struct xcb_input_key_code_iterator_t {
44 xcb_input_key_code_t *data;
45 int rem;
46 int index;
47} xcb_input_key_code_iterator_t;
48
49typedef uint16_t xcb_input_device_id_t;
50
51/**
52 * @brief xcb_input_device_id_iterator_t
53 **/
54typedef struct xcb_input_device_id_iterator_t {
55 xcb_input_device_id_t *data;
56 int rem;
57 int index;
58} xcb_input_device_id_iterator_t;
59
60typedef int32_t xcb_input_fp1616_t;
61
62/**
63 * @brief xcb_input_fp1616_iterator_t
64 **/
65typedef struct xcb_input_fp1616_iterator_t {
66 xcb_input_fp1616_t *data;
67 int rem;
68 int index;
69} xcb_input_fp1616_iterator_t;
70
71/**
72 * @brief xcb_input_fp3232_t
73 **/
74typedef struct xcb_input_fp3232_t {
75 int32_t integral;
76 uint32_t frac;
77} xcb_input_fp3232_t;
78
79/**
80 * @brief xcb_input_fp3232_iterator_t
81 **/
82typedef struct xcb_input_fp3232_iterator_t {
83 xcb_input_fp3232_t *data;
84 int rem;
85 int index;
86} xcb_input_fp3232_iterator_t;
87
88/**
89 * @brief xcb_input_get_extension_version_cookie_t
90 **/
91typedef struct xcb_input_get_extension_version_cookie_t {
92 unsigned int sequence;
93} xcb_input_get_extension_version_cookie_t;
94
95/** Opcode for xcb_input_get_extension_version. */
96#define XCB_INPUT_GET_EXTENSION_VERSION 1
97
98/**
99 * @brief xcb_input_get_extension_version_request_t
100 **/
101typedef struct xcb_input_get_extension_version_request_t {
102 uint8_t major_opcode;
103 uint8_t minor_opcode;
104 uint16_t length;
105 uint16_t name_len;
106 uint8_t pad0[2];
107} xcb_input_get_extension_version_request_t;
108
109/**
110 * @brief xcb_input_get_extension_version_reply_t
111 **/
112typedef struct xcb_input_get_extension_version_reply_t {
113 uint8_t response_type;
114 uint8_t xi_reply_type;
115 uint16_t sequence;
116 uint32_t length;
117 uint16_t server_major;
118 uint16_t server_minor;
119 uint8_t present;
120 uint8_t pad0[19];
121} xcb_input_get_extension_version_reply_t;
122
123typedef enum xcb_input_device_use_t {
124 XCB_INPUT_DEVICE_USE_IS_X_POINTER = 0,
125 XCB_INPUT_DEVICE_USE_IS_X_KEYBOARD = 1,
126 XCB_INPUT_DEVICE_USE_IS_X_EXTENSION_DEVICE = 2,
127 XCB_INPUT_DEVICE_USE_IS_X_EXTENSION_KEYBOARD = 3,
128 XCB_INPUT_DEVICE_USE_IS_X_EXTENSION_POINTER = 4
129} xcb_input_device_use_t;
130
131typedef enum xcb_input_input_class_t {
132 XCB_INPUT_INPUT_CLASS_KEY = 0,
133 XCB_INPUT_INPUT_CLASS_BUTTON = 1,
134 XCB_INPUT_INPUT_CLASS_VALUATOR = 2,
135 XCB_INPUT_INPUT_CLASS_FEEDBACK = 3,
136 XCB_INPUT_INPUT_CLASS_PROXIMITY = 4,
137 XCB_INPUT_INPUT_CLASS_FOCUS = 5,
138 XCB_INPUT_INPUT_CLASS_OTHER = 6
139} xcb_input_input_class_t;
140
141typedef enum xcb_input_valuator_mode_t {
142 XCB_INPUT_VALUATOR_MODE_RELATIVE = 0,
143 XCB_INPUT_VALUATOR_MODE_ABSOLUTE = 1
144} xcb_input_valuator_mode_t;
145
146/**
147 * @brief xcb_input_device_info_t
148 **/
149typedef struct xcb_input_device_info_t {
150 xcb_atom_t device_type;
151 uint8_t device_id;
152 uint8_t num_class_info;
153 uint8_t device_use;
154 uint8_t pad0;
155} xcb_input_device_info_t;
156
157/**
158 * @brief xcb_input_device_info_iterator_t
159 **/
160typedef struct xcb_input_device_info_iterator_t {
161 xcb_input_device_info_t *data;
162 int rem;
163 int index;
164} xcb_input_device_info_iterator_t;
165
166/**
167 * @brief xcb_input_key_info_t
168 **/
169typedef struct xcb_input_key_info_t {
170 uint8_t class_id;
171 uint8_t len;
172 xcb_input_key_code_t min_keycode;
173 xcb_input_key_code_t max_keycode;
174 uint16_t num_keys;
175 uint8_t pad0[2];
176} xcb_input_key_info_t;
177
178/**
179 * @brief xcb_input_key_info_iterator_t
180 **/
181typedef struct xcb_input_key_info_iterator_t {
182 xcb_input_key_info_t *data;
183 int rem;
184 int index;
185} xcb_input_key_info_iterator_t;
186
187/**
188 * @brief xcb_input_button_info_t
189 **/
190typedef struct xcb_input_button_info_t {
191 uint8_t class_id;
192 uint8_t len;
193 uint16_t num_buttons;
194} xcb_input_button_info_t;
195
196/**
197 * @brief xcb_input_button_info_iterator_t
198 **/
199typedef struct xcb_input_button_info_iterator_t {
200 xcb_input_button_info_t *data;
201 int rem;
202 int index;
203} xcb_input_button_info_iterator_t;
204
205/**
206 * @brief xcb_input_axis_info_t
207 **/
208typedef struct xcb_input_axis_info_t {
209 uint32_t resolution;
210 int32_t minimum;
211 int32_t maximum;
212} xcb_input_axis_info_t;
213
214/**
215 * @brief xcb_input_axis_info_iterator_t
216 **/
217typedef struct xcb_input_axis_info_iterator_t {
218 xcb_input_axis_info_t *data;
219 int rem;
220 int index;
221} xcb_input_axis_info_iterator_t;
222
223/**
224 * @brief xcb_input_valuator_info_t
225 **/
226typedef struct xcb_input_valuator_info_t {
227 uint8_t class_id;
228 uint8_t len;
229 uint8_t axes_len;
230 uint8_t mode;
231 uint32_t motion_size;
232} xcb_input_valuator_info_t;
233
234/**
235 * @brief xcb_input_valuator_info_iterator_t
236 **/
237typedef struct xcb_input_valuator_info_iterator_t {
238 xcb_input_valuator_info_t *data;
239 int rem;
240 int index;
241} xcb_input_valuator_info_iterator_t;
242
243/**
244 * @brief xcb_input_input_info_info_t
245 **/
246typedef struct xcb_input_input_info_info_t {
247 struct {
248 xcb_input_key_code_t min_keycode;
249 xcb_input_key_code_t max_keycode;
250 uint16_t num_keys;
251 uint8_t pad0[2];
252 } key;
253 struct {
254 uint16_t num_buttons;
255 } button;
256 struct {
257 uint8_t axes_len;
258 uint8_t mode;
259 uint32_t motion_size;
260 xcb_input_axis_info_t *axes;
261 } valuator;
262} xcb_input_input_info_info_t;
263
264/**
265 * @brief xcb_input_input_info_t
266 **/
267typedef struct xcb_input_input_info_t {
268 uint8_t class_id;
269 uint8_t len;
270} xcb_input_input_info_t;
271
272void *
273xcb_input_input_info_info (const xcb_input_input_info_t *R);
274
275/**
276 * @brief xcb_input_input_info_iterator_t
277 **/
278typedef struct xcb_input_input_info_iterator_t {
279 xcb_input_input_info_t *data;
280 int rem;
281 int index;
282} xcb_input_input_info_iterator_t;
283
284/**
285 * @brief xcb_input_device_name_t
286 **/
287typedef struct xcb_input_device_name_t {
288 uint8_t len;
289} xcb_input_device_name_t;
290
291/**
292 * @brief xcb_input_device_name_iterator_t
293 **/
294typedef struct xcb_input_device_name_iterator_t {
295 xcb_input_device_name_t *data;
296 int rem;
297 int index;
298} xcb_input_device_name_iterator_t;
299
300/**
301 * @brief xcb_input_list_input_devices_cookie_t
302 **/
303typedef struct xcb_input_list_input_devices_cookie_t {
304 unsigned int sequence;
305} xcb_input_list_input_devices_cookie_t;
306
307/** Opcode for xcb_input_list_input_devices. */
308#define XCB_INPUT_LIST_INPUT_DEVICES 2
309
310/**
311 * @brief xcb_input_list_input_devices_request_t
312 **/
313typedef struct xcb_input_list_input_devices_request_t {
314 uint8_t major_opcode;
315 uint8_t minor_opcode;
316 uint16_t length;
317} xcb_input_list_input_devices_request_t;
318
319/**
320 * @brief xcb_input_list_input_devices_reply_t
321 **/
322typedef struct xcb_input_list_input_devices_reply_t {
323 uint8_t response_type;
324 uint8_t xi_reply_type;
325 uint16_t sequence;
326 uint32_t length;
327 uint8_t devices_len;
328 uint8_t pad0[23];
329} xcb_input_list_input_devices_reply_t;
330
331typedef uint8_t xcb_input_event_type_base_t;
332
333/**
334 * @brief xcb_input_event_type_base_iterator_t
335 **/
336typedef struct xcb_input_event_type_base_iterator_t {
337 xcb_input_event_type_base_t *data;
338 int rem;
339 int index;
340} xcb_input_event_type_base_iterator_t;
341
342/**
343 * @brief xcb_input_input_class_info_t
344 **/
345typedef struct xcb_input_input_class_info_t {
346 uint8_t class_id;
347 xcb_input_event_type_base_t event_type_base;
348} xcb_input_input_class_info_t;
349
350/**
351 * @brief xcb_input_input_class_info_iterator_t
352 **/
353typedef struct xcb_input_input_class_info_iterator_t {
354 xcb_input_input_class_info_t *data;
355 int rem;
356 int index;
357} xcb_input_input_class_info_iterator_t;
358
359/**
360 * @brief xcb_input_open_device_cookie_t
361 **/
362typedef struct xcb_input_open_device_cookie_t {
363 unsigned int sequence;
364} xcb_input_open_device_cookie_t;
365
366/** Opcode for xcb_input_open_device. */
367#define XCB_INPUT_OPEN_DEVICE 3
368
369/**
370 * @brief xcb_input_open_device_request_t
371 **/
372typedef struct xcb_input_open_device_request_t {
373 uint8_t major_opcode;
374 uint8_t minor_opcode;
375 uint16_t length;
376 uint8_t device_id;
377 uint8_t pad0[3];
378} xcb_input_open_device_request_t;
379
380/**
381 * @brief xcb_input_open_device_reply_t
382 **/
383typedef struct xcb_input_open_device_reply_t {
384 uint8_t response_type;
385 uint8_t xi_reply_type;
386 uint16_t sequence;
387 uint32_t length;
388 uint8_t num_classes;
389 uint8_t pad0[23];
390} xcb_input_open_device_reply_t;
391
392/** Opcode for xcb_input_close_device. */
393#define XCB_INPUT_CLOSE_DEVICE 4
394
395/**
396 * @brief xcb_input_close_device_request_t
397 **/
398typedef struct xcb_input_close_device_request_t {
399 uint8_t major_opcode;
400 uint8_t minor_opcode;
401 uint16_t length;
402 uint8_t device_id;
403 uint8_t pad0[3];
404} xcb_input_close_device_request_t;
405
406/**
407 * @brief xcb_input_set_device_mode_cookie_t
408 **/
409typedef struct xcb_input_set_device_mode_cookie_t {
410 unsigned int sequence;
411} xcb_input_set_device_mode_cookie_t;
412
413/** Opcode for xcb_input_set_device_mode. */
414#define XCB_INPUT_SET_DEVICE_MODE 5
415
416/**
417 * @brief xcb_input_set_device_mode_request_t
418 **/
419typedef struct xcb_input_set_device_mode_request_t {
420 uint8_t major_opcode;
421 uint8_t minor_opcode;
422 uint16_t length;
423 uint8_t device_id;
424 uint8_t mode;
425 uint8_t pad0[2];
426} xcb_input_set_device_mode_request_t;
427
428/**
429 * @brief xcb_input_set_device_mode_reply_t
430 **/
431typedef struct xcb_input_set_device_mode_reply_t {
432 uint8_t response_type;
433 uint8_t xi_reply_type;
434 uint16_t sequence;
435 uint32_t length;
436 uint8_t status;
437 uint8_t pad0[23];
438} xcb_input_set_device_mode_reply_t;
439
440/** Opcode for xcb_input_select_extension_event. */
441#define XCB_INPUT_SELECT_EXTENSION_EVENT 6
442
443/**
444 * @brief xcb_input_select_extension_event_request_t
445 **/
446typedef struct xcb_input_select_extension_event_request_t {
447 uint8_t major_opcode;
448 uint8_t minor_opcode;
449 uint16_t length;
450 xcb_window_t window;
451 uint16_t num_classes;
452 uint8_t pad0[2];
453} xcb_input_select_extension_event_request_t;
454
455/**
456 * @brief xcb_input_get_selected_extension_events_cookie_t
457 **/
458typedef struct xcb_input_get_selected_extension_events_cookie_t {
459 unsigned int sequence;
460} xcb_input_get_selected_extension_events_cookie_t;
461
462/** Opcode for xcb_input_get_selected_extension_events. */
463#define XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS 7
464
465/**
466 * @brief xcb_input_get_selected_extension_events_request_t
467 **/
468typedef struct xcb_input_get_selected_extension_events_request_t {
469 uint8_t major_opcode;
470 uint8_t minor_opcode;
471 uint16_t length;
472 xcb_window_t window;
473} xcb_input_get_selected_extension_events_request_t;
474
475/**
476 * @brief xcb_input_get_selected_extension_events_reply_t
477 **/
478typedef struct xcb_input_get_selected_extension_events_reply_t {
479 uint8_t response_type;
480 uint8_t xi_reply_type;
481 uint16_t sequence;
482 uint32_t length;
483 uint16_t num_this_classes;
484 uint16_t num_all_classes;
485 uint8_t pad0[20];
486} xcb_input_get_selected_extension_events_reply_t;
487
488typedef enum xcb_input_propagate_mode_t {
489 XCB_INPUT_PROPAGATE_MODE_ADD_TO_LIST = 0,
490 XCB_INPUT_PROPAGATE_MODE_DELETE_FROM_LIST = 1
491} xcb_input_propagate_mode_t;
492
493/** Opcode for xcb_input_change_device_dont_propagate_list. */
494#define XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST 8
495
496/**
497 * @brief xcb_input_change_device_dont_propagate_list_request_t
498 **/
499typedef struct xcb_input_change_device_dont_propagate_list_request_t {
500 uint8_t major_opcode;
501 uint8_t minor_opcode;
502 uint16_t length;
503 xcb_window_t window;
504 uint16_t num_classes;
505 uint8_t mode;
506 uint8_t pad0;
507} xcb_input_change_device_dont_propagate_list_request_t;
508
509/**
510 * @brief xcb_input_get_device_dont_propagate_list_cookie_t
511 **/
512typedef struct xcb_input_get_device_dont_propagate_list_cookie_t {
513 unsigned int sequence;
514} xcb_input_get_device_dont_propagate_list_cookie_t;
515
516/** Opcode for xcb_input_get_device_dont_propagate_list. */
517#define XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST 9
518
519/**
520 * @brief xcb_input_get_device_dont_propagate_list_request_t
521 **/
522typedef struct xcb_input_get_device_dont_propagate_list_request_t {
523 uint8_t major_opcode;
524 uint8_t minor_opcode;
525 uint16_t length;
526 xcb_window_t window;
527} xcb_input_get_device_dont_propagate_list_request_t;
528
529/**
530 * @brief xcb_input_get_device_dont_propagate_list_reply_t
531 **/
532typedef struct xcb_input_get_device_dont_propagate_list_reply_t {
533 uint8_t response_type;
534 uint8_t xi_reply_type;
535 uint16_t sequence;
536 uint32_t length;
537 uint16_t num_classes;
538 uint8_t pad0[22];
539} xcb_input_get_device_dont_propagate_list_reply_t;
540
541/**
542 * @brief xcb_input_device_time_coord_t
543 **/
544typedef struct xcb_input_device_time_coord_t {
545 xcb_timestamp_t time;
546} xcb_input_device_time_coord_t;
547
548/**
549 * @brief xcb_input_device_time_coord_iterator_t
550 **/
551typedef struct xcb_input_device_time_coord_iterator_t {
552 xcb_input_device_time_coord_t *data;
553 int rem;
554 int index;
555 uint8_t num_axes; /**< */
556} xcb_input_device_time_coord_iterator_t;
557
558/**
559 * @brief xcb_input_get_device_motion_events_cookie_t
560 **/
561typedef struct xcb_input_get_device_motion_events_cookie_t {
562 unsigned int sequence;
563} xcb_input_get_device_motion_events_cookie_t;
564
565/** Opcode for xcb_input_get_device_motion_events. */
566#define XCB_INPUT_GET_DEVICE_MOTION_EVENTS 10
567
568/**
569 * @brief xcb_input_get_device_motion_events_request_t
570 **/
571typedef struct xcb_input_get_device_motion_events_request_t {
572 uint8_t major_opcode;
573 uint8_t minor_opcode;
574 uint16_t length;
575 xcb_timestamp_t start;
576 xcb_timestamp_t stop;
577 uint8_t device_id;
578 uint8_t pad0[3];
579} xcb_input_get_device_motion_events_request_t;
580
581/**
582 * @brief xcb_input_get_device_motion_events_reply_t
583 **/
584typedef struct xcb_input_get_device_motion_events_reply_t {
585 uint8_t response_type;
586 uint8_t xi_reply_type;
587 uint16_t sequence;
588 uint32_t length;
589 uint32_t num_events;
590 uint8_t num_axes;
591 uint8_t device_mode;
592 uint8_t pad0[18];
593} xcb_input_get_device_motion_events_reply_t;
594
595/**
596 * @brief xcb_input_change_keyboard_device_cookie_t
597 **/
598typedef struct xcb_input_change_keyboard_device_cookie_t {
599 unsigned int sequence;
600} xcb_input_change_keyboard_device_cookie_t;
601
602/** Opcode for xcb_input_change_keyboard_device. */
603#define XCB_INPUT_CHANGE_KEYBOARD_DEVICE 11
604
605/**
606 * @brief xcb_input_change_keyboard_device_request_t
607 **/
608typedef struct xcb_input_change_keyboard_device_request_t {
609 uint8_t major_opcode;
610 uint8_t minor_opcode;
611 uint16_t length;
612 uint8_t device_id;
613 uint8_t pad0[3];
614} xcb_input_change_keyboard_device_request_t;
615
616/**
617 * @brief xcb_input_change_keyboard_device_reply_t
618 **/
619typedef struct xcb_input_change_keyboard_device_reply_t {
620 uint8_t response_type;
621 uint8_t xi_reply_type;
622 uint16_t sequence;
623 uint32_t length;
624 uint8_t status;
625 uint8_t pad0[23];
626} xcb_input_change_keyboard_device_reply_t;
627
628/**
629 * @brief xcb_input_change_pointer_device_cookie_t
630 **/
631typedef struct xcb_input_change_pointer_device_cookie_t {
632 unsigned int sequence;
633} xcb_input_change_pointer_device_cookie_t;
634
635/** Opcode for xcb_input_change_pointer_device. */
636#define XCB_INPUT_CHANGE_POINTER_DEVICE 12
637
638/**
639 * @brief xcb_input_change_pointer_device_request_t
640 **/
641typedef struct xcb_input_change_pointer_device_request_t {
642 uint8_t major_opcode;
643 uint8_t minor_opcode;
644 uint16_t length;
645 uint8_t x_axis;
646 uint8_t y_axis;
647 uint8_t device_id;
648 uint8_t pad0;
649} xcb_input_change_pointer_device_request_t;
650
651/**
652 * @brief xcb_input_change_pointer_device_reply_t
653 **/
654typedef struct xcb_input_change_pointer_device_reply_t {
655 uint8_t response_type;
656 uint8_t xi_reply_type;
657 uint16_t sequence;
658 uint32_t length;
659 uint8_t status;
660 uint8_t pad0[23];
661} xcb_input_change_pointer_device_reply_t;
662
663/**
664 * @brief xcb_input_grab_device_cookie_t
665 **/
666typedef struct xcb_input_grab_device_cookie_t {
667 unsigned int sequence;
668} xcb_input_grab_device_cookie_t;
669
670/** Opcode for xcb_input_grab_device. */
671#define XCB_INPUT_GRAB_DEVICE 13
672
673/**
674 * @brief xcb_input_grab_device_request_t
675 **/
676typedef struct xcb_input_grab_device_request_t {
677 uint8_t major_opcode;
678 uint8_t minor_opcode;
679 uint16_t length;
680 xcb_window_t grab_window;
681 xcb_timestamp_t time;
682 uint16_t num_classes;
683 uint8_t this_device_mode;
684 uint8_t other_device_mode;
685 uint8_t owner_events;
686 uint8_t device_id;
687 uint8_t pad0[2];
688} xcb_input_grab_device_request_t;
689
690/**
691 * @brief xcb_input_grab_device_reply_t
692 **/
693typedef struct xcb_input_grab_device_reply_t {
694 uint8_t response_type;
695 uint8_t xi_reply_type;
696 uint16_t sequence;
697 uint32_t length;
698 uint8_t status;
699 uint8_t pad0[23];
700} xcb_input_grab_device_reply_t;
701
702/** Opcode for xcb_input_ungrab_device. */
703#define XCB_INPUT_UNGRAB_DEVICE 14
704
705/**
706 * @brief xcb_input_ungrab_device_request_t
707 **/
708typedef struct xcb_input_ungrab_device_request_t {
709 uint8_t major_opcode;
710 uint8_t minor_opcode;
711 uint16_t length;
712 xcb_timestamp_t time;
713 uint8_t device_id;
714 uint8_t pad0[3];
715} xcb_input_ungrab_device_request_t;
716
717typedef enum xcb_input_modifier_device_t {
718 XCB_INPUT_MODIFIER_DEVICE_USE_X_KEYBOARD = 255
719} xcb_input_modifier_device_t;
720
721/** Opcode for xcb_input_grab_device_key. */
722#define XCB_INPUT_GRAB_DEVICE_KEY 15
723
724/**
725 * @brief xcb_input_grab_device_key_request_t
726 **/
727typedef struct xcb_input_grab_device_key_request_t {
728 uint8_t major_opcode;
729 uint8_t minor_opcode;
730 uint16_t length;
731 xcb_window_t grab_window;
732 uint16_t num_classes;
733 uint16_t modifiers;
734 uint8_t modifier_device;
735 uint8_t grabbed_device;
736 uint8_t key;
737 uint8_t this_device_mode;
738 uint8_t other_device_mode;
739 uint8_t owner_events;
740 uint8_t pad0[2];
741} xcb_input_grab_device_key_request_t;
742
743/** Opcode for xcb_input_ungrab_device_key. */
744#define XCB_INPUT_UNGRAB_DEVICE_KEY 16
745
746/**
747 * @brief xcb_input_ungrab_device_key_request_t
748 **/
749typedef struct xcb_input_ungrab_device_key_request_t {
750 uint8_t major_opcode;
751 uint8_t minor_opcode;
752 uint16_t length;
753 xcb_window_t grabWindow;
754 uint16_t modifiers;
755 uint8_t modifier_device;
756 uint8_t key;
757 uint8_t grabbed_device;
758} xcb_input_ungrab_device_key_request_t;
759
760/** Opcode for xcb_input_grab_device_button. */
761#define XCB_INPUT_GRAB_DEVICE_BUTTON 17
762
763/**
764 * @brief xcb_input_grab_device_button_request_t
765 **/
766typedef struct xcb_input_grab_device_button_request_t {
767 uint8_t major_opcode;
768 uint8_t minor_opcode;
769 uint16_t length;
770 xcb_window_t grab_window;
771 uint8_t grabbed_device;
772 uint8_t modifier_device;
773 uint16_t num_classes;
774 uint16_t modifiers;
775 uint8_t this_device_mode;
776 uint8_t other_device_mode;
777 uint8_t button;
778 uint8_t owner_events;
779 uint8_t pad0[2];
780} xcb_input_grab_device_button_request_t;
781
782/** Opcode for xcb_input_ungrab_device_button. */
783#define XCB_INPUT_UNGRAB_DEVICE_BUTTON 18
784
785/**
786 * @brief xcb_input_ungrab_device_button_request_t
787 **/
788typedef struct xcb_input_ungrab_device_button_request_t {
789 uint8_t major_opcode;
790 uint8_t minor_opcode;
791 uint16_t length;
792 xcb_window_t grab_window;
793 uint16_t modifiers;
794 uint8_t modifier_device;
795 uint8_t button;
796 uint8_t grabbed_device;
797 uint8_t pad0[3];
798} xcb_input_ungrab_device_button_request_t;
799
800typedef enum xcb_input_device_input_mode_t {
801 XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_THIS_DEVICE = 0,
802 XCB_INPUT_DEVICE_INPUT_MODE_SYNC_THIS_DEVICE = 1,
803 XCB_INPUT_DEVICE_INPUT_MODE_REPLAY_THIS_DEVICE = 2,
804 XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_OTHER_DEVICES = 3,
805 XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_ALL = 4,
806 XCB_INPUT_DEVICE_INPUT_MODE_SYNC_ALL = 5
807} xcb_input_device_input_mode_t;
808
809/** Opcode for xcb_input_allow_device_events. */
810#define XCB_INPUT_ALLOW_DEVICE_EVENTS 19
811
812/**
813 * @brief xcb_input_allow_device_events_request_t
814 **/
815typedef struct xcb_input_allow_device_events_request_t {
816 uint8_t major_opcode;
817 uint8_t minor_opcode;
818 uint16_t length;
819 xcb_timestamp_t time;
820 uint8_t mode;
821 uint8_t device_id;
822 uint8_t pad0[2];
823} xcb_input_allow_device_events_request_t;
824
825/**
826 * @brief xcb_input_get_device_focus_cookie_t
827 **/
828typedef struct xcb_input_get_device_focus_cookie_t {
829 unsigned int sequence;
830} xcb_input_get_device_focus_cookie_t;
831
832/** Opcode for xcb_input_get_device_focus. */
833#define XCB_INPUT_GET_DEVICE_FOCUS 20
834
835/**
836 * @brief xcb_input_get_device_focus_request_t
837 **/
838typedef struct xcb_input_get_device_focus_request_t {
839 uint8_t major_opcode;
840 uint8_t minor_opcode;
841 uint16_t length;
842 uint8_t device_id;
843 uint8_t pad0[3];
844} xcb_input_get_device_focus_request_t;
845
846/**
847 * @brief xcb_input_get_device_focus_reply_t
848 **/
849typedef struct xcb_input_get_device_focus_reply_t {
850 uint8_t response_type;
851 uint8_t xi_reply_type;
852 uint16_t sequence;
853 uint32_t length;
854 xcb_window_t focus;
855 xcb_timestamp_t time;
856 uint8_t revert_to;
857 uint8_t pad0[15];
858} xcb_input_get_device_focus_reply_t;
859
860/** Opcode for xcb_input_set_device_focus. */
861#define XCB_INPUT_SET_DEVICE_FOCUS 21
862
863/**
864 * @brief xcb_input_set_device_focus_request_t
865 **/
866typedef struct xcb_input_set_device_focus_request_t {
867 uint8_t major_opcode;
868 uint8_t minor_opcode;
869 uint16_t length;
870 xcb_window_t focus;
871 xcb_timestamp_t time;
872 uint8_t revert_to;
873 uint8_t device_id;
874 uint8_t pad0[2];
875} xcb_input_set_device_focus_request_t;
876
877typedef enum xcb_input_feedback_class_t {
878 XCB_INPUT_FEEDBACK_CLASS_KEYBOARD = 0,
879 XCB_INPUT_FEEDBACK_CLASS_POINTER = 1,
880 XCB_INPUT_FEEDBACK_CLASS_STRING = 2,
881 XCB_INPUT_FEEDBACK_CLASS_INTEGER = 3,
882 XCB_INPUT_FEEDBACK_CLASS_LED = 4,
883 XCB_INPUT_FEEDBACK_CLASS_BELL = 5
884} xcb_input_feedback_class_t;
885
886/**
887 * @brief xcb_input_kbd_feedback_state_t
888 **/
889typedef struct xcb_input_kbd_feedback_state_t {
890 uint8_t class_id;
891 uint8_t feedback_id;
892 uint16_t len;
893 uint16_t pitch;
894 uint16_t duration;
895 uint32_t led_mask;
896 uint32_t led_values;
897 uint8_t global_auto_repeat;
898 uint8_t click;
899 uint8_t percent;
900 uint8_t pad0;
901 uint8_t auto_repeats[32];
902} xcb_input_kbd_feedback_state_t;
903
904/**
905 * @brief xcb_input_kbd_feedback_state_iterator_t
906 **/
907typedef struct xcb_input_kbd_feedback_state_iterator_t {
908 xcb_input_kbd_feedback_state_t *data;
909 int rem;
910 int index;
911} xcb_input_kbd_feedback_state_iterator_t;
912
913/**
914 * @brief xcb_input_ptr_feedback_state_t
915 **/
916typedef struct xcb_input_ptr_feedback_state_t {
917 uint8_t class_id;
918 uint8_t feedback_id;
919 uint16_t len;
920 uint8_t pad0[2];
921 uint16_t accel_num;
922 uint16_t accel_denom;
923 uint16_t threshold;
924} xcb_input_ptr_feedback_state_t;
925
926/**
927 * @brief xcb_input_ptr_feedback_state_iterator_t
928 **/
929typedef struct xcb_input_ptr_feedback_state_iterator_t {
930 xcb_input_ptr_feedback_state_t *data;
931 int rem;
932 int index;
933} xcb_input_ptr_feedback_state_iterator_t;
934
935/**
936 * @brief xcb_input_integer_feedback_state_t
937 **/
938typedef struct xcb_input_integer_feedback_state_t {
939 uint8_t class_id;
940 uint8_t feedback_id;
941 uint16_t len;
942 uint32_t resolution;
943 int32_t min_value;
944 int32_t max_value;
945} xcb_input_integer_feedback_state_t;
946
947/**
948 * @brief xcb_input_integer_feedback_state_iterator_t
949 **/
950typedef struct xcb_input_integer_feedback_state_iterator_t {
951 xcb_input_integer_feedback_state_t *data;
952 int rem;
953 int index;
954} xcb_input_integer_feedback_state_iterator_t;
955
956/**
957 * @brief xcb_input_string_feedback_state_t
958 **/
959typedef struct xcb_input_string_feedback_state_t {
960 uint8_t class_id;
961 uint8_t feedback_id;
962 uint16_t len;
963 uint16_t max_symbols;
964 uint16_t num_keysyms;
965} xcb_input_string_feedback_state_t;
966
967/**
968 * @brief xcb_input_string_feedback_state_iterator_t
969 **/
970typedef struct xcb_input_string_feedback_state_iterator_t {
971 xcb_input_string_feedback_state_t *data;
972 int rem;
973 int index;
974} xcb_input_string_feedback_state_iterator_t;
975
976/**
977 * @brief xcb_input_bell_feedback_state_t
978 **/
979typedef struct xcb_input_bell_feedback_state_t {
980 uint8_t class_id;
981 uint8_t feedback_id;
982 uint16_t len;
983 uint8_t percent;
984 uint8_t pad0[3];
985 uint16_t pitch;
986 uint16_t duration;
987} xcb_input_bell_feedback_state_t;
988
989/**
990 * @brief xcb_input_bell_feedback_state_iterator_t
991 **/
992typedef struct xcb_input_bell_feedback_state_iterator_t {
993 xcb_input_bell_feedback_state_t *data;
994 int rem;
995 int index;
996} xcb_input_bell_feedback_state_iterator_t;
997
998/**
999 * @brief xcb_input_led_feedback_state_t
1000 **/
1001typedef struct xcb_input_led_feedback_state_t {
1002 uint8_t class_id;
1003 uint8_t feedback_id;
1004 uint16_t len;
1005 uint32_t led_mask;
1006 uint32_t led_values;
1007} xcb_input_led_feedback_state_t;
1008
1009/**
1010 * @brief xcb_input_led_feedback_state_iterator_t
1011 **/
1012typedef struct xcb_input_led_feedback_state_iterator_t {
1013 xcb_input_led_feedback_state_t *data;
1014 int rem;
1015 int index;
1016} xcb_input_led_feedback_state_iterator_t;
1017
1018/**
1019 * @brief xcb_input_feedback_state_data_t
1020 **/
1021typedef struct xcb_input_feedback_state_data_t {
1022 struct {
1023 uint16_t pitch;
1024 uint16_t duration;
1025 uint32_t led_mask;
1026 uint32_t led_values;
1027 uint8_t global_auto_repeat;
1028 uint8_t click;
1029 uint8_t percent;
1030 uint8_t pad0;
1031 uint8_t auto_repeats[32];
1032 } keyboard;
1033 struct {
1034 uint8_t pad1[2];
1035 uint16_t accel_num;
1036 uint16_t accel_denom;
1037 uint16_t threshold;
1038 } pointer;
1039 struct {
1040 uint16_t max_symbols;
1041 uint16_t num_keysyms;
1042 xcb_keysym_t *keysyms;
1043 } string;
1044 struct {
1045 uint32_t resolution;
1046 int32_t min_value;
1047 int32_t max_value;
1048 } integer;
1049 struct {
1050 uint32_t led_mask;
1051 uint32_t led_values;
1052 } led;
1053 struct {
1054 uint8_t percent;
1055 uint8_t pad2[3];
1056 uint16_t pitch;
1057 uint16_t duration;
1058 } bell;
1059} xcb_input_feedback_state_data_t;
1060
1061/**
1062 * @brief xcb_input_feedback_state_t
1063 **/
1064typedef struct xcb_input_feedback_state_t {
1065 uint8_t class_id;
1066 uint8_t feedback_id;
1067 uint16_t len;
1068} xcb_input_feedback_state_t;
1069
1070void *
1071xcb_input_feedback_state_data (const xcb_input_feedback_state_t *R);
1072
1073/**
1074 * @brief xcb_input_feedback_state_iterator_t
1075 **/
1076typedef struct xcb_input_feedback_state_iterator_t {
1077 xcb_input_feedback_state_t *data;
1078 int rem;
1079 int index;
1080} xcb_input_feedback_state_iterator_t;
1081
1082/**
1083 * @brief xcb_input_get_feedback_control_cookie_t
1084 **/
1085typedef struct xcb_input_get_feedback_control_cookie_t {
1086 unsigned int sequence;
1087} xcb_input_get_feedback_control_cookie_t;
1088
1089/** Opcode for xcb_input_get_feedback_control. */
1090#define XCB_INPUT_GET_FEEDBACK_CONTROL 22
1091
1092/**
1093 * @brief xcb_input_get_feedback_control_request_t
1094 **/
1095typedef struct xcb_input_get_feedback_control_request_t {
1096 uint8_t major_opcode;
1097 uint8_t minor_opcode;
1098 uint16_t length;
1099 uint8_t device_id;
1100 uint8_t pad0[3];
1101} xcb_input_get_feedback_control_request_t;
1102
1103/**
1104 * @brief xcb_input_get_feedback_control_reply_t
1105 **/
1106typedef struct xcb_input_get_feedback_control_reply_t {
1107 uint8_t response_type;
1108 uint8_t xi_reply_type;
1109 uint16_t sequence;
1110 uint32_t length;
1111 uint16_t num_feedbacks;
1112 uint8_t pad0[22];
1113} xcb_input_get_feedback_control_reply_t;
1114
1115/**
1116 * @brief xcb_input_kbd_feedback_ctl_t
1117 **/
1118typedef struct xcb_input_kbd_feedback_ctl_t {
1119 uint8_t class_id;
1120 uint8_t feedback_id;
1121 uint16_t len;
1122 xcb_input_key_code_t key;
1123 uint8_t auto_repeat_mode;
1124 int8_t key_click_percent;
1125 int8_t bell_percent;
1126 int16_t bell_pitch;
1127 int16_t bell_duration;
1128 uint32_t led_mask;
1129 uint32_t led_values;
1130} xcb_input_kbd_feedback_ctl_t;
1131
1132/**
1133 * @brief xcb_input_kbd_feedback_ctl_iterator_t
1134 **/
1135typedef struct xcb_input_kbd_feedback_ctl_iterator_t {
1136 xcb_input_kbd_feedback_ctl_t *data;
1137 int rem;
1138 int index;
1139} xcb_input_kbd_feedback_ctl_iterator_t;
1140
1141/**
1142 * @brief xcb_input_ptr_feedback_ctl_t
1143 **/
1144typedef struct xcb_input_ptr_feedback_ctl_t {
1145 uint8_t class_id;
1146 uint8_t feedback_id;
1147 uint16_t len;
1148 uint8_t pad0[2];
1149 int16_t num;
1150 int16_t denom;
1151 int16_t threshold;
1152} xcb_input_ptr_feedback_ctl_t;
1153
1154/**
1155 * @brief xcb_input_ptr_feedback_ctl_iterator_t
1156 **/
1157typedef struct xcb_input_ptr_feedback_ctl_iterator_t {
1158 xcb_input_ptr_feedback_ctl_t *data;
1159 int rem;
1160 int index;
1161} xcb_input_ptr_feedback_ctl_iterator_t;
1162
1163/**
1164 * @brief xcb_input_integer_feedback_ctl_t
1165 **/
1166typedef struct xcb_input_integer_feedback_ctl_t {
1167 uint8_t class_id;
1168 uint8_t feedback_id;
1169 uint16_t len;
1170 int32_t int_to_display;
1171} xcb_input_integer_feedback_ctl_t;
1172
1173/**
1174 * @brief xcb_input_integer_feedback_ctl_iterator_t
1175 **/
1176typedef struct xcb_input_integer_feedback_ctl_iterator_t {
1177 xcb_input_integer_feedback_ctl_t *data;
1178 int rem;
1179 int index;
1180} xcb_input_integer_feedback_ctl_iterator_t;
1181
1182/**
1183 * @brief xcb_input_string_feedback_ctl_t
1184 **/
1185typedef struct xcb_input_string_feedback_ctl_t {
1186 uint8_t class_id;
1187 uint8_t feedback_id;
1188 uint16_t len;
1189 uint8_t pad0[2];
1190 uint16_t num_keysyms;
1191} xcb_input_string_feedback_ctl_t;
1192
1193/**
1194 * @brief xcb_input_string_feedback_ctl_iterator_t
1195 **/
1196typedef struct xcb_input_string_feedback_ctl_iterator_t {
1197 xcb_input_string_feedback_ctl_t *data;
1198 int rem;
1199 int index;
1200} xcb_input_string_feedback_ctl_iterator_t;
1201
1202/**
1203 * @brief xcb_input_bell_feedback_ctl_t
1204 **/
1205typedef struct xcb_input_bell_feedback_ctl_t {
1206 uint8_t class_id;
1207 uint8_t feedback_id;
1208 uint16_t len;
1209 int8_t percent;
1210 uint8_t pad0[3];
1211 int16_t pitch;
1212 int16_t duration;
1213} xcb_input_bell_feedback_ctl_t;
1214
1215/**
1216 * @brief xcb_input_bell_feedback_ctl_iterator_t
1217 **/
1218typedef struct xcb_input_bell_feedback_ctl_iterator_t {
1219 xcb_input_bell_feedback_ctl_t *data;
1220 int rem;
1221 int index;
1222} xcb_input_bell_feedback_ctl_iterator_t;
1223
1224/**
1225 * @brief xcb_input_led_feedback_ctl_t
1226 **/
1227typedef struct xcb_input_led_feedback_ctl_t {
1228 uint8_t class_id;
1229 uint8_t feedback_id;
1230 uint16_t len;
1231 uint32_t led_mask;
1232 uint32_t led_values;
1233} xcb_input_led_feedback_ctl_t;
1234
1235/**
1236 * @brief xcb_input_led_feedback_ctl_iterator_t
1237 **/
1238typedef struct xcb_input_led_feedback_ctl_iterator_t {
1239 xcb_input_led_feedback_ctl_t *data;
1240 int rem;
1241 int index;
1242} xcb_input_led_feedback_ctl_iterator_t;
1243
1244/**
1245 * @brief xcb_input_feedback_ctl_data_t
1246 **/
1247typedef struct xcb_input_feedback_ctl_data_t {
1248 struct {
1249 xcb_input_key_code_t key;
1250 uint8_t auto_repeat_mode;
1251 int8_t key_click_percent;
1252 int8_t bell_percent;
1253 int16_t bell_pitch;
1254 int16_t bell_duration;
1255 uint32_t led_mask;
1256 uint32_t led_values;
1257 } keyboard;
1258 struct {
1259 uint8_t pad0[2];
1260 int16_t num;
1261 int16_t denom;
1262 int16_t threshold;
1263 } pointer;
1264 struct {
1265 uint8_t pad1[2];
1266 uint16_t num_keysyms;
1267 xcb_keysym_t *keysyms;
1268 } string;
1269 struct {
1270 int32_t int_to_display;
1271 } integer;
1272 struct {
1273 uint32_t led_mask;
1274 uint32_t led_values;
1275 } led;
1276 struct {
1277 int8_t percent;
1278 uint8_t pad2[3];
1279 int16_t pitch;
1280 int16_t duration;
1281 } bell;
1282} xcb_input_feedback_ctl_data_t;
1283
1284/**
1285 * @brief xcb_input_feedback_ctl_t
1286 **/
1287typedef struct xcb_input_feedback_ctl_t {
1288 uint8_t class_id;
1289 uint8_t feedback_id;
1290 uint16_t len;
1291} xcb_input_feedback_ctl_t;
1292
1293void *
1294xcb_input_feedback_ctl_data (const xcb_input_feedback_ctl_t *R);
1295
1296/**
1297 * @brief xcb_input_feedback_ctl_iterator_t
1298 **/
1299typedef struct xcb_input_feedback_ctl_iterator_t {
1300 xcb_input_feedback_ctl_t *data;
1301 int rem;
1302 int index;
1303} xcb_input_feedback_ctl_iterator_t;
1304
1305typedef enum xcb_input_change_feedback_control_mask_t {
1306 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_KEY_CLICK_PERCENT = 1,
1307 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_PERCENT = 2,
1308 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_PITCH = 4,
1309 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_DURATION = 8,
1310 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_LED = 16,
1311 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_LED_MODE = 32,
1312 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_KEY = 64,
1313 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_AUTO_REPEAT_MODE = 128,
1314 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_STRING = 1,
1315 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_INTEGER = 1,
1316 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_ACCEL_NUM = 1,
1317 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_ACCEL_DENOM = 2,
1318 XCB_INPUT_CHANGE_FEEDBACK_CONTROL_MASK_THRESHOLD = 4
1319} xcb_input_change_feedback_control_mask_t;
1320
1321/** Opcode for xcb_input_change_feedback_control. */
1322#define XCB_INPUT_CHANGE_FEEDBACK_CONTROL 23
1323
1324/**
1325 * @brief xcb_input_change_feedback_control_request_t
1326 **/
1327typedef struct xcb_input_change_feedback_control_request_t {
1328 uint8_t major_opcode;
1329 uint8_t minor_opcode;
1330 uint16_t length;
1331 uint32_t mask;
1332 uint8_t device_id;
1333 uint8_t feedback_id;
1334 uint8_t pad0[2];
1335} xcb_input_change_feedback_control_request_t;
1336
1337/**
1338 * @brief xcb_input_get_device_key_mapping_cookie_t
1339 **/
1340typedef struct xcb_input_get_device_key_mapping_cookie_t {
1341 unsigned int sequence;
1342} xcb_input_get_device_key_mapping_cookie_t;
1343
1344/** Opcode for xcb_input_get_device_key_mapping. */
1345#define XCB_INPUT_GET_DEVICE_KEY_MAPPING 24
1346
1347/**
1348 * @brief xcb_input_get_device_key_mapping_request_t
1349 **/
1350typedef struct xcb_input_get_device_key_mapping_request_t {
1351 uint8_t major_opcode;
1352 uint8_t minor_opcode;
1353 uint16_t length;
1354 uint8_t device_id;
1355 xcb_input_key_code_t first_keycode;
1356 uint8_t count;
1357 uint8_t pad0;
1358} xcb_input_get_device_key_mapping_request_t;
1359
1360/**
1361 * @brief xcb_input_get_device_key_mapping_reply_t
1362 **/
1363typedef struct xcb_input_get_device_key_mapping_reply_t {
1364 uint8_t response_type;
1365 uint8_t xi_reply_type;
1366 uint16_t sequence;
1367 uint32_t length;
1368 uint8_t keysyms_per_keycode;
1369 uint8_t pad0[23];
1370} xcb_input_get_device_key_mapping_reply_t;
1371
1372/** Opcode for xcb_input_change_device_key_mapping. */
1373#define XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING 25
1374
1375/**
1376 * @brief xcb_input_change_device_key_mapping_request_t
1377 **/
1378typedef struct xcb_input_change_device_key_mapping_request_t {
1379 uint8_t major_opcode;
1380 uint8_t minor_opcode;
1381 uint16_t length;
1382 uint8_t device_id;
1383 xcb_input_key_code_t first_keycode;
1384 uint8_t keysyms_per_keycode;
1385 uint8_t keycode_count;
1386} xcb_input_change_device_key_mapping_request_t;
1387
1388/**
1389 * @brief xcb_input_get_device_modifier_mapping_cookie_t
1390 **/
1391typedef struct xcb_input_get_device_modifier_mapping_cookie_t {
1392 unsigned int sequence;
1393} xcb_input_get_device_modifier_mapping_cookie_t;
1394
1395/** Opcode for xcb_input_get_device_modifier_mapping. */
1396#define XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING 26
1397
1398/**
1399 * @brief xcb_input_get_device_modifier_mapping_request_t
1400 **/
1401typedef struct xcb_input_get_device_modifier_mapping_request_t {
1402 uint8_t major_opcode;
1403 uint8_t minor_opcode;
1404 uint16_t length;
1405 uint8_t device_id;
1406 uint8_t pad0[3];
1407} xcb_input_get_device_modifier_mapping_request_t;
1408
1409/**
1410 * @brief xcb_input_get_device_modifier_mapping_reply_t
1411 **/
1412typedef struct xcb_input_get_device_modifier_mapping_reply_t {
1413 uint8_t response_type;
1414 uint8_t xi_reply_type;
1415 uint16_t sequence;
1416 uint32_t length;
1417 uint8_t keycodes_per_modifier;
1418 uint8_t pad0[23];
1419} xcb_input_get_device_modifier_mapping_reply_t;
1420
1421/**
1422 * @brief xcb_input_set_device_modifier_mapping_cookie_t
1423 **/
1424typedef struct xcb_input_set_device_modifier_mapping_cookie_t {
1425 unsigned int sequence;
1426} xcb_input_set_device_modifier_mapping_cookie_t;
1427
1428/** Opcode for xcb_input_set_device_modifier_mapping. */
1429#define XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING 27
1430
1431/**
1432 * @brief xcb_input_set_device_modifier_mapping_request_t
1433 **/
1434typedef struct xcb_input_set_device_modifier_mapping_request_t {
1435 uint8_t major_opcode;
1436 uint8_t minor_opcode;
1437 uint16_t length;
1438 uint8_t device_id;
1439 uint8_t keycodes_per_modifier;
1440 uint8_t pad0[2];
1441} xcb_input_set_device_modifier_mapping_request_t;
1442
1443/**
1444 * @brief xcb_input_set_device_modifier_mapping_reply_t
1445 **/
1446typedef struct xcb_input_set_device_modifier_mapping_reply_t {
1447 uint8_t response_type;
1448 uint8_t xi_reply_type;
1449 uint16_t sequence;
1450 uint32_t length;
1451 uint8_t status;
1452 uint8_t pad0[23];
1453} xcb_input_set_device_modifier_mapping_reply_t;
1454
1455/**
1456 * @brief xcb_input_get_device_button_mapping_cookie_t
1457 **/
1458typedef struct xcb_input_get_device_button_mapping_cookie_t {
1459 unsigned int sequence;
1460} xcb_input_get_device_button_mapping_cookie_t;
1461
1462/** Opcode for xcb_input_get_device_button_mapping. */
1463#define XCB_INPUT_GET_DEVICE_BUTTON_MAPPING 28
1464
1465/**
1466 * @brief xcb_input_get_device_button_mapping_request_t
1467 **/
1468typedef struct xcb_input_get_device_button_mapping_request_t {
1469 uint8_t major_opcode;
1470 uint8_t minor_opcode;
1471 uint16_t length;
1472 uint8_t device_id;
1473 uint8_t pad0[3];
1474} xcb_input_get_device_button_mapping_request_t;
1475
1476/**
1477 * @brief xcb_input_get_device_button_mapping_reply_t
1478 **/
1479typedef struct xcb_input_get_device_button_mapping_reply_t {
1480 uint8_t response_type;
1481 uint8_t xi_reply_type;
1482 uint16_t sequence;
1483 uint32_t length;
1484 uint8_t map_size;
1485 uint8_t pad0[23];
1486} xcb_input_get_device_button_mapping_reply_t;
1487
1488/**
1489 * @brief xcb_input_set_device_button_mapping_cookie_t
1490 **/
1491typedef struct xcb_input_set_device_button_mapping_cookie_t {
1492 unsigned int sequence;
1493} xcb_input_set_device_button_mapping_cookie_t;
1494
1495/** Opcode for xcb_input_set_device_button_mapping. */
1496#define XCB_INPUT_SET_DEVICE_BUTTON_MAPPING 29
1497
1498/**
1499 * @brief xcb_input_set_device_button_mapping_request_t
1500 **/
1501typedef struct xcb_input_set_device_button_mapping_request_t {
1502 uint8_t major_opcode;
1503 uint8_t minor_opcode;
1504 uint16_t length;
1505 uint8_t device_id;
1506 uint8_t map_size;
1507 uint8_t pad0[2];
1508} xcb_input_set_device_button_mapping_request_t;
1509
1510/**
1511 * @brief xcb_input_set_device_button_mapping_reply_t
1512 **/
1513typedef struct xcb_input_set_device_button_mapping_reply_t {
1514 uint8_t response_type;
1515 uint8_t xi_reply_type;
1516 uint16_t sequence;
1517 uint32_t length;
1518 uint8_t status;
1519 uint8_t pad0[23];
1520} xcb_input_set_device_button_mapping_reply_t;
1521
1522/**
1523 * @brief xcb_input_key_state_t
1524 **/
1525typedef struct xcb_input_key_state_t {
1526 uint8_t class_id;
1527 uint8_t len;
1528 uint8_t num_keys;
1529 uint8_t pad0;
1530 uint8_t keys[32];
1531} xcb_input_key_state_t;
1532
1533/**
1534 * @brief xcb_input_key_state_iterator_t
1535 **/
1536typedef struct xcb_input_key_state_iterator_t {
1537 xcb_input_key_state_t *data;
1538 int rem;
1539 int index;
1540} xcb_input_key_state_iterator_t;
1541
1542/**
1543 * @brief xcb_input_button_state_t
1544 **/
1545typedef struct xcb_input_button_state_t {
1546 uint8_t class_id;
1547 uint8_t len;
1548 uint8_t num_buttons;
1549 uint8_t pad0;
1550 uint8_t buttons[32];
1551} xcb_input_button_state_t;
1552
1553/**
1554 * @brief xcb_input_button_state_iterator_t
1555 **/
1556typedef struct xcb_input_button_state_iterator_t {
1557 xcb_input_button_state_t *data;
1558 int rem;
1559 int index;
1560} xcb_input_button_state_iterator_t;
1561
1562typedef enum xcb_input_valuator_state_mode_mask_t {
1563 XCB_INPUT_VALUATOR_STATE_MODE_MASK_DEVICE_MODE_ABSOLUTE = 1,
1564 XCB_INPUT_VALUATOR_STATE_MODE_MASK_OUT_OF_PROXIMITY = 2
1565} xcb_input_valuator_state_mode_mask_t;
1566
1567/**
1568 * @brief xcb_input_valuator_state_t
1569 **/
1570typedef struct xcb_input_valuator_state_t {
1571 uint8_t class_id;
1572 uint8_t len;
1573 uint8_t num_valuators;
1574 uint8_t mode;
1575} xcb_input_valuator_state_t;
1576
1577/**
1578 * @brief xcb_input_valuator_state_iterator_t
1579 **/
1580typedef struct xcb_input_valuator_state_iterator_t {
1581 xcb_input_valuator_state_t *data;
1582 int rem;
1583 int index;
1584} xcb_input_valuator_state_iterator_t;
1585
1586/**
1587 * @brief xcb_input_input_state_data_t
1588 **/
1589typedef struct xcb_input_input_state_data_t {
1590 struct {
1591 uint8_t num_keys;
1592 uint8_t pad0;
1593 uint8_t keys[32];
1594 } key;
1595 struct {
1596 uint8_t num_buttons;
1597 uint8_t pad1;
1598 uint8_t buttons[32];
1599 } button;
1600 struct {
1601 uint8_t num_valuators;
1602 uint8_t mode;
1603 int32_t *valuators;
1604 } valuator;
1605} xcb_input_input_state_data_t;
1606
1607/**
1608 * @brief xcb_input_input_state_t
1609 **/
1610typedef struct xcb_input_input_state_t {
1611 uint8_t class_id;
1612 uint8_t len;
1613} xcb_input_input_state_t;
1614
1615void *
1616xcb_input_input_state_data (const xcb_input_input_state_t *R);
1617
1618/**
1619 * @brief xcb_input_input_state_iterator_t
1620 **/
1621typedef struct xcb_input_input_state_iterator_t {
1622 xcb_input_input_state_t *data;
1623 int rem;
1624 int index;
1625} xcb_input_input_state_iterator_t;
1626
1627/**
1628 * @brief xcb_input_query_device_state_cookie_t
1629 **/
1630typedef struct xcb_input_query_device_state_cookie_t {
1631 unsigned int sequence;
1632} xcb_input_query_device_state_cookie_t;
1633
1634/** Opcode for xcb_input_query_device_state. */
1635#define XCB_INPUT_QUERY_DEVICE_STATE 30
1636
1637/**
1638 * @brief xcb_input_query_device_state_request_t
1639 **/
1640typedef struct xcb_input_query_device_state_request_t {
1641 uint8_t major_opcode;
1642 uint8_t minor_opcode;
1643 uint16_t length;
1644 uint8_t device_id;
1645 uint8_t pad0[3];
1646} xcb_input_query_device_state_request_t;
1647
1648/**
1649 * @brief xcb_input_query_device_state_reply_t
1650 **/
1651typedef struct xcb_input_query_device_state_reply_t {
1652 uint8_t response_type;
1653 uint8_t xi_reply_type;
1654 uint16_t sequence;
1655 uint32_t length;
1656 uint8_t num_classes;
1657 uint8_t pad0[23];
1658} xcb_input_query_device_state_reply_t;
1659
1660/** Opcode for xcb_input_device_bell. */
1661#define XCB_INPUT_DEVICE_BELL 32
1662
1663/**
1664 * @brief xcb_input_device_bell_request_t
1665 **/
1666typedef struct xcb_input_device_bell_request_t {
1667 uint8_t major_opcode;
1668 uint8_t minor_opcode;
1669 uint16_t length;
1670 uint8_t device_id;
1671 uint8_t feedback_id;
1672 uint8_t feedback_class;
1673 int8_t percent;
1674} xcb_input_device_bell_request_t;
1675
1676/**
1677 * @brief xcb_input_set_device_valuators_cookie_t
1678 **/
1679typedef struct xcb_input_set_device_valuators_cookie_t {
1680 unsigned int sequence;
1681} xcb_input_set_device_valuators_cookie_t;
1682
1683/** Opcode for xcb_input_set_device_valuators. */
1684#define XCB_INPUT_SET_DEVICE_VALUATORS 33
1685
1686/**
1687 * @brief xcb_input_set_device_valuators_request_t
1688 **/
1689typedef struct xcb_input_set_device_valuators_request_t {
1690 uint8_t major_opcode;
1691 uint8_t minor_opcode;
1692 uint16_t length;
1693 uint8_t device_id;
1694 uint8_t first_valuator;
1695 uint8_t num_valuators;
1696 uint8_t pad0;
1697} xcb_input_set_device_valuators_request_t;
1698
1699/**
1700 * @brief xcb_input_set_device_valuators_reply_t
1701 **/
1702typedef struct xcb_input_set_device_valuators_reply_t {
1703 uint8_t response_type;
1704 uint8_t xi_reply_type;
1705 uint16_t sequence;
1706 uint32_t length;
1707 uint8_t status;
1708 uint8_t pad0[23];
1709} xcb_input_set_device_valuators_reply_t;
1710
1711typedef enum xcb_input_device_control_t {
1712 XCB_INPUT_DEVICE_CONTROL_RESOLUTION = 1,
1713 XCB_INPUT_DEVICE_CONTROL_ABS_CALIB = 2,
1714 XCB_INPUT_DEVICE_CONTROL_CORE = 3,
1715 XCB_INPUT_DEVICE_CONTROL_ENABLE = 4,
1716 XCB_INPUT_DEVICE_CONTROL_ABS_AREA = 5
1717} xcb_input_device_control_t;
1718
1719/**
1720 * @brief xcb_input_device_resolution_state_t
1721 **/
1722typedef struct xcb_input_device_resolution_state_t {
1723 uint16_t control_id;
1724 uint16_t len;
1725 uint32_t num_valuators;
1726} xcb_input_device_resolution_state_t;
1727
1728/**
1729 * @brief xcb_input_device_resolution_state_iterator_t
1730 **/
1731typedef struct xcb_input_device_resolution_state_iterator_t {
1732 xcb_input_device_resolution_state_t *data;
1733 int rem;
1734 int index;
1735} xcb_input_device_resolution_state_iterator_t;
1736
1737/**
1738 * @brief xcb_input_device_abs_calib_state_t
1739 **/
1740typedef struct xcb_input_device_abs_calib_state_t {
1741 uint16_t control_id;
1742 uint16_t len;
1743 int32_t min_x;
1744 int32_t max_x;
1745 int32_t min_y;
1746 int32_t max_y;
1747 uint32_t flip_x;
1748 uint32_t flip_y;
1749 uint32_t rotation;
1750 uint32_t button_threshold;
1751} xcb_input_device_abs_calib_state_t;
1752
1753/**
1754 * @brief xcb_input_device_abs_calib_state_iterator_t
1755 **/
1756typedef struct xcb_input_device_abs_calib_state_iterator_t {
1757 xcb_input_device_abs_calib_state_t *data;
1758 int rem;
1759 int index;
1760} xcb_input_device_abs_calib_state_iterator_t;
1761
1762/**
1763 * @brief xcb_input_device_abs_area_state_t
1764 **/
1765typedef struct xcb_input_device_abs_area_state_t {
1766 uint16_t control_id;
1767 uint16_t len;
1768 uint32_t offset_x;
1769 uint32_t offset_y;
1770 uint32_t width;
1771 uint32_t height;
1772 uint32_t screen;
1773 uint32_t following;
1774} xcb_input_device_abs_area_state_t;
1775
1776/**
1777 * @brief xcb_input_device_abs_area_state_iterator_t
1778 **/
1779typedef struct xcb_input_device_abs_area_state_iterator_t {
1780 xcb_input_device_abs_area_state_t *data;
1781 int rem;
1782 int index;
1783} xcb_input_device_abs_area_state_iterator_t;
1784
1785/**
1786 * @brief xcb_input_device_core_state_t
1787 **/
1788typedef struct xcb_input_device_core_state_t {
1789 uint16_t control_id;
1790 uint16_t len;
1791 uint8_t status;
1792 uint8_t iscore;
1793 uint8_t pad0[2];
1794} xcb_input_device_core_state_t;
1795
1796/**
1797 * @brief xcb_input_device_core_state_iterator_t
1798 **/
1799typedef struct xcb_input_device_core_state_iterator_t {
1800 xcb_input_device_core_state_t *data;
1801 int rem;
1802 int index;
1803} xcb_input_device_core_state_iterator_t;
1804
1805/**
1806 * @brief xcb_input_device_enable_state_t
1807 **/
1808typedef struct xcb_input_device_enable_state_t {
1809 uint16_t control_id;
1810 uint16_t len;
1811 uint8_t enable;
1812 uint8_t pad0[3];
1813} xcb_input_device_enable_state_t;
1814
1815/**
1816 * @brief xcb_input_device_enable_state_iterator_t
1817 **/
1818typedef struct xcb_input_device_enable_state_iterator_t {
1819 xcb_input_device_enable_state_t *data;
1820 int rem;
1821 int index;
1822} xcb_input_device_enable_state_iterator_t;
1823
1824/**
1825 * @brief xcb_input_device_state_data_t
1826 **/
1827typedef struct xcb_input_device_state_data_t {
1828 struct {
1829 uint32_t num_valuators;
1830 uint32_t *resolution_values;
1831 uint32_t *resolution_min;
1832 uint32_t *resolution_max;
1833 } resolution;
1834 struct {
1835 int32_t min_x;
1836 int32_t max_x;
1837 int32_t min_y;
1838 int32_t max_y;
1839 uint32_t flip_x;
1840 uint32_t flip_y;
1841 uint32_t rotation;
1842 uint32_t button_threshold;
1843 } abs_calib;
1844 struct {
1845 uint8_t status;
1846 uint8_t iscore;
1847 uint8_t pad0[2];
1848 } core;
1849 struct {
1850 uint8_t enable;
1851 uint8_t pad1[3];
1852 } enable;
1853 struct {
1854 uint32_t offset_x;
1855 uint32_t offset_y;
1856 uint32_t width;
1857 uint32_t height;
1858 uint32_t screen;
1859 uint32_t following;
1860 } abs_area;
1861} xcb_input_device_state_data_t;
1862
1863/**
1864 * @brief xcb_input_device_state_t
1865 **/
1866typedef struct xcb_input_device_state_t {
1867 uint16_t control_id;
1868 uint16_t len;
1869} xcb_input_device_state_t;
1870
1871void *
1872xcb_input_device_state_data (const xcb_input_device_state_t *R);
1873
1874/**
1875 * @brief xcb_input_device_state_iterator_t
1876 **/
1877typedef struct xcb_input_device_state_iterator_t {
1878 xcb_input_device_state_t *data;
1879 int rem;
1880 int index;
1881} xcb_input_device_state_iterator_t;
1882
1883/**
1884 * @brief xcb_input_get_device_control_cookie_t
1885 **/
1886typedef struct xcb_input_get_device_control_cookie_t {
1887 unsigned int sequence;
1888} xcb_input_get_device_control_cookie_t;
1889
1890/** Opcode for xcb_input_get_device_control. */
1891#define XCB_INPUT_GET_DEVICE_CONTROL 34
1892
1893/**
1894 * @brief xcb_input_get_device_control_request_t
1895 **/
1896typedef struct xcb_input_get_device_control_request_t {
1897 uint8_t major_opcode;
1898 uint8_t minor_opcode;
1899 uint16_t length;
1900 uint16_t control_id;
1901 uint8_t device_id;
1902 uint8_t pad0;
1903} xcb_input_get_device_control_request_t;
1904
1905/**
1906 * @brief xcb_input_get_device_control_reply_t
1907 **/
1908typedef struct xcb_input_get_device_control_reply_t {
1909 uint8_t response_type;
1910 uint8_t xi_reply_type;
1911 uint16_t sequence;
1912 uint32_t length;
1913 uint8_t status;
1914 uint8_t pad0[23];
1915} xcb_input_get_device_control_reply_t;
1916
1917/**
1918 * @brief xcb_input_device_resolution_ctl_t
1919 **/
1920typedef struct xcb_input_device_resolution_ctl_t {
1921 uint16_t control_id;
1922 uint16_t len;
1923 uint8_t first_valuator;
1924 uint8_t num_valuators;
1925 uint8_t pad0[2];
1926} xcb_input_device_resolution_ctl_t;
1927
1928/**
1929 * @brief xcb_input_device_resolution_ctl_iterator_t
1930 **/
1931typedef struct xcb_input_device_resolution_ctl_iterator_t {
1932 xcb_input_device_resolution_ctl_t *data;
1933 int rem;
1934 int index;
1935} xcb_input_device_resolution_ctl_iterator_t;
1936
1937/**
1938 * @brief xcb_input_device_abs_calib_ctl_t
1939 **/
1940typedef struct xcb_input_device_abs_calib_ctl_t {
1941 uint16_t control_id;
1942 uint16_t len;
1943 int32_t min_x;
1944 int32_t max_x;
1945 int32_t min_y;
1946 int32_t max_y;
1947 uint32_t flip_x;
1948 uint32_t flip_y;
1949 uint32_t rotation;
1950 uint32_t button_threshold;
1951} xcb_input_device_abs_calib_ctl_t;
1952
1953/**
1954 * @brief xcb_input_device_abs_calib_ctl_iterator_t
1955 **/
1956typedef struct xcb_input_device_abs_calib_ctl_iterator_t {
1957 xcb_input_device_abs_calib_ctl_t *data;
1958 int rem;
1959 int index;
1960} xcb_input_device_abs_calib_ctl_iterator_t;
1961
1962/**
1963 * @brief xcb_input_device_abs_area_ctrl_t
1964 **/
1965typedef struct xcb_input_device_abs_area_ctrl_t {
1966 uint16_t control_id;
1967 uint16_t len;
1968 uint32_t offset_x;
1969 uint32_t offset_y;
1970 int32_t width;
1971 int32_t height;
1972 int32_t screen;
1973 uint32_t following;
1974} xcb_input_device_abs_area_ctrl_t;
1975
1976/**
1977 * @brief xcb_input_device_abs_area_ctrl_iterator_t
1978 **/
1979typedef struct xcb_input_device_abs_area_ctrl_iterator_t {
1980 xcb_input_device_abs_area_ctrl_t *data;
1981 int rem;
1982 int index;
1983} xcb_input_device_abs_area_ctrl_iterator_t;
1984
1985/**
1986 * @brief xcb_input_device_core_ctrl_t
1987 **/
1988typedef struct xcb_input_device_core_ctrl_t {
1989 uint16_t control_id;
1990 uint16_t len;
1991 uint8_t status;
1992 uint8_t pad0[3];
1993} xcb_input_device_core_ctrl_t;
1994
1995/**
1996 * @brief xcb_input_device_core_ctrl_iterator_t
1997 **/
1998typedef struct xcb_input_device_core_ctrl_iterator_t {
1999 xcb_input_device_core_ctrl_t *data;
2000 int rem;
2001 int index;
2002} xcb_input_device_core_ctrl_iterator_t;
2003
2004/**
2005 * @brief xcb_input_device_enable_ctrl_t
2006 **/
2007typedef struct xcb_input_device_enable_ctrl_t {
2008 uint16_t control_id;
2009 uint16_t len;
2010 uint8_t enable;
2011 uint8_t pad0[3];
2012} xcb_input_device_enable_ctrl_t;
2013
2014/**
2015 * @brief xcb_input_device_enable_ctrl_iterator_t
2016 **/
2017typedef struct xcb_input_device_enable_ctrl_iterator_t {
2018 xcb_input_device_enable_ctrl_t *data;
2019 int rem;
2020 int index;
2021} xcb_input_device_enable_ctrl_iterator_t;
2022
2023/**
2024 * @brief xcb_input_device_ctl_data_t
2025 **/
2026typedef struct xcb_input_device_ctl_data_t {
2027 struct {
2028 uint8_t first_valuator;
2029 uint8_t num_valuators;
2030 uint8_t pad0[2];
2031 uint32_t *resolution_values;
2032 } resolution;
2033 struct {
2034 int32_t min_x;
2035 int32_t max_x;
2036 int32_t min_y;
2037 int32_t max_y;
2038 uint32_t flip_x;
2039 uint32_t flip_y;
2040 uint32_t rotation;
2041 uint32_t button_threshold;
2042 } abs_calib;
2043 struct {
2044 uint8_t status;
2045 uint8_t pad1[3];
2046 } core;
2047 struct {
2048 uint8_t enable;
2049 uint8_t pad2[3];
2050 } enable;
2051 struct {
2052 uint32_t offset_x;
2053 uint32_t offset_y;
2054 int32_t width;
2055 int32_t height;
2056 int32_t screen;
2057 uint32_t following;
2058 } abs_area;
2059} xcb_input_device_ctl_data_t;
2060
2061/**
2062 * @brief xcb_input_device_ctl_t
2063 **/
2064typedef struct xcb_input_device_ctl_t {
2065 uint16_t control_id;
2066 uint16_t len;
2067} xcb_input_device_ctl_t;
2068
2069void *
2070xcb_input_device_ctl_data (const xcb_input_device_ctl_t *R);
2071
2072/**
2073 * @brief xcb_input_device_ctl_iterator_t
2074 **/
2075typedef struct xcb_input_device_ctl_iterator_t {
2076 xcb_input_device_ctl_t *data;
2077 int rem;
2078 int index;
2079} xcb_input_device_ctl_iterator_t;
2080
2081/**
2082 * @brief xcb_input_change_device_control_cookie_t
2083 **/
2084typedef struct xcb_input_change_device_control_cookie_t {
2085 unsigned int sequence;
2086} xcb_input_change_device_control_cookie_t;
2087
2088/** Opcode for xcb_input_change_device_control. */
2089#define XCB_INPUT_CHANGE_DEVICE_CONTROL 35
2090
2091/**
2092 * @brief xcb_input_change_device_control_request_t
2093 **/
2094typedef struct xcb_input_change_device_control_request_t {
2095 uint8_t major_opcode;
2096 uint8_t minor_opcode;
2097 uint16_t length;
2098 uint16_t control_id;
2099 uint8_t device_id;
2100 uint8_t pad0;
2101} xcb_input_change_device_control_request_t;
2102
2103/**
2104 * @brief xcb_input_change_device_control_reply_t
2105 **/
2106typedef struct xcb_input_change_device_control_reply_t {
2107 uint8_t response_type;
2108 uint8_t xi_reply_type;
2109 uint16_t sequence;
2110 uint32_t length;
2111 uint8_t status;
2112 uint8_t pad0[23];
2113} xcb_input_change_device_control_reply_t;
2114
2115/**
2116 * @brief xcb_input_list_device_properties_cookie_t
2117 **/
2118typedef struct xcb_input_list_device_properties_cookie_t {
2119 unsigned int sequence;
2120} xcb_input_list_device_properties_cookie_t;
2121
2122/** Opcode for xcb_input_list_device_properties. */
2123#define XCB_INPUT_LIST_DEVICE_PROPERTIES 36
2124
2125/**
2126 * @brief xcb_input_list_device_properties_request_t
2127 **/
2128typedef struct xcb_input_list_device_properties_request_t {
2129 uint8_t major_opcode;
2130 uint8_t minor_opcode;
2131 uint16_t length;
2132 uint8_t device_id;
2133 uint8_t pad0[3];
2134} xcb_input_list_device_properties_request_t;
2135
2136/**
2137 * @brief xcb_input_list_device_properties_reply_t
2138 **/
2139typedef struct xcb_input_list_device_properties_reply_t {
2140 uint8_t response_type;
2141 uint8_t xi_reply_type;
2142 uint16_t sequence;
2143 uint32_t length;
2144 uint16_t num_atoms;
2145 uint8_t pad0[22];
2146} xcb_input_list_device_properties_reply_t;
2147
2148typedef enum xcb_input_property_format_t {
2149 XCB_INPUT_PROPERTY_FORMAT_8_BITS = 8,
2150 XCB_INPUT_PROPERTY_FORMAT_16_BITS = 16,
2151 XCB_INPUT_PROPERTY_FORMAT_32_BITS = 32
2152} xcb_input_property_format_t;
2153
2154/**
2155 * @brief xcb_input_change_device_property_items_t
2156 **/
2157typedef struct xcb_input_change_device_property_items_t {
2158 uint8_t *data8;
2159 uint16_t *data16;
2160 uint32_t *data32;
2161} xcb_input_change_device_property_items_t;
2162
2163/** Opcode for xcb_input_change_device_property. */
2164#define XCB_INPUT_CHANGE_DEVICE_PROPERTY 37
2165
2166/**
2167 * @brief xcb_input_change_device_property_request_t
2168 **/
2169typedef struct xcb_input_change_device_property_request_t {
2170 uint8_t major_opcode;
2171 uint8_t minor_opcode;
2172 uint16_t length;
2173 xcb_atom_t property;
2174 xcb_atom_t type;
2175 uint8_t device_id;
2176 uint8_t format;
2177 uint8_t mode;
2178 uint8_t pad0;
2179 uint32_t num_items;
2180} xcb_input_change_device_property_request_t;
2181
2182/** Opcode for xcb_input_delete_device_property. */
2183#define XCB_INPUT_DELETE_DEVICE_PROPERTY 38
2184
2185/**
2186 * @brief xcb_input_delete_device_property_request_t
2187 **/
2188typedef struct xcb_input_delete_device_property_request_t {
2189 uint8_t major_opcode;
2190 uint8_t minor_opcode;
2191 uint16_t length;
2192 xcb_atom_t property;
2193 uint8_t device_id;
2194 uint8_t pad0[3];
2195} xcb_input_delete_device_property_request_t;
2196
2197/**
2198 * @brief xcb_input_get_device_property_cookie_t
2199 **/
2200typedef struct xcb_input_get_device_property_cookie_t {
2201 unsigned int sequence;
2202} xcb_input_get_device_property_cookie_t;
2203
2204/** Opcode for xcb_input_get_device_property. */
2205#define XCB_INPUT_GET_DEVICE_PROPERTY 39
2206
2207/**
2208 * @brief xcb_input_get_device_property_request_t
2209 **/
2210typedef struct xcb_input_get_device_property_request_t {
2211 uint8_t major_opcode;
2212 uint8_t minor_opcode;
2213 uint16_t length;
2214 xcb_atom_t property;
2215 xcb_atom_t type;
2216 uint32_t offset;
2217 uint32_t len;
2218 uint8_t device_id;
2219 uint8_t _delete;
2220 uint8_t pad0[2];
2221} xcb_input_get_device_property_request_t;
2222
2223/**
2224 * @brief xcb_input_get_device_property_items_t
2225 **/
2226typedef struct xcb_input_get_device_property_items_t {
2227 uint8_t *data8;
2228 uint16_t *data16;
2229 uint32_t *data32;
2230} xcb_input_get_device_property_items_t;
2231
2232/**
2233 * @brief xcb_input_get_device_property_reply_t
2234 **/
2235typedef struct xcb_input_get_device_property_reply_t {
2236 uint8_t response_type;
2237 uint8_t xi_reply_type;
2238 uint16_t sequence;
2239 uint32_t length;
2240 xcb_atom_t type;
2241 uint32_t bytes_after;
2242 uint32_t num_items;
2243 uint8_t format;
2244 uint8_t device_id;
2245 uint8_t pad0[10];
2246} xcb_input_get_device_property_reply_t;
2247
2248typedef enum xcb_input_device_t {
2249 XCB_INPUT_DEVICE_ALL = 0,
2250 XCB_INPUT_DEVICE_ALL_MASTER = 1
2251} xcb_input_device_t;
2252
2253/**
2254 * @brief xcb_input_group_info_t
2255 **/
2256typedef struct xcb_input_group_info_t {
2257 uint8_t base;
2258 uint8_t latched;
2259 uint8_t locked;
2260 uint8_t effective;
2261} xcb_input_group_info_t;
2262
2263/**
2264 * @brief xcb_input_group_info_iterator_t
2265 **/
2266typedef struct xcb_input_group_info_iterator_t {
2267 xcb_input_group_info_t *data;
2268 int rem;
2269 int index;
2270} xcb_input_group_info_iterator_t;
2271
2272/**
2273 * @brief xcb_input_modifier_info_t
2274 **/
2275typedef struct xcb_input_modifier_info_t {
2276 uint32_t base;
2277 uint32_t latched;
2278 uint32_t locked;
2279 uint32_t effective;
2280} xcb_input_modifier_info_t;
2281
2282/**
2283 * @brief xcb_input_modifier_info_iterator_t
2284 **/
2285typedef struct xcb_input_modifier_info_iterator_t {
2286 xcb_input_modifier_info_t *data;
2287 int rem;
2288 int index;
2289} xcb_input_modifier_info_iterator_t;
2290
2291/**
2292 * @brief xcb_input_xi_query_pointer_cookie_t
2293 **/
2294typedef struct xcb_input_xi_query_pointer_cookie_t {
2295 unsigned int sequence;
2296} xcb_input_xi_query_pointer_cookie_t;
2297
2298/** Opcode for xcb_input_xi_query_pointer. */
2299#define XCB_INPUT_XI_QUERY_POINTER 40
2300
2301/**
2302 * @brief xcb_input_xi_query_pointer_request_t
2303 **/
2304typedef struct xcb_input_xi_query_pointer_request_t {
2305 uint8_t major_opcode;
2306 uint8_t minor_opcode;
2307 uint16_t length;
2308 xcb_window_t window;
2309 xcb_input_device_id_t deviceid;
2310 uint8_t pad0[2];
2311} xcb_input_xi_query_pointer_request_t;
2312
2313/**
2314 * @brief xcb_input_xi_query_pointer_reply_t
2315 **/
2316typedef struct xcb_input_xi_query_pointer_reply_t {
2317 uint8_t response_type;
2318 uint8_t pad0;
2319 uint16_t sequence;
2320 uint32_t length;
2321 xcb_window_t root;
2322 xcb_window_t child;
2323 xcb_input_fp1616_t root_x;
2324 xcb_input_fp1616_t root_y;
2325 xcb_input_fp1616_t win_x;
2326 xcb_input_fp1616_t win_y;
2327 uint8_t same_screen;
2328 uint8_t pad1;
2329 uint16_t buttons_len;
2330 xcb_input_modifier_info_t mods;
2331 xcb_input_group_info_t group;
2332} xcb_input_xi_query_pointer_reply_t;
2333
2334/** Opcode for xcb_input_xi_warp_pointer. */
2335#define XCB_INPUT_XI_WARP_POINTER 41
2336
2337/**
2338 * @brief xcb_input_xi_warp_pointer_request_t
2339 **/
2340typedef struct xcb_input_xi_warp_pointer_request_t {
2341 uint8_t major_opcode;
2342 uint8_t minor_opcode;
2343 uint16_t length;
2344 xcb_window_t src_win;
2345 xcb_window_t dst_win;
2346 xcb_input_fp1616_t src_x;
2347 xcb_input_fp1616_t src_y;
2348 uint16_t src_width;
2349 uint16_t src_height;
2350 xcb_input_fp1616_t dst_x;
2351 xcb_input_fp1616_t dst_y;
2352 xcb_input_device_id_t deviceid;
2353 uint8_t pad0[2];
2354} xcb_input_xi_warp_pointer_request_t;
2355
2356/** Opcode for xcb_input_xi_change_cursor. */
2357#define XCB_INPUT_XI_CHANGE_CURSOR 42
2358
2359/**
2360 * @brief xcb_input_xi_change_cursor_request_t
2361 **/
2362typedef struct xcb_input_xi_change_cursor_request_t {
2363 uint8_t major_opcode;
2364 uint8_t minor_opcode;
2365 uint16_t length;
2366 xcb_window_t window;
2367 xcb_cursor_t cursor;
2368 xcb_input_device_id_t deviceid;
2369 uint8_t pad0[2];
2370} xcb_input_xi_change_cursor_request_t;
2371
2372typedef enum xcb_input_hierarchy_change_type_t {
2373 XCB_INPUT_HIERARCHY_CHANGE_TYPE_ADD_MASTER = 1,
2374 XCB_INPUT_HIERARCHY_CHANGE_TYPE_REMOVE_MASTER = 2,
2375 XCB_INPUT_HIERARCHY_CHANGE_TYPE_ATTACH_SLAVE = 3,
2376 XCB_INPUT_HIERARCHY_CHANGE_TYPE_DETACH_SLAVE = 4
2377} xcb_input_hierarchy_change_type_t;
2378
2379typedef enum xcb_input_change_mode_t {
2380 XCB_INPUT_CHANGE_MODE_ATTACH = 1,
2381 XCB_INPUT_CHANGE_MODE_FLOAT = 2
2382} xcb_input_change_mode_t;
2383
2384/**
2385 * @brief xcb_input_add_master_t
2386 **/
2387typedef struct xcb_input_add_master_t {
2388 uint16_t type;
2389 uint16_t len;
2390 uint16_t name_len;
2391 uint8_t send_core;
2392 uint8_t enable;
2393} xcb_input_add_master_t;
2394
2395/**
2396 * @brief xcb_input_add_master_iterator_t
2397 **/
2398typedef struct xcb_input_add_master_iterator_t {
2399 xcb_input_add_master_t *data;
2400 int rem;
2401 int index;
2402} xcb_input_add_master_iterator_t;
2403
2404/**
2405 * @brief xcb_input_remove_master_t
2406 **/
2407typedef struct xcb_input_remove_master_t {
2408 uint16_t type;
2409 uint16_t len;
2410 xcb_input_device_id_t deviceid;
2411 uint8_t return_mode;
2412 uint8_t pad0;
2413 xcb_input_device_id_t return_pointer;
2414 xcb_input_device_id_t return_keyboard;
2415} xcb_input_remove_master_t;
2416
2417/**
2418 * @brief xcb_input_remove_master_iterator_t
2419 **/
2420typedef struct xcb_input_remove_master_iterator_t {
2421 xcb_input_remove_master_t *data;
2422 int rem;
2423 int index;
2424} xcb_input_remove_master_iterator_t;
2425
2426/**
2427 * @brief xcb_input_attach_slave_t
2428 **/
2429typedef struct xcb_input_attach_slave_t {
2430 uint16_t type;
2431 uint16_t len;
2432 xcb_input_device_id_t deviceid;
2433 xcb_input_device_id_t master;
2434} xcb_input_attach_slave_t;
2435
2436/**
2437 * @brief xcb_input_attach_slave_iterator_t
2438 **/
2439typedef struct xcb_input_attach_slave_iterator_t {
2440 xcb_input_attach_slave_t *data;
2441 int rem;
2442 int index;
2443} xcb_input_attach_slave_iterator_t;
2444
2445/**
2446 * @brief xcb_input_detach_slave_t
2447 **/
2448typedef struct xcb_input_detach_slave_t {
2449 uint16_t type;
2450 uint16_t len;
2451 xcb_input_device_id_t deviceid;
2452 uint8_t pad0[2];
2453} xcb_input_detach_slave_t;
2454
2455/**
2456 * @brief xcb_input_detach_slave_iterator_t
2457 **/
2458typedef struct xcb_input_detach_slave_iterator_t {
2459 xcb_input_detach_slave_t *data;
2460 int rem;
2461 int index;
2462} xcb_input_detach_slave_iterator_t;
2463
2464/**
2465 * @brief xcb_input_hierarchy_change_data_t
2466 **/
2467typedef struct xcb_input_hierarchy_change_data_t {
2468 struct {
2469 uint16_t name_len;
2470 uint8_t send_core;
2471 uint8_t enable;
2472 char *name;
2473 } add_master;
2474 struct {
2475 xcb_input_device_id_t deviceid;
2476 uint8_t return_mode;
2477 uint8_t pad1;
2478 xcb_input_device_id_t return_pointer;
2479 xcb_input_device_id_t return_keyboard;
2480 } remove_master;
2481 struct {
2482 xcb_input_device_id_t deviceid;
2483 xcb_input_device_id_t master;
2484 } attach_slave;
2485 struct {
2486 xcb_input_device_id_t deviceid;
2487 uint8_t pad2[2];
2488 } detach_slave;
2489} xcb_input_hierarchy_change_data_t;
2490
2491/**
2492 * @brief xcb_input_hierarchy_change_t
2493 **/
2494typedef struct xcb_input_hierarchy_change_t {
2495 uint16_t type;
2496 uint16_t len;
2497} xcb_input_hierarchy_change_t;
2498
2499void *
2500xcb_input_hierarchy_change_data (const xcb_input_hierarchy_change_t *R);
2501
2502/**
2503 * @brief xcb_input_hierarchy_change_iterator_t
2504 **/
2505typedef struct xcb_input_hierarchy_change_iterator_t {
2506 xcb_input_hierarchy_change_t *data;
2507 int rem;
2508 int index;
2509} xcb_input_hierarchy_change_iterator_t;
2510
2511/** Opcode for xcb_input_xi_change_hierarchy. */
2512#define XCB_INPUT_XI_CHANGE_HIERARCHY 43
2513
2514/**
2515 * @brief xcb_input_xi_change_hierarchy_request_t
2516 **/
2517typedef struct xcb_input_xi_change_hierarchy_request_t {
2518 uint8_t major_opcode;
2519 uint8_t minor_opcode;
2520 uint16_t length;
2521 uint8_t num_changes;
2522 uint8_t pad0[3];
2523} xcb_input_xi_change_hierarchy_request_t;
2524
2525/** Opcode for xcb_input_xi_set_client_pointer. */
2526#define XCB_INPUT_XI_SET_CLIENT_POINTER 44
2527
2528/**
2529 * @brief xcb_input_xi_set_client_pointer_request_t
2530 **/
2531typedef struct xcb_input_xi_set_client_pointer_request_t {
2532 uint8_t major_opcode;
2533 uint8_t minor_opcode;
2534 uint16_t length;
2535 xcb_window_t window;
2536 xcb_input_device_id_t deviceid;
2537 uint8_t pad0[2];
2538} xcb_input_xi_set_client_pointer_request_t;
2539
2540/**
2541 * @brief xcb_input_xi_get_client_pointer_cookie_t
2542 **/
2543typedef struct xcb_input_xi_get_client_pointer_cookie_t {
2544 unsigned int sequence;
2545} xcb_input_xi_get_client_pointer_cookie_t;
2546
2547/** Opcode for xcb_input_xi_get_client_pointer. */
2548#define XCB_INPUT_XI_GET_CLIENT_POINTER 45
2549
2550/**
2551 * @brief xcb_input_xi_get_client_pointer_request_t
2552 **/
2553typedef struct xcb_input_xi_get_client_pointer_request_t {
2554 uint8_t major_opcode;
2555 uint8_t minor_opcode;
2556 uint16_t length;
2557 xcb_window_t window;
2558} xcb_input_xi_get_client_pointer_request_t;
2559
2560/**
2561 * @brief xcb_input_xi_get_client_pointer_reply_t
2562 **/
2563typedef struct xcb_input_xi_get_client_pointer_reply_t {
2564 uint8_t response_type;
2565 uint8_t pad0;
2566 uint16_t sequence;
2567 uint32_t length;
2568 uint8_t set;
2569 uint8_t pad1;
2570 xcb_input_device_id_t deviceid;
2571 uint8_t pad2[20];
2572} xcb_input_xi_get_client_pointer_reply_t;
2573
2574typedef enum xcb_input_xi_event_mask_t {
2575 XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED = 2,
2576 XCB_INPUT_XI_EVENT_MASK_KEY_PRESS = 4,
2577 XCB_INPUT_XI_EVENT_MASK_KEY_RELEASE = 8,
2578 XCB_INPUT_XI_EVENT_MASK_BUTTON_PRESS = 16,
2579 XCB_INPUT_XI_EVENT_MASK_BUTTON_RELEASE = 32,
2580 XCB_INPUT_XI_EVENT_MASK_MOTION = 64,
2581 XCB_INPUT_XI_EVENT_MASK_ENTER = 128,
2582 XCB_INPUT_XI_EVENT_MASK_LEAVE = 256,
2583 XCB_INPUT_XI_EVENT_MASK_FOCUS_IN = 512,
2584 XCB_INPUT_XI_EVENT_MASK_FOCUS_OUT = 1024,
2585 XCB_INPUT_XI_EVENT_MASK_HIERARCHY = 2048,
2586 XCB_INPUT_XI_EVENT_MASK_PROPERTY = 4096,
2587 XCB_INPUT_XI_EVENT_MASK_RAW_KEY_PRESS = 8192,
2588 XCB_INPUT_XI_EVENT_MASK_RAW_KEY_RELEASE = 16384,
2589 XCB_INPUT_XI_EVENT_MASK_RAW_BUTTON_PRESS = 32768,
2590 XCB_INPUT_XI_EVENT_MASK_RAW_BUTTON_RELEASE = 65536,
2591 XCB_INPUT_XI_EVENT_MASK_RAW_MOTION = 131072,
2592 XCB_INPUT_XI_EVENT_MASK_TOUCH_BEGIN = 262144,
2593 XCB_INPUT_XI_EVENT_MASK_TOUCH_UPDATE = 524288,
2594 XCB_INPUT_XI_EVENT_MASK_TOUCH_END = 1048576,
2595 XCB_INPUT_XI_EVENT_MASK_TOUCH_OWNERSHIP = 2097152,
2596 XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_BEGIN = 4194304,
2597 XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_UPDATE = 8388608,
2598 XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_END = 16777216,
2599 XCB_INPUT_XI_EVENT_MASK_BARRIER_HIT = 33554432,
2600 XCB_INPUT_XI_EVENT_MASK_BARRIER_LEAVE = 67108864
2601} xcb_input_xi_event_mask_t;
2602
2603/**
2604 * @brief xcb_input_event_mask_t
2605 **/
2606typedef struct xcb_input_event_mask_t {
2607 xcb_input_device_id_t deviceid;
2608 uint16_t mask_len;
2609} xcb_input_event_mask_t;
2610
2611/**
2612 * @brief xcb_input_event_mask_iterator_t
2613 **/
2614typedef struct xcb_input_event_mask_iterator_t {
2615 xcb_input_event_mask_t *data;
2616 int rem;
2617 int index;
2618} xcb_input_event_mask_iterator_t;
2619
2620/** Opcode for xcb_input_xi_select_events. */
2621#define XCB_INPUT_XI_SELECT_EVENTS 46
2622
2623/**
2624 * @brief xcb_input_xi_select_events_request_t
2625 **/
2626typedef struct xcb_input_xi_select_events_request_t {
2627 uint8_t major_opcode;
2628 uint8_t minor_opcode;
2629 uint16_t length;
2630 xcb_window_t window;
2631 uint16_t num_mask;
2632 uint8_t pad0[2];
2633} xcb_input_xi_select_events_request_t;
2634
2635/**
2636 * @brief xcb_input_xi_query_version_cookie_t
2637 **/
2638typedef struct xcb_input_xi_query_version_cookie_t {
2639 unsigned int sequence;
2640} xcb_input_xi_query_version_cookie_t;
2641
2642/** Opcode for xcb_input_xi_query_version. */
2643#define XCB_INPUT_XI_QUERY_VERSION 47
2644
2645/**
2646 * @brief xcb_input_xi_query_version_request_t
2647 **/
2648typedef struct xcb_input_xi_query_version_request_t {
2649 uint8_t major_opcode;
2650 uint8_t minor_opcode;
2651 uint16_t length;
2652 uint16_t major_version;
2653 uint16_t minor_version;
2654} xcb_input_xi_query_version_request_t;
2655
2656/**
2657 * @brief xcb_input_xi_query_version_reply_t
2658 **/
2659typedef struct xcb_input_xi_query_version_reply_t {
2660 uint8_t response_type;
2661 uint8_t pad0;
2662 uint16_t sequence;
2663 uint32_t length;
2664 uint16_t major_version;
2665 uint16_t minor_version;
2666 uint8_t pad1[20];
2667} xcb_input_xi_query_version_reply_t;
2668
2669typedef enum xcb_input_device_class_type_t {
2670 XCB_INPUT_DEVICE_CLASS_TYPE_KEY = 0,
2671 XCB_INPUT_DEVICE_CLASS_TYPE_BUTTON = 1,
2672 XCB_INPUT_DEVICE_CLASS_TYPE_VALUATOR = 2,
2673 XCB_INPUT_DEVICE_CLASS_TYPE_SCROLL = 3,
2674 XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8
2675} xcb_input_device_class_type_t;
2676
2677typedef enum xcb_input_device_type_t {
2678 XCB_INPUT_DEVICE_TYPE_MASTER_POINTER = 1,
2679 XCB_INPUT_DEVICE_TYPE_MASTER_KEYBOARD = 2,
2680 XCB_INPUT_DEVICE_TYPE_SLAVE_POINTER = 3,
2681 XCB_INPUT_DEVICE_TYPE_SLAVE_KEYBOARD = 4,
2682 XCB_INPUT_DEVICE_TYPE_FLOATING_SLAVE = 5
2683} xcb_input_device_type_t;
2684
2685typedef enum xcb_input_scroll_flags_t {
2686 XCB_INPUT_SCROLL_FLAGS_NO_EMULATION = 1,
2687 XCB_INPUT_SCROLL_FLAGS_PREFERRED = 2
2688} xcb_input_scroll_flags_t;
2689
2690typedef enum xcb_input_scroll_type_t {
2691 XCB_INPUT_SCROLL_TYPE_VERTICAL = 1,
2692 XCB_INPUT_SCROLL_TYPE_HORIZONTAL = 2
2693} xcb_input_scroll_type_t;
2694
2695typedef enum xcb_input_touch_mode_t {
2696 XCB_INPUT_TOUCH_MODE_DIRECT = 1,
2697 XCB_INPUT_TOUCH_MODE_DEPENDENT = 2
2698} xcb_input_touch_mode_t;
2699
2700/**
2701 * @brief xcb_input_button_class_t
2702 **/
2703typedef struct xcb_input_button_class_t {
2704 uint16_t type;
2705 uint16_t len;
2706 xcb_input_device_id_t sourceid;
2707 uint16_t num_buttons;
2708} xcb_input_button_class_t;
2709
2710/**
2711 * @brief xcb_input_button_class_iterator_t
2712 **/
2713typedef struct xcb_input_button_class_iterator_t {
2714 xcb_input_button_class_t *data;
2715 int rem;
2716 int index;
2717} xcb_input_button_class_iterator_t;
2718
2719/**
2720 * @brief xcb_input_key_class_t
2721 **/
2722typedef struct xcb_input_key_class_t {
2723 uint16_t type;
2724 uint16_t len;
2725 xcb_input_device_id_t sourceid;
2726 uint16_t num_keys;
2727} xcb_input_key_class_t;
2728
2729/**
2730 * @brief xcb_input_key_class_iterator_t
2731 **/
2732typedef struct xcb_input_key_class_iterator_t {
2733 xcb_input_key_class_t *data;
2734 int rem;
2735 int index;
2736} xcb_input_key_class_iterator_t;
2737
2738/**
2739 * @brief xcb_input_scroll_class_t
2740 **/
2741typedef struct xcb_input_scroll_class_t {
2742 uint16_t type;
2743 uint16_t len;
2744 xcb_input_device_id_t sourceid;
2745 uint16_t number;
2746 uint16_t scroll_type;
2747 uint8_t pad0[2];
2748 uint32_t flags;
2749 xcb_input_fp3232_t increment;
2750} xcb_input_scroll_class_t;
2751
2752/**
2753 * @brief xcb_input_scroll_class_iterator_t
2754 **/
2755typedef struct xcb_input_scroll_class_iterator_t {
2756 xcb_input_scroll_class_t *data;
2757 int rem;
2758 int index;
2759} xcb_input_scroll_class_iterator_t;
2760
2761/**
2762 * @brief xcb_input_touch_class_t
2763 **/
2764typedef struct xcb_input_touch_class_t {
2765 uint16_t type;
2766 uint16_t len;
2767 xcb_input_device_id_t sourceid;
2768 uint8_t mode;
2769 uint8_t num_touches;
2770} xcb_input_touch_class_t;
2771
2772/**
2773 * @brief xcb_input_touch_class_iterator_t
2774 **/
2775typedef struct xcb_input_touch_class_iterator_t {
2776 xcb_input_touch_class_t *data;
2777 int rem;
2778 int index;
2779} xcb_input_touch_class_iterator_t;
2780
2781/**
2782 * @brief xcb_input_valuator_class_t
2783 **/
2784typedef struct xcb_input_valuator_class_t {
2785 uint16_t type;
2786 uint16_t len;
2787 xcb_input_device_id_t sourceid;
2788 uint16_t number;
2789 xcb_atom_t label;
2790 xcb_input_fp3232_t min;
2791 xcb_input_fp3232_t max;
2792 xcb_input_fp3232_t value;
2793 uint32_t resolution;
2794 uint8_t mode;
2795 uint8_t pad0[3];
2796} xcb_input_valuator_class_t;
2797
2798/**
2799 * @brief xcb_input_valuator_class_iterator_t
2800 **/
2801typedef struct xcb_input_valuator_class_iterator_t {
2802 xcb_input_valuator_class_t *data;
2803 int rem;
2804 int index;
2805} xcb_input_valuator_class_iterator_t;
2806
2807/**
2808 * @brief xcb_input_device_class_data_t
2809 **/
2810typedef struct xcb_input_device_class_data_t {
2811 struct {
2812 uint16_t num_keys;
2813 uint32_t *keys;
2814 } key;
2815 struct {
2816 uint16_t num_buttons;
2817 uint32_t *state;
2818 xcb_atom_t *labels;
2819 } button;
2820 struct {
2821 uint16_t number;
2822 xcb_atom_t label;
2823 xcb_input_fp3232_t min;
2824 xcb_input_fp3232_t max;
2825 xcb_input_fp3232_t value;
2826 uint32_t resolution;
2827 uint8_t mode;
2828 uint8_t pad0[3];
2829 } valuator;
2830 struct {
2831 uint16_t number;
2832 uint16_t scroll_type;
2833 uint8_t pad1[2];
2834 uint32_t flags;
2835 xcb_input_fp3232_t increment;
2836 } scroll;
2837 struct {
2838 uint8_t mode;
2839 uint8_t num_touches;
2840 } touch;
2841} xcb_input_device_class_data_t;
2842
2843/**
2844 * @brief xcb_input_device_class_t
2845 **/
2846typedef struct xcb_input_device_class_t {
2847 uint16_t type;
2848 uint16_t len;
2849 xcb_input_device_id_t sourceid;
2850} xcb_input_device_class_t;
2851
2852void *
2853xcb_input_device_class_data (const xcb_input_device_class_t *R);
2854
2855/**
2856 * @brief xcb_input_device_class_iterator_t
2857 **/
2858typedef struct xcb_input_device_class_iterator_t {
2859 xcb_input_device_class_t *data;
2860 int rem;
2861 int index;
2862} xcb_input_device_class_iterator_t;
2863
2864/**
2865 * @brief xcb_input_xi_device_info_t
2866 **/
2867typedef struct xcb_input_xi_device_info_t {
2868 xcb_input_device_id_t deviceid;
2869 uint16_t type;
2870 xcb_input_device_id_t attachment;
2871 uint16_t num_classes;
2872 uint16_t name_len;
2873 uint8_t enabled;
2874 uint8_t pad0;
2875} xcb_input_xi_device_info_t;
2876
2877/**
2878 * @brief xcb_input_xi_device_info_iterator_t
2879 **/
2880typedef struct xcb_input_xi_device_info_iterator_t {
2881 xcb_input_xi_device_info_t *data;
2882 int rem;
2883 int index;
2884} xcb_input_xi_device_info_iterator_t;
2885
2886/**
2887 * @brief xcb_input_xi_query_device_cookie_t
2888 **/
2889typedef struct xcb_input_xi_query_device_cookie_t {
2890 unsigned int sequence;
2891} xcb_input_xi_query_device_cookie_t;
2892
2893/** Opcode for xcb_input_xi_query_device. */
2894#define XCB_INPUT_XI_QUERY_DEVICE 48
2895
2896/**
2897 * @brief xcb_input_xi_query_device_request_t
2898 **/
2899typedef struct xcb_input_xi_query_device_request_t {
2900 uint8_t major_opcode;
2901 uint8_t minor_opcode;
2902 uint16_t length;
2903 xcb_input_device_id_t deviceid;
2904 uint8_t pad0[2];
2905} xcb_input_xi_query_device_request_t;
2906
2907/**
2908 * @brief xcb_input_xi_query_device_reply_t
2909 **/
2910typedef struct xcb_input_xi_query_device_reply_t {
2911 uint8_t response_type;
2912 uint8_t pad0;
2913 uint16_t sequence;
2914 uint32_t length;
2915 uint16_t num_infos;
2916 uint8_t pad1[22];
2917} xcb_input_xi_query_device_reply_t;
2918
2919/** Opcode for xcb_input_xi_set_focus. */
2920#define XCB_INPUT_XI_SET_FOCUS 49
2921
2922/**
2923 * @brief xcb_input_xi_set_focus_request_t
2924 **/
2925typedef struct xcb_input_xi_set_focus_request_t {
2926 uint8_t major_opcode;
2927 uint8_t minor_opcode;
2928 uint16_t length;
2929 xcb_window_t window;
2930 xcb_timestamp_t time;
2931 xcb_input_device_id_t deviceid;
2932 uint8_t pad0[2];
2933} xcb_input_xi_set_focus_request_t;
2934
2935/**
2936 * @brief xcb_input_xi_get_focus_cookie_t
2937 **/
2938typedef struct xcb_input_xi_get_focus_cookie_t {
2939 unsigned int sequence;
2940} xcb_input_xi_get_focus_cookie_t;
2941
2942/** Opcode for xcb_input_xi_get_focus. */
2943#define XCB_INPUT_XI_GET_FOCUS 50
2944
2945/**
2946 * @brief xcb_input_xi_get_focus_request_t
2947 **/
2948typedef struct xcb_input_xi_get_focus_request_t {
2949 uint8_t major_opcode;
2950 uint8_t minor_opcode;
2951 uint16_t length;
2952 xcb_input_device_id_t deviceid;
2953 uint8_t pad0[2];
2954} xcb_input_xi_get_focus_request_t;
2955
2956/**
2957 * @brief xcb_input_xi_get_focus_reply_t
2958 **/
2959typedef struct xcb_input_xi_get_focus_reply_t {
2960 uint8_t response_type;
2961 uint8_t pad0;
2962 uint16_t sequence;
2963 uint32_t length;
2964 xcb_window_t focus;
2965 uint8_t pad1[20];
2966} xcb_input_xi_get_focus_reply_t;
2967
2968typedef enum xcb_input_grab_owner_t {
2969 XCB_INPUT_GRAB_OWNER_NO_OWNER = 0,
2970 XCB_INPUT_GRAB_OWNER_OWNER = 1
2971} xcb_input_grab_owner_t;
2972
2973/**
2974 * @brief xcb_input_xi_grab_device_cookie_t
2975 **/
2976typedef struct xcb_input_xi_grab_device_cookie_t {
2977 unsigned int sequence;
2978} xcb_input_xi_grab_device_cookie_t;
2979
2980/** Opcode for xcb_input_xi_grab_device. */
2981#define XCB_INPUT_XI_GRAB_DEVICE 51
2982
2983/**
2984 * @brief xcb_input_xi_grab_device_request_t
2985 **/
2986typedef struct xcb_input_xi_grab_device_request_t {
2987 uint8_t major_opcode;
2988 uint8_t minor_opcode;
2989 uint16_t length;
2990 xcb_window_t window;
2991 xcb_timestamp_t time;
2992 xcb_cursor_t cursor;
2993 xcb_input_device_id_t deviceid;
2994 uint8_t mode;
2995 uint8_t paired_device_mode;
2996 uint8_t owner_events;
2997 uint8_t pad0;
2998 uint16_t mask_len;
2999} xcb_input_xi_grab_device_request_t;
3000
3001/**
3002 * @brief xcb_input_xi_grab_device_reply_t
3003 **/
3004typedef struct xcb_input_xi_grab_device_reply_t {
3005 uint8_t response_type;
3006 uint8_t pad0;
3007 uint16_t sequence;
3008 uint32_t length;
3009 uint8_t status;
3010 uint8_t pad1[23];
3011} xcb_input_xi_grab_device_reply_t;
3012
3013/** Opcode for xcb_input_xi_ungrab_device. */
3014#define XCB_INPUT_XI_UNGRAB_DEVICE 52
3015
3016/**
3017 * @brief xcb_input_xi_ungrab_device_request_t
3018 **/
3019typedef struct xcb_input_xi_ungrab_device_request_t {
3020 uint8_t major_opcode;
3021 uint8_t minor_opcode;
3022 uint16_t length;
3023 xcb_timestamp_t time;
3024 xcb_input_device_id_t deviceid;
3025 uint8_t pad0[2];
3026} xcb_input_xi_ungrab_device_request_t;
3027
3028typedef enum xcb_input_event_mode_t {
3029 XCB_INPUT_EVENT_MODE_ASYNC_DEVICE = 0,
3030 XCB_INPUT_EVENT_MODE_SYNC_DEVICE = 1,
3031 XCB_INPUT_EVENT_MODE_REPLAY_DEVICE = 2,
3032 XCB_INPUT_EVENT_MODE_ASYNC_PAIRED_DEVICE = 3,
3033 XCB_INPUT_EVENT_MODE_ASYNC_PAIR = 4,
3034 XCB_INPUT_EVENT_MODE_SYNC_PAIR = 5,
3035 XCB_INPUT_EVENT_MODE_ACCEPT_TOUCH = 6,
3036 XCB_INPUT_EVENT_MODE_REJECT_TOUCH = 7
3037} xcb_input_event_mode_t;
3038
3039/** Opcode for xcb_input_xi_allow_events. */
3040#define XCB_INPUT_XI_ALLOW_EVENTS 53
3041
3042/**
3043 * @brief xcb_input_xi_allow_events_request_t
3044 **/
3045typedef struct xcb_input_xi_allow_events_request_t {
3046 uint8_t major_opcode;
3047 uint8_t minor_opcode;
3048 uint16_t length;
3049 xcb_timestamp_t time;
3050 xcb_input_device_id_t deviceid;
3051 uint8_t event_mode;
3052 uint8_t pad0;
3053 uint32_t touchid;
3054 xcb_window_t grab_window;
3055} xcb_input_xi_allow_events_request_t;
3056
3057typedef enum xcb_input_grab_mode_22_t {
3058 XCB_INPUT_GRAB_MODE_22_SYNC = 0,
3059 XCB_INPUT_GRAB_MODE_22_ASYNC = 1,
3060 XCB_INPUT_GRAB_MODE_22_TOUCH = 2
3061} xcb_input_grab_mode_22_t;
3062
3063typedef enum xcb_input_grab_type_t {
3064 XCB_INPUT_GRAB_TYPE_BUTTON = 0,
3065 XCB_INPUT_GRAB_TYPE_KEYCODE = 1,
3066 XCB_INPUT_GRAB_TYPE_ENTER = 2,
3067 XCB_INPUT_GRAB_TYPE_FOCUS_IN = 3,
3068 XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4
3069} xcb_input_grab_type_t;
3070
3071typedef enum xcb_input_modifier_mask_t {
3072 XCB_INPUT_MODIFIER_MASK_ANY = 2147483648
3073} xcb_input_modifier_mask_t;
3074
3075/**
3076 * @brief xcb_input_grab_modifier_info_t
3077 **/
3078typedef struct xcb_input_grab_modifier_info_t {
3079 uint32_t modifiers;
3080 uint8_t status;
3081 uint8_t pad0[3];
3082} xcb_input_grab_modifier_info_t;
3083
3084/**
3085 * @brief xcb_input_grab_modifier_info_iterator_t
3086 **/
3087typedef struct xcb_input_grab_modifier_info_iterator_t {
3088 xcb_input_grab_modifier_info_t *data;
3089 int rem;
3090 int index;
3091} xcb_input_grab_modifier_info_iterator_t;
3092
3093/**
3094 * @brief xcb_input_xi_passive_grab_device_cookie_t
3095 **/
3096typedef struct xcb_input_xi_passive_grab_device_cookie_t {
3097 unsigned int sequence;
3098} xcb_input_xi_passive_grab_device_cookie_t;
3099
3100/** Opcode for xcb_input_xi_passive_grab_device. */
3101#define XCB_INPUT_XI_PASSIVE_GRAB_DEVICE 54
3102
3103/**
3104 * @brief xcb_input_xi_passive_grab_device_request_t
3105 **/
3106typedef struct xcb_input_xi_passive_grab_device_request_t {
3107 uint8_t major_opcode;
3108 uint8_t minor_opcode;
3109 uint16_t length;
3110 xcb_timestamp_t time;
3111 xcb_window_t grab_window;
3112 xcb_cursor_t cursor;
3113 uint32_t detail;
3114 xcb_input_device_id_t deviceid;
3115 uint16_t num_modifiers;
3116 uint16_t mask_len;
3117 uint8_t grab_type;
3118 uint8_t grab_mode;
3119 uint8_t paired_device_mode;
3120 uint8_t owner_events;
3121 uint8_t pad0[2];
3122} xcb_input_xi_passive_grab_device_request_t;
3123
3124/**
3125 * @brief xcb_input_xi_passive_grab_device_reply_t
3126 **/
3127typedef struct xcb_input_xi_passive_grab_device_reply_t {
3128 uint8_t response_type;
3129 uint8_t pad0;
3130 uint16_t sequence;
3131 uint32_t length;
3132 uint16_t num_modifiers;
3133 uint8_t pad1[22];
3134} xcb_input_xi_passive_grab_device_reply_t;
3135
3136/** Opcode for xcb_input_xi_passive_ungrab_device. */
3137#define XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE 55
3138
3139/**
3140 * @brief xcb_input_xi_passive_ungrab_device_request_t
3141 **/
3142typedef struct xcb_input_xi_passive_ungrab_device_request_t {
3143 uint8_t major_opcode;
3144 uint8_t minor_opcode;
3145 uint16_t length;
3146 xcb_window_t grab_window;
3147 uint32_t detail;
3148 xcb_input_device_id_t deviceid;
3149 uint16_t num_modifiers;
3150 uint8_t grab_type;
3151 uint8_t pad0[3];
3152} xcb_input_xi_passive_ungrab_device_request_t;
3153
3154/**
3155 * @brief xcb_input_xi_list_properties_cookie_t
3156 **/
3157typedef struct xcb_input_xi_list_properties_cookie_t {
3158 unsigned int sequence;
3159} xcb_input_xi_list_properties_cookie_t;
3160
3161/** Opcode for xcb_input_xi_list_properties. */
3162#define XCB_INPUT_XI_LIST_PROPERTIES 56
3163
3164/**
3165 * @brief xcb_input_xi_list_properties_request_t
3166 **/
3167typedef struct xcb_input_xi_list_properties_request_t {
3168 uint8_t major_opcode;
3169 uint8_t minor_opcode;
3170 uint16_t length;
3171 xcb_input_device_id_t deviceid;
3172 uint8_t pad0[2];
3173} xcb_input_xi_list_properties_request_t;
3174
3175/**
3176 * @brief xcb_input_xi_list_properties_reply_t
3177 **/
3178typedef struct xcb_input_xi_list_properties_reply_t {
3179 uint8_t response_type;
3180 uint8_t pad0;
3181 uint16_t sequence;
3182 uint32_t length;
3183 uint16_t num_properties;
3184 uint8_t pad1[22];
3185} xcb_input_xi_list_properties_reply_t;
3186
3187/**
3188 * @brief xcb_input_xi_change_property_items_t
3189 **/
3190typedef struct xcb_input_xi_change_property_items_t {
3191 uint8_t *data8;
3192 uint16_t *data16;
3193 uint32_t *data32;
3194} xcb_input_xi_change_property_items_t;
3195
3196/** Opcode for xcb_input_xi_change_property. */
3197#define XCB_INPUT_XI_CHANGE_PROPERTY 57
3198
3199/**
3200 * @brief xcb_input_xi_change_property_request_t
3201 **/
3202typedef struct xcb_input_xi_change_property_request_t {
3203 uint8_t major_opcode;
3204 uint8_t minor_opcode;
3205 uint16_t length;
3206 xcb_input_device_id_t deviceid;
3207 uint8_t mode;
3208 uint8_t format;
3209 xcb_atom_t property;
3210 xcb_atom_t type;
3211 uint32_t num_items;
3212} xcb_input_xi_change_property_request_t;
3213
3214/** Opcode for xcb_input_xi_delete_property. */
3215#define XCB_INPUT_XI_DELETE_PROPERTY 58
3216
3217/**
3218 * @brief xcb_input_xi_delete_property_request_t
3219 **/
3220typedef struct xcb_input_xi_delete_property_request_t {
3221 uint8_t major_opcode;
3222 uint8_t minor_opcode;
3223 uint16_t length;
3224 xcb_input_device_id_t deviceid;
3225 uint8_t pad0[2];
3226 xcb_atom_t property;
3227} xcb_input_xi_delete_property_request_t;
3228
3229/**
3230 * @brief xcb_input_xi_get_property_cookie_t
3231 **/
3232typedef struct xcb_input_xi_get_property_cookie_t {
3233 unsigned int sequence;
3234} xcb_input_xi_get_property_cookie_t;
3235
3236/** Opcode for xcb_input_xi_get_property. */
3237#define XCB_INPUT_XI_GET_PROPERTY 59
3238
3239/**
3240 * @brief xcb_input_xi_get_property_request_t
3241 **/
3242typedef struct xcb_input_xi_get_property_request_t {
3243 uint8_t major_opcode;
3244 uint8_t minor_opcode;
3245 uint16_t length;
3246 xcb_input_device_id_t deviceid;
3247 uint8_t _delete;
3248 uint8_t pad0;
3249 xcb_atom_t property;
3250 xcb_atom_t type;
3251 uint32_t offset;
3252 uint32_t len;
3253} xcb_input_xi_get_property_request_t;
3254
3255/**
3256 * @brief xcb_input_xi_get_property_items_t
3257 **/
3258typedef struct xcb_input_xi_get_property_items_t {
3259 uint8_t *data8;
3260 uint16_t *data16;
3261 uint32_t *data32;
3262} xcb_input_xi_get_property_items_t;
3263
3264/**
3265 * @brief xcb_input_xi_get_property_reply_t
3266 **/
3267typedef struct xcb_input_xi_get_property_reply_t {
3268 uint8_t response_type;
3269 uint8_t pad0;
3270 uint16_t sequence;
3271 uint32_t length;
3272 xcb_atom_t type;
3273 uint32_t bytes_after;
3274 uint32_t num_items;
3275 uint8_t format;
3276 uint8_t pad1[11];
3277} xcb_input_xi_get_property_reply_t;
3278
3279/**
3280 * @brief xcb_input_xi_get_selected_events_cookie_t
3281 **/
3282typedef struct xcb_input_xi_get_selected_events_cookie_t {
3283 unsigned int sequence;
3284} xcb_input_xi_get_selected_events_cookie_t;
3285
3286/** Opcode for xcb_input_xi_get_selected_events. */
3287#define XCB_INPUT_XI_GET_SELECTED_EVENTS 60
3288
3289/**
3290 * @brief xcb_input_xi_get_selected_events_request_t
3291 **/
3292typedef struct xcb_input_xi_get_selected_events_request_t {
3293 uint8_t major_opcode;
3294 uint8_t minor_opcode;
3295 uint16_t length;
3296 xcb_window_t window;
3297} xcb_input_xi_get_selected_events_request_t;
3298
3299/**
3300 * @brief xcb_input_xi_get_selected_events_reply_t
3301 **/
3302typedef struct xcb_input_xi_get_selected_events_reply_t {
3303 uint8_t response_type;
3304 uint8_t pad0;
3305 uint16_t sequence;
3306 uint32_t length;
3307 uint16_t num_masks;
3308 uint8_t pad1[22];
3309} xcb_input_xi_get_selected_events_reply_t;
3310
3311/**
3312 * @brief xcb_input_barrier_release_pointer_info_t
3313 **/
3314typedef struct xcb_input_barrier_release_pointer_info_t {
3315 xcb_input_device_id_t deviceid;
3316 uint8_t pad0[2];
3317 xcb_xfixes_barrier_t barrier;
3318 uint32_t eventid;
3319} xcb_input_barrier_release_pointer_info_t;
3320
3321/**
3322 * @brief xcb_input_barrier_release_pointer_info_iterator_t
3323 **/
3324typedef struct xcb_input_barrier_release_pointer_info_iterator_t {
3325 xcb_input_barrier_release_pointer_info_t *data;
3326 int rem;
3327 int index;
3328} xcb_input_barrier_release_pointer_info_iterator_t;
3329
3330/** Opcode for xcb_input_xi_barrier_release_pointer. */
3331#define XCB_INPUT_XI_BARRIER_RELEASE_POINTER 61
3332
3333/**
3334 * @brief xcb_input_xi_barrier_release_pointer_request_t
3335 **/
3336typedef struct xcb_input_xi_barrier_release_pointer_request_t {
3337 uint8_t major_opcode;
3338 uint8_t minor_opcode;
3339 uint16_t length;
3340 uint32_t num_barriers;
3341} xcb_input_xi_barrier_release_pointer_request_t;
3342
3343/** Opcode for xcb_input_device_valuator. */
3344#define XCB_INPUT_DEVICE_VALUATOR 0
3345
3346/**
3347 * @brief xcb_input_device_valuator_event_t
3348 **/
3349typedef struct xcb_input_device_valuator_event_t {
3350 uint8_t response_type;
3351 uint8_t device_id;
3352 uint16_t sequence;
3353 uint16_t device_state;
3354 uint8_t num_valuators;
3355 uint8_t first_valuator;
3356 int32_t valuators[6];
3357} xcb_input_device_valuator_event_t;
3358
3359typedef enum xcb_input_more_events_mask_t {
3360 XCB_INPUT_MORE_EVENTS_MASK_MORE_EVENTS = 128
3361} xcb_input_more_events_mask_t;
3362
3363/** Opcode for xcb_input_device_key_press. */
3364#define XCB_INPUT_DEVICE_KEY_PRESS 1
3365
3366/**
3367 * @brief xcb_input_device_key_press_event_t
3368 **/
3369typedef struct xcb_input_device_key_press_event_t {
3370 uint8_t response_type;
3371 uint8_t detail;
3372 uint16_t sequence;
3373 xcb_timestamp_t time;
3374 xcb_window_t root;
3375 xcb_window_t event;
3376 xcb_window_t child;
3377 int16_t root_x;
3378 int16_t root_y;
3379 int16_t event_x;
3380 int16_t event_y;
3381 uint16_t state;
3382 uint8_t same_screen;
3383 uint8_t device_id;
3384} xcb_input_device_key_press_event_t;
3385
3386/** Opcode for xcb_input_device_key_release. */
3387#define XCB_INPUT_DEVICE_KEY_RELEASE 2
3388
3389typedef xcb_input_device_key_press_event_t xcb_input_device_key_release_event_t;
3390
3391/** Opcode for xcb_input_device_button_press. */
3392#define XCB_INPUT_DEVICE_BUTTON_PRESS 3
3393
3394typedef xcb_input_device_key_press_event_t xcb_input_device_button_press_event_t;
3395
3396/** Opcode for xcb_input_device_button_release. */
3397#define XCB_INPUT_DEVICE_BUTTON_RELEASE 4
3398
3399typedef xcb_input_device_key_press_event_t xcb_input_device_button_release_event_t;
3400
3401/** Opcode for xcb_input_device_motion_notify. */
3402#define XCB_INPUT_DEVICE_MOTION_NOTIFY 5
3403
3404typedef xcb_input_device_key_press_event_t xcb_input_device_motion_notify_event_t;
3405
3406/** Opcode for xcb_input_device_focus_in. */
3407#define XCB_INPUT_DEVICE_FOCUS_IN 6
3408
3409/**
3410 * @brief xcb_input_device_focus_in_event_t
3411 **/
3412typedef struct xcb_input_device_focus_in_event_t {
3413 uint8_t response_type;
3414 uint8_t detail;
3415 uint16_t sequence;
3416 xcb_timestamp_t time;
3417 xcb_window_t window;
3418 uint8_t mode;
3419 uint8_t device_id;
3420 uint8_t pad0[18];
3421} xcb_input_device_focus_in_event_t;
3422
3423/** Opcode for xcb_input_device_focus_out. */
3424#define XCB_INPUT_DEVICE_FOCUS_OUT 7
3425
3426typedef xcb_input_device_focus_in_event_t xcb_input_device_focus_out_event_t;
3427
3428/** Opcode for xcb_input_proximity_in. */
3429#define XCB_INPUT_PROXIMITY_IN 8
3430
3431typedef xcb_input_device_key_press_event_t xcb_input_proximity_in_event_t;
3432
3433/** Opcode for xcb_input_proximity_out. */
3434#define XCB_INPUT_PROXIMITY_OUT 9
3435
3436typedef xcb_input_device_key_press_event_t xcb_input_proximity_out_event_t;
3437
3438typedef enum xcb_input_classes_reported_mask_t {
3439 XCB_INPUT_CLASSES_REPORTED_MASK_OUT_OF_PROXIMITY = 128,
3440 XCB_INPUT_CLASSES_REPORTED_MASK_DEVICE_MODE_ABSOLUTE = 64,
3441 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_VALUATORS = 4,
3442 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_BUTTONS = 2,
3443 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_KEYS = 1
3444} xcb_input_classes_reported_mask_t;
3445
3446/** Opcode for xcb_input_device_state_notify. */
3447#define XCB_INPUT_DEVICE_STATE_NOTIFY 10
3448
3449/**
3450 * @brief xcb_input_device_state_notify_event_t
3451 **/
3452typedef struct xcb_input_device_state_notify_event_t {
3453 uint8_t response_type;