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/xcb.h>
16#include <xcb/xfixes.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_INPUT_MAJOR_VERSION 2
23#define XCB_INPUT_MINOR_VERSION 4
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_GESTURE = 9
2676} xcb_input_device_class_type_t;
2677
2678typedef enum xcb_input_device_type_t {
2679 XCB_INPUT_DEVICE_TYPE_MASTER_POINTER = 1,
2680 XCB_INPUT_DEVICE_TYPE_MASTER_KEYBOARD = 2,
2681 XCB_INPUT_DEVICE_TYPE_SLAVE_POINTER = 3,
2682 XCB_INPUT_DEVICE_TYPE_SLAVE_KEYBOARD = 4,
2683 XCB_INPUT_DEVICE_TYPE_FLOATING_SLAVE = 5
2684} xcb_input_device_type_t;
2685
2686typedef enum xcb_input_scroll_flags_t {
2687 XCB_INPUT_SCROLL_FLAGS_NO_EMULATION = 1,
2688 XCB_INPUT_SCROLL_FLAGS_PREFERRED = 2
2689} xcb_input_scroll_flags_t;
2690
2691typedef enum xcb_input_scroll_type_t {
2692 XCB_INPUT_SCROLL_TYPE_VERTICAL = 1,
2693 XCB_INPUT_SCROLL_TYPE_HORIZONTAL = 2
2694} xcb_input_scroll_type_t;
2695
2696typedef enum xcb_input_touch_mode_t {
2697 XCB_INPUT_TOUCH_MODE_DIRECT = 1,
2698 XCB_INPUT_TOUCH_MODE_DEPENDENT = 2
2699} xcb_input_touch_mode_t;
2700
2701/**
2702 * @brief xcb_input_button_class_t
2703 **/
2704typedef struct xcb_input_button_class_t {
2705 uint16_t type;
2706 uint16_t len;
2707 xcb_input_device_id_t sourceid;
2708 uint16_t num_buttons;
2709} xcb_input_button_class_t;
2710
2711/**
2712 * @brief xcb_input_button_class_iterator_t
2713 **/
2714typedef struct xcb_input_button_class_iterator_t {
2715 xcb_input_button_class_t *data;
2716 int rem;
2717 int index;
2718} xcb_input_button_class_iterator_t;
2719
2720/**
2721 * @brief xcb_input_key_class_t
2722 **/
2723typedef struct xcb_input_key_class_t {
2724 uint16_t type;
2725 uint16_t len;
2726 xcb_input_device_id_t sourceid;
2727 uint16_t num_keys;
2728} xcb_input_key_class_t;
2729
2730/**
2731 * @brief xcb_input_key_class_iterator_t
2732 **/
2733typedef struct xcb_input_key_class_iterator_t {
2734 xcb_input_key_class_t *data;
2735 int rem;
2736 int index;
2737} xcb_input_key_class_iterator_t;
2738
2739/**
2740 * @brief xcb_input_scroll_class_t
2741 **/
2742typedef struct xcb_input_scroll_class_t {
2743 uint16_t type;
2744 uint16_t len;
2745 xcb_input_device_id_t sourceid;
2746 uint16_t number;
2747 uint16_t scroll_type;
2748 uint8_t pad0[2];
2749 uint32_t flags;
2750 xcb_input_fp3232_t increment;
2751} xcb_input_scroll_class_t;
2752
2753/**
2754 * @brief xcb_input_scroll_class_iterator_t
2755 **/
2756typedef struct xcb_input_scroll_class_iterator_t {
2757 xcb_input_scroll_class_t *data;
2758 int rem;
2759 int index;
2760} xcb_input_scroll_class_iterator_t;
2761
2762/**
2763 * @brief xcb_input_touch_class_t
2764 **/
2765typedef struct xcb_input_touch_class_t {
2766 uint16_t type;
2767 uint16_t len;
2768 xcb_input_device_id_t sourceid;
2769 uint8_t mode;
2770 uint8_t num_touches;
2771} xcb_input_touch_class_t;
2772
2773/**
2774 * @brief xcb_input_touch_class_iterator_t
2775 **/
2776typedef struct xcb_input_touch_class_iterator_t {
2777 xcb_input_touch_class_t *data;
2778 int rem;
2779 int index;
2780} xcb_input_touch_class_iterator_t;
2781
2782/**
2783 * @brief xcb_input_gesture_class_t
2784 **/
2785typedef struct xcb_input_gesture_class_t {
2786 uint16_t type;
2787 uint16_t len;
2788 xcb_input_device_id_t sourceid;
2789 uint8_t num_touches;
2790 uint8_t pad0;
2791} xcb_input_gesture_class_t;
2792
2793/**
2794 * @brief xcb_input_gesture_class_iterator_t
2795 **/
2796typedef struct xcb_input_gesture_class_iterator_t {
2797 xcb_input_gesture_class_t *data;
2798 int rem;
2799 int index;
2800} xcb_input_gesture_class_iterator_t;
2801
2802/**
2803 * @brief xcb_input_valuator_class_t
2804 **/
2805typedef struct xcb_input_valuator_class_t {
2806 uint16_t type;
2807 uint16_t len;
2808 xcb_input_device_id_t sourceid;
2809 uint16_t number;
2810 xcb_atom_t label;
2811 xcb_input_fp3232_t min;
2812 xcb_input_fp3232_t max;
2813 xcb_input_fp3232_t value;
2814 uint32_t resolution;
2815 uint8_t mode;
2816 uint8_t pad0[3];
2817} xcb_input_valuator_class_t;
2818
2819/**
2820 * @brief xcb_input_valuator_class_iterator_t
2821 **/
2822typedef struct xcb_input_valuator_class_iterator_t {
2823 xcb_input_valuator_class_t *data;
2824 int rem;
2825 int index;
2826} xcb_input_valuator_class_iterator_t;
2827
2828/**
2829 * @brief xcb_input_device_class_data_t
2830 **/
2831typedef struct xcb_input_device_class_data_t {
2832 struct {
2833 uint16_t num_keys;
2834 uint32_t *keys;
2835 } key;
2836 struct {
2837 uint16_t num_buttons;
2838 uint32_t *state;
2839 xcb_atom_t *labels;
2840 } button;
2841 struct {
2842 uint16_t number;
2843 xcb_atom_t label;
2844 xcb_input_fp3232_t min;
2845 xcb_input_fp3232_t max;
2846 xcb_input_fp3232_t value;
2847 uint32_t resolution;
2848 uint8_t mode;
2849 uint8_t pad0[3];
2850 } valuator;
2851 struct {
2852 uint16_t number;
2853 uint16_t scroll_type;
2854 uint8_t pad1[2];
2855 uint32_t flags;
2856 xcb_input_fp3232_t increment;
2857 } scroll;
2858 struct {
2859 uint8_t mode;
2860 uint8_t num_touches;
2861 } touch;
2862 struct {
2863 uint8_t num_touches;
2864 uint8_t pad2;
2865 } gesture;
2866} xcb_input_device_class_data_t;
2867
2868/**
2869 * @brief xcb_input_device_class_t
2870 **/
2871typedef struct xcb_input_device_class_t {
2872 uint16_t type;
2873 uint16_t len;
2874 xcb_input_device_id_t sourceid;
2875} xcb_input_device_class_t;
2876
2877void *
2878xcb_input_device_class_data (const xcb_input_device_class_t *R);
2879
2880/**
2881 * @brief xcb_input_device_class_iterator_t
2882 **/
2883typedef struct xcb_input_device_class_iterator_t {
2884 xcb_input_device_class_t *data;
2885 int rem;
2886 int index;
2887} xcb_input_device_class_iterator_t;
2888
2889/**
2890 * @brief xcb_input_xi_device_info_t
2891 **/
2892typedef struct xcb_input_xi_device_info_t {
2893 xcb_input_device_id_t deviceid;
2894 uint16_t type;
2895 xcb_input_device_id_t attachment;
2896 uint16_t num_classes;
2897 uint16_t name_len;
2898 uint8_t enabled;
2899 uint8_t pad0;
2900} xcb_input_xi_device_info_t;
2901
2902/**
2903 * @brief xcb_input_xi_device_info_iterator_t
2904 **/
2905typedef struct xcb_input_xi_device_info_iterator_t {
2906 xcb_input_xi_device_info_t *data;
2907 int rem;
2908 int index;
2909} xcb_input_xi_device_info_iterator_t;
2910
2911/**
2912 * @brief xcb_input_xi_query_device_cookie_t
2913 **/
2914typedef struct xcb_input_xi_query_device_cookie_t {
2915 unsigned int sequence;
2916} xcb_input_xi_query_device_cookie_t;
2917
2918/** Opcode for xcb_input_xi_query_device. */
2919#define XCB_INPUT_XI_QUERY_DEVICE 48
2920
2921/**
2922 * @brief xcb_input_xi_query_device_request_t
2923 **/
2924typedef struct xcb_input_xi_query_device_request_t {
2925 uint8_t major_opcode;
2926 uint8_t minor_opcode;
2927 uint16_t length;
2928 xcb_input_device_id_t deviceid;
2929 uint8_t pad0[2];
2930} xcb_input_xi_query_device_request_t;
2931
2932/**
2933 * @brief xcb_input_xi_query_device_reply_t
2934 **/
2935typedef struct xcb_input_xi_query_device_reply_t {
2936 uint8_t response_type;
2937 uint8_t pad0;
2938 uint16_t sequence;
2939 uint32_t length;
2940 uint16_t num_infos;
2941 uint8_t pad1[22];
2942} xcb_input_xi_query_device_reply_t;
2943
2944/** Opcode for xcb_input_xi_set_focus. */
2945#define XCB_INPUT_XI_SET_FOCUS 49
2946
2947/**
2948 * @brief xcb_input_xi_set_focus_request_t
2949 **/
2950typedef struct xcb_input_xi_set_focus_request_t {
2951 uint8_t major_opcode;
2952 uint8_t minor_opcode;
2953 uint16_t length;
2954 xcb_window_t window;
2955 xcb_timestamp_t time;
2956 xcb_input_device_id_t deviceid;
2957 uint8_t pad0[2];
2958} xcb_input_xi_set_focus_request_t;
2959
2960/**
2961 * @brief xcb_input_xi_get_focus_cookie_t
2962 **/
2963typedef struct xcb_input_xi_get_focus_cookie_t {
2964 unsigned int sequence;
2965} xcb_input_xi_get_focus_cookie_t;
2966
2967/** Opcode for xcb_input_xi_get_focus. */
2968#define XCB_INPUT_XI_GET_FOCUS 50
2969
2970/**
2971 * @brief xcb_input_xi_get_focus_request_t
2972 **/
2973typedef struct xcb_input_xi_get_focus_request_t {
2974 uint8_t major_opcode;
2975 uint8_t minor_opcode;
2976 uint16_t length;
2977 xcb_input_device_id_t deviceid;
2978 uint8_t pad0[2];
2979} xcb_input_xi_get_focus_request_t;
2980
2981/**
2982 * @brief xcb_input_xi_get_focus_reply_t
2983 **/
2984typedef struct xcb_input_xi_get_focus_reply_t {
2985 uint8_t response_type;
2986 uint8_t pad0;
2987 uint16_t sequence;
2988 uint32_t length;
2989 xcb_window_t focus;
2990 uint8_t pad1[20];
2991} xcb_input_xi_get_focus_reply_t;
2992
2993typedef enum xcb_input_grab_owner_t {
2994 XCB_INPUT_GRAB_OWNER_NO_OWNER = 0,
2995 XCB_INPUT_GRAB_OWNER_OWNER = 1
2996} xcb_input_grab_owner_t;
2997
2998/**
2999 * @brief xcb_input_xi_grab_device_cookie_t
3000 **/
3001typedef struct xcb_input_xi_grab_device_cookie_t {
3002 unsigned int sequence;
3003} xcb_input_xi_grab_device_cookie_t;
3004
3005/** Opcode for xcb_input_xi_grab_device. */
3006#define XCB_INPUT_XI_GRAB_DEVICE 51
3007
3008/**
3009 * @brief xcb_input_xi_grab_device_request_t
3010 **/
3011typedef struct xcb_input_xi_grab_device_request_t {
3012 uint8_t major_opcode;
3013 uint8_t minor_opcode;
3014 uint16_t length;
3015 xcb_window_t window;
3016 xcb_timestamp_t time;
3017 xcb_cursor_t cursor;
3018 xcb_input_device_id_t deviceid;
3019 uint8_t mode;
3020 uint8_t paired_device_mode;
3021 uint8_t owner_events;
3022 uint8_t pad0;
3023 uint16_t mask_len;
3024} xcb_input_xi_grab_device_request_t;
3025
3026/**
3027 * @brief xcb_input_xi_grab_device_reply_t
3028 **/
3029typedef struct xcb_input_xi_grab_device_reply_t {
3030 uint8_t response_type;
3031 uint8_t pad0;
3032 uint16_t sequence;
3033 uint32_t length;
3034 uint8_t status;
3035 uint8_t pad1[23];
3036} xcb_input_xi_grab_device_reply_t;
3037
3038/** Opcode for xcb_input_xi_ungrab_device. */
3039#define XCB_INPUT_XI_UNGRAB_DEVICE 52
3040
3041/**
3042 * @brief xcb_input_xi_ungrab_device_request_t
3043 **/
3044typedef struct xcb_input_xi_ungrab_device_request_t {
3045 uint8_t major_opcode;
3046 uint8_t minor_opcode;
3047 uint16_t length;
3048 xcb_timestamp_t time;
3049 xcb_input_device_id_t deviceid;
3050 uint8_t pad0[2];
3051} xcb_input_xi_ungrab_device_request_t;
3052
3053typedef enum xcb_input_event_mode_t {
3054 XCB_INPUT_EVENT_MODE_ASYNC_DEVICE = 0,
3055 XCB_INPUT_EVENT_MODE_SYNC_DEVICE = 1,
3056 XCB_INPUT_EVENT_MODE_REPLAY_DEVICE = 2,
3057 XCB_INPUT_EVENT_MODE_ASYNC_PAIRED_DEVICE = 3,
3058 XCB_INPUT_EVENT_MODE_ASYNC_PAIR = 4,
3059 XCB_INPUT_EVENT_MODE_SYNC_PAIR = 5,
3060 XCB_INPUT_EVENT_MODE_ACCEPT_TOUCH = 6,
3061 XCB_INPUT_EVENT_MODE_REJECT_TOUCH = 7
3062} xcb_input_event_mode_t;
3063
3064/** Opcode for xcb_input_xi_allow_events. */
3065#define XCB_INPUT_XI_ALLOW_EVENTS 53
3066
3067/**
3068 * @brief xcb_input_xi_allow_events_request_t
3069 **/
3070typedef struct xcb_input_xi_allow_events_request_t {
3071 uint8_t major_opcode;
3072 uint8_t minor_opcode;
3073 uint16_t length;
3074 xcb_timestamp_t time;
3075 xcb_input_device_id_t deviceid;
3076 uint8_t event_mode;
3077 uint8_t pad0;
3078 uint32_t touchid;
3079 xcb_window_t grab_window;
3080} xcb_input_xi_allow_events_request_t;
3081
3082typedef enum xcb_input_grab_mode_22_t {
3083 XCB_INPUT_GRAB_MODE_22_SYNC = 0,
3084 XCB_INPUT_GRAB_MODE_22_ASYNC = 1,
3085 XCB_INPUT_GRAB_MODE_22_TOUCH = 2
3086} xcb_input_grab_mode_22_t;
3087
3088typedef enum xcb_input_grab_type_t {
3089 XCB_INPUT_GRAB_TYPE_BUTTON = 0,
3090 XCB_INPUT_GRAB_TYPE_KEYCODE = 1,
3091 XCB_INPUT_GRAB_TYPE_ENTER = 2,
3092 XCB_INPUT_GRAB_TYPE_FOCUS_IN = 3,
3093 XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4,
3094 XCB_INPUT_GRAB_TYPE_GESTURE_PINCH_BEGIN = 5,
3095 XCB_INPUT_GRAB_TYPE_GESTURE_SWIPE_BEGIN = 6
3096} xcb_input_grab_type_t;
3097
3098typedef enum xcb_input_modifier_mask_t {
3099 XCB_INPUT_MODIFIER_MASK_ANY = 2147483648
3100} xcb_input_modifier_mask_t;
3101
3102/**
3103 * @brief xcb_input_grab_modifier_info_t
3104 **/
3105typedef struct xcb_input_grab_modifier_info_t {
3106 uint32_t modifiers;
3107 uint8_t status;
3108 uint8_t pad0[3];
3109} xcb_input_grab_modifier_info_t;
3110
3111/**
3112 * @brief xcb_input_grab_modifier_info_iterator_t
3113 **/
3114typedef struct xcb_input_grab_modifier_info_iterator_t {
3115 xcb_input_grab_modifier_info_t *data;
3116 int rem;
3117 int index;
3118} xcb_input_grab_modifier_info_iterator_t;
3119
3120/**
3121 * @brief xcb_input_xi_passive_grab_device_cookie_t
3122 **/
3123typedef struct xcb_input_xi_passive_grab_device_cookie_t {
3124 unsigned int sequence;
3125} xcb_input_xi_passive_grab_device_cookie_t;
3126
3127/** Opcode for xcb_input_xi_passive_grab_device. */
3128#define XCB_INPUT_XI_PASSIVE_GRAB_DEVICE 54
3129
3130/**
3131 * @brief xcb_input_xi_passive_grab_device_request_t
3132 **/
3133typedef struct xcb_input_xi_passive_grab_device_request_t {
3134 uint8_t major_opcode;
3135 uint8_t minor_opcode;
3136 uint16_t length;
3137 xcb_timestamp_t time;
3138 xcb_window_t grab_window;
3139 xcb_cursor_t cursor;
3140 uint32_t detail;
3141 xcb_input_device_id_t deviceid;
3142 uint16_t num_modifiers;
3143 uint16_t mask_len;
3144 uint8_t grab_type;
3145 uint8_t grab_mode;
3146 uint8_t paired_device_mode;
3147 uint8_t owner_events;
3148 uint8_t pad0[2];
3149} xcb_input_xi_passive_grab_device_request_t;
3150
3151/**
3152 * @brief xcb_input_xi_passive_grab_device_reply_t
3153 **/
3154typedef struct xcb_input_xi_passive_grab_device_reply_t {
3155 uint8_t response_type;
3156 uint8_t pad0;
3157 uint16_t sequence;
3158 uint32_t length;
3159 uint16_t num_modifiers;
3160 uint8_t pad1[22];
3161} xcb_input_xi_passive_grab_device_reply_t;
3162
3163/** Opcode for xcb_input_xi_passive_ungrab_device. */
3164#define XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE 55
3165
3166/**
3167 * @brief xcb_input_xi_passive_ungrab_device_request_t
3168 **/
3169typedef struct xcb_input_xi_passive_ungrab_device_request_t {
3170 uint8_t major_opcode;
3171 uint8_t minor_opcode;
3172 uint16_t length;
3173 xcb_window_t grab_window;
3174 uint32_t detail;
3175 xcb_input_device_id_t deviceid;
3176 uint16_t num_modifiers;
3177 uint8_t grab_type;
3178 uint8_t pad0[3];
3179} xcb_input_xi_passive_ungrab_device_request_t;
3180
3181/**
3182 * @brief xcb_input_xi_list_properties_cookie_t
3183 **/
3184typedef struct xcb_input_xi_list_properties_cookie_t {
3185 unsigned int sequence;
3186} xcb_input_xi_list_properties_cookie_t;
3187
3188/** Opcode for xcb_input_xi_list_properties. */
3189#define XCB_INPUT_XI_LIST_PROPERTIES 56
3190
3191/**
3192 * @brief xcb_input_xi_list_properties_request_t
3193 **/
3194typedef struct xcb_input_xi_list_properties_request_t {
3195 uint8_t major_opcode;
3196 uint8_t minor_opcode;
3197 uint16_t length;
3198 xcb_input_device_id_t deviceid;
3199 uint8_t pad0[2];
3200} xcb_input_xi_list_properties_request_t;
3201
3202/**
3203 * @brief xcb_input_xi_list_properties_reply_t
3204 **/
3205typedef struct xcb_input_xi_list_properties_reply_t {
3206 uint8_t response_type;
3207 uint8_t pad0;
3208 uint16_t sequence;
3209 uint32_t length;
3210 uint16_t num_properties;
3211 uint8_t pad1[22];
3212} xcb_input_xi_list_properties_reply_t;
3213
3214/**
3215 * @brief xcb_input_xi_change_property_items_t
3216 **/
3217typedef struct xcb_input_xi_change_property_items_t {
3218 uint8_t *data8;
3219 uint16_t *data16;
3220 uint32_t *data32;
3221} xcb_input_xi_change_property_items_t;
3222
3223/** Opcode for xcb_input_xi_change_property. */
3224#define XCB_INPUT_XI_CHANGE_PROPERTY 57
3225
3226/**
3227 * @brief xcb_input_xi_change_property_request_t
3228 **/
3229typedef struct xcb_input_xi_change_property_request_t {
3230 uint8_t major_opcode;
3231 uint8_t minor_opcode;
3232 uint16_t length;
3233 xcb_input_device_id_t deviceid;
3234 uint8_t mode;
3235 uint8_t format;
3236 xcb_atom_t property;
3237 xcb_atom_t type;
3238 uint32_t num_items;
3239} xcb_input_xi_change_property_request_t;
3240
3241/** Opcode for xcb_input_xi_delete_property. */
3242#define XCB_INPUT_XI_DELETE_PROPERTY 58
3243
3244/**
3245 * @brief xcb_input_xi_delete_property_request_t
3246 **/
3247typedef struct xcb_input_xi_delete_property_request_t {
3248 uint8_t major_opcode;
3249 uint8_t minor_opcode;
3250 uint16_t length;
3251 xcb_input_device_id_t deviceid;
3252 uint8_t pad0[2];
3253 xcb_atom_t property;
3254} xcb_input_xi_delete_property_request_t;
3255
3256/**
3257 * @brief xcb_input_xi_get_property_cookie_t
3258 **/
3259typedef struct xcb_input_xi_get_property_cookie_t {
3260 unsigned int sequence;
3261} xcb_input_xi_get_property_cookie_t;
3262
3263/** Opcode for xcb_input_xi_get_property. */
3264#define XCB_INPUT_XI_GET_PROPERTY 59
3265
3266/**
3267 * @brief xcb_input_xi_get_property_request_t
3268 **/
3269typedef struct xcb_input_xi_get_property_request_t {
3270 uint8_t major_opcode;
3271 uint8_t minor_opcode;
3272 uint16_t length;
3273 xcb_input_device_id_t deviceid;
3274 uint8_t _delete;
3275 uint8_t pad0;
3276 xcb_atom_t property;
3277 xcb_atom_t type;
3278 uint32_t offset;
3279 uint32_t len;
3280} xcb_input_xi_get_property_request_t;
3281
3282/**
3283 * @brief xcb_input_xi_get_property_items_t
3284 **/
3285typedef struct xcb_input_xi_get_property_items_t {
3286 uint8_t *data8;
3287 uint16_t *data16;
3288 uint32_t *data32;
3289} xcb_input_xi_get_property_items_t;
3290
3291/**
3292 * @brief xcb_input_xi_get_property_reply_t
3293 **/
3294typedef struct xcb_input_xi_get_property_reply_t {
3295 uint8_t response_type;
3296 uint8_t pad0;
3297 uint16_t sequence;
3298 uint32_t length;
3299 xcb_atom_t type;
3300 uint32_t bytes_after;
3301 uint32_t num_items;
3302 uint8_t format;
3303 uint8_t pad1[11];
3304} xcb_input_xi_get_property_reply_t;
3305
3306/**
3307 * @brief xcb_input_xi_get_selected_events_cookie_t
3308 **/
3309typedef struct xcb_input_xi_get_selected_events_cookie_t {
3310 unsigned int sequence;
3311} xcb_input_xi_get_selected_events_cookie_t;
3312
3313/** Opcode for xcb_input_xi_get_selected_events. */
3314#define XCB_INPUT_XI_GET_SELECTED_EVENTS 60
3315
3316/**
3317 * @brief xcb_input_xi_get_selected_events_request_t
3318 **/
3319typedef struct xcb_input_xi_get_selected_events_request_t {
3320 uint8_t major_opcode;
3321 uint8_t minor_opcode;
3322 uint16_t length;
3323 xcb_window_t window;
3324} xcb_input_xi_get_selected_events_request_t;
3325
3326/**
3327 * @brief xcb_input_xi_get_selected_events_reply_t
3328 **/
3329typedef struct xcb_input_xi_get_selected_events_reply_t {
3330 uint8_t response_type;
3331 uint8_t pad0;
3332 uint16_t sequence;
3333 uint32_t length;
3334 uint16_t num_masks;
3335 uint8_t pad1[22];
3336} xcb_input_xi_get_selected_events_reply_t;
3337
3338/** Opcode for xcb_input_device_valuator. */
3339#define XCB_INPUT_DEVICE_VALUATOR 0
3340
3341/**
3342 * @brief xcb_input_device_valuator_event_t
3343 **/
3344typedef struct xcb_input_device_valuator_event_t {
3345 uint8_t response_type;
3346 uint8_t device_id;
3347 uint16_t sequence;
3348 uint16_t device_state;
3349 uint8_t num_valuators;
3350 uint8_t first_valuator;
3351 int32_t valuators[6];
3352} xcb_input_device_valuator_event_t;
3353
3354typedef enum xcb_input_more_events_mask_t {
3355 XCB_INPUT_MORE_EVENTS_MASK_MORE_EVENTS = 128
3356} xcb_input_more_events_mask_t;
3357
3358/** Opcode for xcb_input_device_key_press. */
3359#define XCB_INPUT_DEVICE_KEY_PRESS 1
3360
3361/**
3362 * @brief xcb_input_device_key_press_event_t
3363 **/
3364typedef struct xcb_input_device_key_press_event_t {
3365 uint8_t response_type;
3366 uint8_t detail;
3367 uint16_t sequence;
3368 xcb_timestamp_t time;
3369 xcb_window_t root;
3370 xcb_window_t event;
3371 xcb_window_t child;
3372 int16_t root_x;
3373 int16_t root_y;
3374 int16_t event_x;
3375 int16_t event_y;
3376 uint16_t state;
3377 uint8_t same_screen;
3378 uint8_t device_id;
3379} xcb_input_device_key_press_event_t;
3380
3381/** Opcode for xcb_input_device_key_release. */
3382#define XCB_INPUT_DEVICE_KEY_RELEASE 2
3383
3384typedef xcb_input_device_key_press_event_t xcb_input_device_key_release_event_t;
3385
3386/** Opcode for xcb_input_device_button_press. */
3387#define XCB_INPUT_DEVICE_BUTTON_PRESS 3
3388
3389typedef xcb_input_device_key_press_event_t xcb_input_device_button_press_event_t;
3390
3391/** Opcode for xcb_input_device_button_release. */
3392#define XCB_INPUT_DEVICE_BUTTON_RELEASE 4
3393
3394typedef xcb_input_device_key_press_event_t xcb_input_device_button_release_event_t;
3395
3396/** Opcode for xcb_input_device_motion_notify. */
3397#define XCB_INPUT_DEVICE_MOTION_NOTIFY 5
3398
3399typedef xcb_input_device_key_press_event_t xcb_input_device_motion_notify_event_t;
3400
3401/** Opcode for xcb_input_device_focus_in. */
3402#define XCB_INPUT_DEVICE_FOCUS_IN 6
3403
3404/**
3405 * @brief xcb_input_device_focus_in_event_t
3406 **/
3407typedef struct xcb_input_device_focus_in_event_t {
3408 uint8_t response_type;
3409 uint8_t detail;
3410 uint16_t sequence;
3411 xcb_timestamp_t time;
3412 xcb_window_t window;
3413 uint8_t mode;
3414 uint8_t device_id;
3415 uint8_t pad0[18];
3416} xcb_input_device_focus_in_event_t;
3417
3418/** Opcode for xcb_input_device_focus_out. */
3419#define XCB_INPUT_DEVICE_FOCUS_OUT 7
3420
3421typedef xcb_input_device_focus_in_event_t xcb_input_device_focus_out_event_t;
3422
3423/** Opcode for xcb_input_proximity_in. */
3424#define XCB_INPUT_PROXIMITY_IN 8
3425
3426typedef xcb_input_device_key_press_event_t xcb_input_proximity_in_event_t;
3427
3428/** Opcode for xcb_input_proximity_out. */
3429#define XCB_INPUT_PROXIMITY_OUT 9
3430
3431typedef xcb_input_device_key_press_event_t xcb_input_proximity_out_event_t;
3432
3433typedef enum xcb_input_classes_reported_mask_t {
3434 XCB_INPUT_CLASSES_REPORTED_MASK_OUT_OF_PROXIMITY = 128,
3435 XCB_INPUT_CLASSES_REPORTED_MASK_DEVICE_MODE_ABSOLUTE = 64,
3436 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_VALUATORS = 4,
3437 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_BUTTONS = 2,
3438 XCB_INPUT_CLASSES_REPORTED_MASK_REPORTING_KEYS = 1
3439} xcb_input_classes_reported_mask_t;
3440
3441/** Opcode for xcb_input_device_state_notify. */
3442#define XCB_INPUT_DEVICE_STATE_NOTIFY 10
3443
3444/**
3445 * @brief xcb_input_device_state_notify_event_t
3446 **/
3447typedef struct xcb_input_device_state_notify_event_t {
3448 uint8_t response_type;
3449 uint8_t device_id;
3450 uint16_t sequence;
3451 xcb_timestamp_t time;
3452 uint8_t num_keys;
3453 uint8_t num_buttons;
3454 uint8_t num_valuators;
3455 uint8_t classes_reported;
3456 uint8_t buttons[4];
3457 uint8_t keys[4];
3458 uint32_t valuators[3];
3459} xcb_input_device_state_notify_event_t;
3460
3461/** Opcode for xcb_input_device_mapping_notify. */
3462#define XCB_INPUT_DEVICE_MAPPING_NOTIFY 11
3463
3464/**
3465 * @brief xcb_input_device_mapping_notify_event_t
3466 **/
3467typedef struct xcb_input_device_mapping_notify_event_t {
3468 uint8_t response_type;
3469 uint8_t device_id;
3470 uint16_t sequence;
3471 uint8_t request;
3472 xcb_input_key_code_t first_keycode;
3473 uint8_t count;
3474 uint8_t pad0;
3475 xcb_timestamp_t time;
3476 uint8_t pad1[20];
3477} xcb_input_device_mapping_notify_event_t;
3478
3479typedef enum xcb_input_change_device_t {
3480 XCB_INPUT_CHANGE_DEVICE_NEW_POINTER = 0,
3481 XCB_INPUT_CHANGE_DEVICE_NEW_KEYBOARD = 1
3482} xcb_input_change_device_t;
3483
3484/** Opcode for xcb_input_change_device_notify. */
3485#define XCB_INPUT_CHANGE_DEVICE_NOTIFY 12
3486
3487/**
3488 * @brief xcb_input_change_device_notify_event_t
3489 **/
3490typedef struct xcb_input_change_device_notify_event_t {
3491 uint8_t response_type;
3492 uint8_t device_id;
3493 uint16_t sequence;
3494 xcb_timestamp_t time;
3495 uint8_t request;
3496 uint8_t pad0[23];
3497} xcb_input_change_device_notify_event_t;
3498
3499/** Opcode for xcb_input_device_key_state_notify. */
3500#define XCB_INPUT_DEVICE_KEY_STATE_NOTIFY 13
3501
3502/**
3503 * @brief xcb_input_device_key_state_notify_event_t
3504 **/
3505typedef struct xcb_input_device_key_state_notify_event_t {
3506 uint8_t response_type;
3507 uint8_t device_id;
3508 uint16_t sequence;
3509 uint8_t keys[28];
3510} xcb_input_device_key_state_notify_event_t;
3511
3512/** Opcode for xcb_input_device_button_state_notify. */
3513#define XCB_INPUT_DEVICE_BUTTON_STATE_NOTIFY 14
3514
3515/**
3516 * @brief xcb_input_device_button_state_notify_event_t
3517 **/
3518typedef struct xcb_input_device_button_state_notify_event_t {
3519 uint8_t response_type;
3520 uint8_t device_id;
3521 uint16_t sequence;
3522 uint8_t buttons[28];
3523} xcb_input_device_button_state_notify_event_t;
3524
3525typedef enum xcb_input_device_change_t {
3526 XCB_INPUT_DEVICE_CHANGE_ADDED = 0,
3527 XCB_INPUT_DEVICE_CHANGE_REMOVED = 1,
3528 XCB_INPUT_DEVICE_CHANGE_ENABLED = 2,
3529 XCB_INPUT_DEVICE_CHANGE_DISABLED = 3,
3530 XCB_INPUT_DEVICE_CHANGE_UNRECOVERABLE = 4,
3531 XCB_INPUT_DEVICE_CHANGE_CONTROL_CHANGED = 5
3532} xcb_input_device_change_t;
3533
3534/** Opcode for xcb_input_device_presence_notify. */
3535#define XCB_INPUT_DEVICE_PRESENCE_NOTIFY 15
3536
3537/**
3538 * @brief xcb_input_device_presence_notify_event_t
3539 **/
3540typedef struct xcb_input_device_presence_notify_event_t {
3541 uint8_t response_type;
3542 uint8_t pad0;
3543 uint16_t sequence;
3544 xcb_timestamp_t time;
3545 uint8_t devchange;
3546 uint8_t device_id;
3547 uint16_t control;
3548 uint8_t pad1[20];
3549} xcb_input_device_presence_notify_event_t;
3550
3551/** Opcode for xcb_input_device_property_notify. */
3552#define XCB_INPUT_DEVICE_PROPERTY_NOTIFY 16
3553
3554/**
3555 * @brief xcb_input_device_property_notify_event_t
3556 **/
3557typedef struct xcb_input_device_property_notify_event_t {
3558 uint8_t response_type;
3559 uint8_t state;
3560 uint16_t sequence;
3561 xcb_timestamp_t time;
3562 xcb_atom_t property;
3563 uint8_t pad0[19];
3564 uint8_t device_id;
3565} xcb_input_device_property_notify_event_t;
3566
3567typedef enum xcb_input_change_reason_t {
3568 XCB_INPUT_CHANGE_REASON_SLAVE_SWITCH = 1,
3569 XCB_INPUT_CHANGE_REASON_DEVICE_CHANGE = 2
3570} xcb_input_change_reason_t;
3571
3572/** Opcode for xcb_input_device_changed. */
3573#define XCB_INPUT_DEVICE_CHANGED 1
3574
3575/**
3576 * @brief xcb_input_device_changed_event_t
3577 **/
3578typedef struct xcb_input_device_changed_event_t {
3579 uint8_t response_type;
3580 uint8_t extension;
3581 uint16_t sequence;
3582 uint32_t length;
3583 uint16_t event_type;
3584 xcb_input_device_id_t deviceid;
3585 xcb_timestamp_t time;
3586 uint16_t num_classes;
3587 xcb_input_device_id_t sourceid;
3588 uint8_t reason;
3589 uint8_t pad0[11];
3590 uint32_t full_sequence;
3591} xcb_input_device_changed_event_t;
3592
3593typedef enum xcb_input_key_event_flags_t {
3594 XCB_INPUT_KEY_EVENT_FLAGS_KEY_REPEAT = 65536
3595} xcb_input_key_event_flags_t;
3596
3597/** Opcode for xcb_input_key_press. */
3598#define XCB_INPUT_KEY_PRESS 2
3599
3600/**
3601 * @brief xcb_input_key_press_event_t
3602 **/
3603typedef struct xcb_input_key_press_event_t {
3604 uint8_t response_type;
3605 uint8_t extension;
3606 uint16_t sequence;
3607 uint32_t length;
3608 uint16_t event_type;
3609 xcb_input_device_id_t deviceid;
3610 xcb_timestamp_t time;
3611 uint32_t detail;
3612 xcb_window_t root;
3613 xcb_window_t event;
3614 xcb_window_t child;
3615 uint32_t full_sequence;
3616 xcb_input_fp1616_t root_x;
3617 xcb_input_fp1616_t root_y;
3618 xcb_input_fp1616_t event_x;
3619 xcb_input_fp1616_t event_y;
3620 uint16_t buttons_len;
3621 uint16_t valuators_len;
3622 xcb_input_device_id_t sourceid;
3623 uint8_t pad0[2];
3624 uint32_t flags;
3625 xcb_input_modifier_info_t mods;
3626 xcb_input_group_info_t group;
3627} xcb_input_key_press_event_t;
3628
3629/** Opcode for xcb_input_key_release. */
3630#define XCB_INPUT_KEY_RELEASE 3
3631
3632typedef xcb_input_key_press_event_t xcb_input_key_release_event_t;
3633
3634typedef enum xcb_input_pointer_event_flags_t {
3635 XCB_INPUT_POINTER_EVENT_FLAGS_POINTER_EMULATED = 65536
3636} xcb_input_pointer_event_flags_t;
3637
3638/** Opcode for xcb_input_button_press. */
3639#define XCB_INPUT_BUTTON_PRESS 4
3640
3641/**
3642 * @brief xcb_input_button_press_event_t
3643 **/
3644typedef struct xcb_input_button_press_event_t {
3645 uint8_t response_type;
3646 uint8_t extension;
3647 uint16_t sequence;
3648 uint32_t length;
3649 uint16_t event_type;
3650 xcb_input_device_id_t deviceid;
3651 xcb_timestamp_t time;
3652 uint32_t detail;
3653 xcb_window_t root;
3654 xcb_window_t event;
3655 xcb_window_t child;
3656 uint32_t full_sequence;
3657 xcb_input_fp1616_t root_x;
3658 xcb_input_fp1616_t root_y;
3659 xcb_input_fp1616_t event_x;
3660 xcb_input_fp1616_t event_y;
3661 uint16_t buttons_len;
3662 uint16_t valuators_len;
3663 xcb_input_device_id_t sourceid;
3664 uint8_t pad0[2];
3665 uint32_t flags;
3666 xcb_input_modifier_info_t mods;
3667 xcb_input_group_info_t group;
3668} xcb_input_button_press_event_t;
3669
3670/** Opcode for xcb_input_button_release. */
3671#define XCB_INPUT_BUTTON_RELEASE 5
3672
3673typedef xcb_input_button_press_event_t xcb_input_button_release_event_t;
3674
3675/** Opcode for xcb_input_motion. */
3676#define XCB_INPUT_MOTION 6
3677
3678typedef xcb_input_button_press_event_t xcb_input_motion_event_t;
3679
3680typedef enum xcb_input_notify_mode_t {
3681 XCB_INPUT_NOTIFY_MODE_NORMAL = 0,
3682 XCB_INPUT_NOTIFY_MODE_GRAB = 1,
3683 XCB_INPUT_NOTIFY_MODE_UNGRAB = 2,
3684 XCB_INPUT_NOTIFY_MODE_WHILE_GRABBED = 3,
3685 XCB_INPUT_NOTIFY_MODE_PASSIVE_GRAB = 4,
3686 XCB_INPUT_NOTIFY_MODE_PASSIVE_UNGRAB = 5
3687} xcb_input_notify_mode_t;
3688
3689typedef enum xcb_input_notify_detail_t {
3690 XCB_INPUT_NOTIFY_DETAIL_ANCESTOR = 0,
3691 XCB_INPUT_NOTIFY_DETAIL_VIRTUAL = 1,
3692 XCB_INPUT_NOTIFY_DETAIL_INFERIOR = 2,
3693 XCB_INPUT_NOTIFY_DETAIL_NONLINEAR = 3,
3694 XCB_INPUT_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
3695 XCB_INPUT_NOTIFY_DETAIL_POINTER = 5,
3696 XCB_INPUT_NOTIFY_DETAIL_POINTER_ROOT = 6,
3697 XCB_INPUT_NOTIFY_DETAIL_NONE = 7
3698} xcb_input_notify_detail_t;
3699
3700/** Opcode for xcb_input_enter. */
3701#define XCB_INPUT_ENTER 7
3702
3703/**
3704 * @brief xcb_input_enter_event_t
3705 **/
3706typedef struct xcb_input_enter_event_t {
3707 uint8_t response_type;
3708 uint8_t extension;
3709 uint16_t sequence;
3710 uint32_t length;
3711 uint16_t event_type;
3712 xcb_input_device_id_t deviceid;
3713 xcb_timestamp_t time;
3714 xcb_input_device_id_t sourceid;
3715 uint8_t mode;
3716 uint8_t detail;
3717 xcb_window_t root;
3718 xcb_window_t event;
3719 xcb_window_t child;
3720 uint32_t full_sequence;
3721 xcb_input_fp1616_t root_x;
3722 xcb_input_fp1616_t root_y;
3723 xcb_input_fp1616_t event_x;
3724 xcb_input_fp1616_t event_y;
3725 uint8_t same_screen;
3726 uint8_t focus;
3727 uint16_t buttons_len;
3728 xcb_input_modifier_info_t mods;
3729 xcb_input_group_info_t group;
3730} xcb_input_enter_event_t;
3731
3732/** Opcode for xcb_input_leave. */
3733#define XCB_INPUT_LEAVE 8
3734
3735typedef xcb_input_enter_event_t xcb_input_leave_event_t;
3736
3737/** Opcode for xcb_input_focus_in. */
3738#define XCB_INPUT_FOCUS_IN 9
3739
3740typedef xcb_input_enter_event_t xcb_input_focus_in_event_t;
3741
3742/** Opcode for xcb_input_focus_out. */
3743#define XCB_INPUT_FOCUS_OUT 10
3744
3745typedef xcb_input_enter_event_t xcb_input_focus_out_event_t;
3746
3747typedef enum xcb_input_hierarchy_mask_t {
3748 XCB_INPUT_HIERARCHY_MASK_MASTER_ADDED = 1,
3749 XCB_INPUT_HIERARCHY_MASK_MASTER_REMOVED = 2,
3750 XCB_INPUT_HIERARCHY_MASK_SLAVE_ADDED = 4,
3751 XCB_INPUT_HIERARCHY_MASK_SLAVE_REMOVED = 8,
3752 XCB_INPUT_HIERARCHY_MASK_SLAVE_ATTACHED = 16,
3753 XCB_INPUT_HIERARCHY_MASK_SLAVE_DETACHED = 32,
3754 XCB_INPUT_HIERARCHY_MASK_DEVICE_ENABLED = 64,
3755 XCB_INPUT_HIERARCHY_MASK_DEVICE_DISABLED = 128
3756} xcb_input_hierarchy_mask_t;
3757
3758/**
3759 * @brief xcb_input_hierarchy_info_t
3760 **/
3761typedef struct xcb_input_hierarchy_info_t {
3762 xcb_input_device_id_t deviceid;
3763 xcb_input_device_id_t attachment;
3764 uint8_t type;
3765 uint8_t enabled;
3766 uint8_t pad0[2];
3767 uint32_t flags;
3768} xcb_input_hierarchy_info_t;
3769
3770/**
3771 * @brief xcb_input_hierarchy_info_iterator_t
3772 **/
3773typedef struct xcb_input_hierarchy_info_iterator_t {
3774 xcb_input_hierarchy_info_t *data;
3775 int rem;
3776 int index;
3777} xcb_input_hierarchy_info_iterator_t;
3778
3779/** Opcode for xcb_input_hierarchy. */
3780#define XCB_INPUT_HIERARCHY 11
3781
3782/**
3783 * @brief xcb_input_hierarchy_event_t
3784 **/
3785typedef struct xcb_input_hierarchy_event_t {
3786 uint8_t response_type;
3787 uint8_t extension;
3788 uint16_t sequence;
3789 uint32_t length;
3790 uint16_t event_type;
3791 xcb_input_device_id_t deviceid;
3792 xcb_timestamp_t time;
3793 uint32_t flags;
3794 uint16_t num_infos;
3795 uint8_t pad0[10];
3796 uint32_t full_sequence;
3797} xcb_input_hierarchy_event_t;
3798
3799typedef enum xcb_input_property_flag_t {
3800 XCB_INPUT_PROPERTY_FLAG_DELETED = 0,
3801 XCB_INPUT_PROPERTY_FLAG_CREATED = 1,
3802 XCB_INPUT_PROPERTY_FLAG_MODIFIED = 2
3803} xcb_input_property_flag_t;
3804
3805/** Opcode for xcb_input_property. */
3806#define XCB_INPUT_PROPERTY 12
3807
3808/**
3809 * @brief xcb_input_property_event_t
3810 **/
3811typedef struct xcb_input_property_event_t {
3812 uint8_t response_type;
3813 uint8_t extension;
3814 uint16_t sequence;
3815 uint32_t length;
3816 uint16_t event_type;
3817 xcb_input_device_id_t deviceid;
3818 xcb_timestamp_t time;
3819 xcb_atom_t property;
3820 uint8_t what;
3821 uint8_t pad0[11];
3822 uint32_t full_sequence;
3823} xcb_input_property_event_t;
3824
3825/** Opcode for xcb_input_raw_key_press. */
3826#define XCB_INPUT_RAW_KEY_PRESS 13
3827
3828/**
3829 * @brief xcb_input_raw_key_press_event_t
3830 **/
3831typedef struct xcb_input_raw_key_press_event_t {
3832 uint8_t response_type;
3833 uint8_t extension;
3834 uint16_t sequence;
3835 uint32_t length;
3836 uint16_t event_type;
3837 xcb_input_device_id_t deviceid;
3838 xcb_timestamp_t time;
3839 uint32_t detail;
3840 xcb_input_device_id_t sourceid;
3841 uint16_t valuators_len;
3842 uint32_t flags;
3843 uint8_t pad0[4];
3844 uint32_t full_sequence;
3845} xcb_input_raw_key_press_event_t;
3846
3847/** Opcode for xcb_input_raw_key_release. */
3848#define XCB_INPUT_RAW_KEY_RELEASE 14
3849
3850typedef xcb_input_raw_key_press_event_t xcb_input_raw_key_release_event_t;
3851
3852/** Opcode for xcb_input_raw_button_press. */
3853#define XCB_INPUT_RAW_BUTTON_PRESS 15
3854
3855/**
3856 * @brief xcb_input_raw_button_press_event_t
3857 **/
3858typedef struct xcb_input_raw_button_press_event_t {
3859 uint8_t response_type;
3860 uint8_t extension;
3861 uint16_t sequence;
3862 uint32_t length;
3863 uint16_t event_type;
3864 xcb_input_device_id_t deviceid;
3865 xcb_timestamp_t time;
3866 uint32_t detail;
3867 xcb_input_device_id_t sourceid;
3868 uint16_t valuators_len;
3869 uint32_t flags;
3870 uint8_t pad0[4];
3871 uint32_t full_sequence;
3872} xcb_input_raw_button_press_event_t;
3873
3874/** Opcode for xcb_input_raw_button_release. */
3875#define XCB_INPUT_RAW_BUTTON_RELEASE 16
3876
3877typedef xcb_input_raw_button_press_event_t xcb_input_raw_button_release_event_t;
3878
3879/** Opcode for xcb_input_raw_motion. */
3880#define XCB_INPUT_RAW_MOTION 17
3881
3882typedef xcb_input_raw_button_press_event_t xcb_input_raw_motion_event_t;
3883
3884typedef enum xcb_input_touch_event_flags_t {
3885 XCB_INPUT_TOUCH_EVENT_FLAGS_TOUCH_PENDING_END = 65536,
3886 XCB_INPUT_TOUCH_EVENT_FLAGS_TOUCH_EMULATING_POINTER = 131072
3887} xcb_input_touch_event_flags_t;
3888
3889/** Opcode for xcb_input_touch_begin. */
3890#define XCB_INPUT_TOUCH_BEGIN 18
3891
3892/**
3893 * @brief xcb_input_touch_begin_event_t
3894 **/
3895typedef struct xcb_input_touch_begin_event_t {
3896 uint8_t response_type;
3897 uint8_t extension;
3898 uint16_t sequence;
3899 uint32_t length;
3900 uint16_t event_type;
3901 xcb_input_device_id_t deviceid;
3902 xcb_timestamp_t time;
3903 uint32_t detail;
3904 xcb_window_t root;
3905 xcb_window_t event;
3906 xcb_window_t child;
3907 uint32_t full_sequence;
3908 xcb_input_fp1616_t root_x;
3909 xcb_input_fp1616_t root_y;
3910 xcb_input_fp1616_t event_x;
3911 xcb_input_fp1616_t event_y;
3912 uint16_t buttons_len;
3913 uint16_t valuators_len;
3914 xcb_input_device_id_t sourceid;
3915 uint8_t pad0[2];
3916 uint32_t flags;
3917 xcb_input_modifier_info_t mods;
3918 xcb_input_group_info_t group;
3919} xcb_input_touch_begin_event_t;
3920
3921/** Opcode for xcb_input_touch_update. */
3922#define XCB_INPUT_TOUCH_UPDATE 19
3923
3924typedef xcb_input_touch_begin_event_t xcb_input_touch_update_event_t;
3925
3926/** Opcode for xcb_input_touch_end. */
3927#define XCB_INPUT_TOUCH_END 20
3928
3929typedef xcb_input_touch_begin_event_t xcb_input_touch_end_event_t;
3930
3931typedef enum xcb_input_touch_ownership_flags_t {
3932 XCB_INPUT_TOUCH_OWNERSHIP_FLAGS_NONE = 0
3933} xcb_input_touch_ownership_flags_t;
3934
3935/** Opcode for xcb_input_touch_ownership. */
3936#define XCB_INPUT_TOUCH_OWNERSHIP 21
3937
3938/**
3939 * @brief xcb_input_touch_ownership_event_t
3940 **/
3941typedef struct xcb_input_touch_ownership_event_t {
3942 uint8_t response_type;
3943 uint8_t extension;
3944 uint16_t sequence;
3945 uint32_t length;
3946 uint16_t event_type;
3947 xcb_input_device_id_t deviceid;
3948 xcb_timestamp_t time;
3949 uint32_t touchid;
3950 xcb_window_t root;
3951 xcb_window_t event;
3952 xcb_window_t child;
3953 uint32_t full_sequence;
3954 xcb_input_device_id_t sourceid;
3955 uint8_t pad0[2];
3956 uint32_t flags;
3957 uint8_t pad1[8];
3958} xcb_input_touch_ownership_event_t;
3959
3960/** Opcode for xcb_input_raw_touch_begin. */
3961#define XCB_INPUT_RAW_TOUCH_BEGIN 22
3962
3963/**
3964 * @brief xcb_input_raw_touch_begin_event_t
3965 **/
3966typedef struct xcb_input_raw_touch_begin_event_t {
3967 uint8_t response_type;
3968 uint8_t extension;
3969 uint16_t sequence;
3970 uint32_t length;
3971 uint16_t event_type;
3972 xcb_input_device_id_t deviceid;
3973 xcb_timestamp_t time;
3974 uint32_t detail;
3975 xcb_input_device_id_t sourceid;
3976 uint16_t valuators_len;
3977 uint32_t flags;
3978 uint8_t pad0[4];
3979 uint32_t full_sequence;
3980} xcb_input_raw_touch_begin_event_t;
3981
3982/** Opcode for xcb_input_raw_touch_update. */
3983#define XCB_INPUT_RAW_TOUCH_UPDATE 23
3984
3985typedef xcb_input_raw_touch_begin_event_t xcb_input_raw_touch_update_event_t;
3986
3987/** Opcode for xcb_input_raw_touch_end. */
3988#define XCB_INPUT_RAW_TOUCH_END 24
3989
3990typedef xcb_input_raw_touch_begin_event_t xcb_input_raw_touch_end_event_t;
3991
3992/** Opcode for xcb_input_barrier_hit. */
3993#define XCB_INPUT_BARRIER_HIT 25
3994
3995/** Opcode for xcb_input_barrier_leave. */
3996#define XCB_INPUT_BARRIER_LEAVE 26
3997
3998/** Opcode for xcb_input_device. */
3999#define XCB_INPUT_DEVICE 0
4000
4001/**
4002 * @brief xcb_input_device_error_t
4003 **/
4004typedef struct xcb_input_device_error_t {
4005 uint8_t response_type;
4006 uint8_t error_code;
4007 uint16_t sequence;
4008} xcb_input_device_error_t;
4009
4010/** Opcode for xcb_input_event. */
4011#define XCB_INPUT_EVENT 1
4012
4013/**
4014 * @brief xcb_input_event_error_t
4015 **/
4016typedef struct xcb_input_event_error_t {
4017 uint8_t response_type;
4018 uint8_t error_code;
4019 uint16_t sequence;
4020} xcb_input_event_error_t;
4021
4022/** Opcode for xcb_input_mode. */
4023#define XCB_INPUT_MODE 2
4024
4025/**
4026 * @brief xcb_input_mode_error_t
4027 **/
4028typedef struct xcb_input_mode_error_t {
4029 uint8_t response_type;
4030 uint8_t error_code;
4031 uint16_t sequence;
4032} xcb_input_mode_error_t;
4033
4034/** Opcode for xcb_input_device_busy. */
4035#define XCB_INPUT_DEVICE_BUSY 3
4036
4037/**
4038 * @brief xcb_input_device_busy_error_t
4039 **/
4040typedef struct xcb_input_device_busy_error_t {
4041 uint8_t response_type;
4042 uint8_t error_code;
4043 uint16_t sequence;
4044} xcb_input_device_busy_error_t;
4045
4046/** Opcode for xcb_input_class. */
4047#define XCB_INPUT_CLASS 4
4048
4049/**
4050 * @brief xcb_input_class_error_t
4051 **/
4052typedef struct xcb_input_class_error_t {
4053 uint8_t response_type;
4054 uint8_t error_code;
4055 uint16_t sequence;
4056} xcb_input_class_error_t;
4057
4058typedef enum xcb_input_gesture_pinch_event_flags_t {
4059 XCB_INPUT_GESTURE_PINCH_EVENT_FLAGS_GESTURE_PINCH_CANCELLED = 1
4060} xcb_input_gesture_pinch_event_flags_t;
4061
4062/** Opcode for xcb_input_gesture_pinch_begin. */
4063#define XCB_INPUT_GESTURE_PINCH_BEGIN 27
4064
4065/**
4066 * @brief xcb_input_gesture_pinch_begin_event_t
4067 **/
4068typedef struct xcb_input_gesture_pinch_begin_event_t {
4069 uint8_t response_type;
4070 uint8_t extension;
4071 uint16_t sequence;
4072 uint32_t length;
4073 uint16_t event_type;
4074 xcb_input_device_id_t deviceid;
4075 xcb_timestamp_t time;
4076 uint32_t detail;
4077 xcb_window_t root;
4078 xcb_window_t event;
4079 xcb_window_t child;
4080 uint32_t full_sequence;
4081 xcb_input_fp1616_t root_x;
4082 xcb_input_fp1616_t root_y;
4083 xcb_input_fp1616_t event_x;
4084 xcb_input_fp1616_t event_y;
4085 xcb_input_fp1616_t delta_x;
4086 xcb_input_fp1616_t delta_y;
4087 xcb_input_fp1616_t delta_unaccel_x;
4088 xcb_input_fp1616_t delta_unaccel_y;
4089 xcb_input_fp1616_t scale;
4090 xcb_input_fp1616_t delta_angle;
4091 xcb_input_device_id_t sourceid;
4092 uint8_t pad0[2];
4093 xcb_input_modifier_info_t mods;
4094 xcb_input_group_info_t group;
4095 uint32_t flags;
4096} xcb_input_gesture_pinch_begin_event_t;
4097
4098/** Opcode for xcb_input_gesture_pinch_update. */
4099#define XCB_INPUT_GESTURE_PINCH_UPDATE 28
4100
4101typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_update_event_t;
4102
4103/** Opcode for xcb_input_gesture_pinch_end. */
4104#define XCB_INPUT_GESTURE_PINCH_END 29
4105
4106typedef xcb_input_gesture_pinch_begin_event_t xcb_input_gesture_pinch_end_event_t;
4107
4108typedef enum xcb_input_gesture_swipe_event_flags_t {
4109 XCB_INPUT_GESTURE_SWIPE_EVENT_FLAGS_GESTURE_SWIPE_CANCELLED = 1
4110} xcb_input_gesture_swipe_event_flags_t;
4111
4112/** Opcode for xcb_input_gesture_swipe_begin. */
4113#define XCB_INPUT_GESTURE_SWIPE_BEGIN 30
4114
4115/**
4116 * @brief xcb_input_gesture_swipe_begin_event_t
4117 **/
4118typedef struct xcb_input_gesture_swipe_begin_event_t {
4119 uint8_t response_type;
4120 uint8_t extension;
4121 uint16_t sequence;
4122 uint32_t length;
4123 uint16_t event_type;
4124 xcb_input_device_id_t deviceid;
4125 xcb_timestamp_t time;
4126 uint32_t detail;
4127 xcb_window_t root;
4128 xcb_window_t event;
4129 xcb_window_t child;
4130 uint32_t full_sequence;
4131 xcb_input_fp1616_t root_x;
4132 xcb_input_fp1616_t root_y;
4133 xcb_input_fp1616_t event_x;
4134 xcb_input_fp1616_t event_y;
4135 xcb_input_fp1616_t delta_x;
4136 xcb_input_fp1616_t delta_y;
4137 xcb_input_fp1616_t delta_unaccel_x;
4138 xcb_input_fp1616_t delta_unaccel_y;
4139 xcb_input_device_id_t sourceid;
4140 uint8_t pad0[2];
4141 xcb_input_modifier_info_t mods;
4142 xcb_input_group_info_t group;
4143 uint32_t flags;
4144} xcb_input_gesture_swipe_begin_event_t;
4145
4146/** Opcode for xcb_input_gesture_swipe_update. */
4147#define XCB_INPUT_GESTURE_SWIPE_UPDATE 31
4148
4149typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_update_event_t;
4150
4151/** Opcode for xcb_input_gesture_swipe_end. */
4152#define XCB_INPUT_GESTURE_SWIPE_END 32
4153
4154typedef xcb_input_gesture_swipe_begin_event_t xcb_input_gesture_swipe_end_event_t;
4155
4156/**
4157 * Get the next element of the iterator
4158 * @param i Pointer to a xcb_input_event_class_iterator_t
4159 *
4160 * Get the next element in the iterator. The member rem is
4161 * decreased by one. The member data points to the next
4162 * element. The member index is increased by sizeof(xcb_input_event_class_t)
4163 */
4164void
4165xcb_input_event_class_next (xcb_input_event_class_iterator_t *i);
4166
4167/**
4168 * Return the iterator pointing to the last element
4169 * @param i An xcb_input_event_class_iterator_t
4170 * @return The iterator pointing to the last element
4171 *
4172 * Set the current element in the iterator to the last element.
4173 * The member rem is set to 0. The member data points to the
4174 * last element.
4175 */
4176xcb_generic_iterator_t
4177xcb_input_event_class_end (xcb_input_event_class_iterator_t i);
4178
4179/**
4180 * Get the next element of the iterator
4181 * @param i Pointer to a xcb_input_key_code_iterator_t
4182 *
4183 * Get the next element in the iterator. The member rem is
4184 * decreased by one. The member data points to the next
4185 * element. The member index is increased by sizeof(xcb_input_key_code_t)
4186 */
4187void
4188xcb_input_key_code_next (xcb_input_key_code_iterator_t *i);
4189
4190/**
4191 * Return the iterator pointing to the last element
4192 * @param i An xcb_input_key_code_iterator_t
4193 * @return The iterator pointing to the last element
4194 *
4195 * Set the current element in the iterator to the last element.
4196 * The member rem is set to 0. The member data points to the
4197 * last element.
4198 */
4199xcb_generic_iterator_t
4200xcb_input_key_code_end (xcb_input_key_code_iterator_t i);
4201
4202/**
4203 * Get the next element of the iterator
4204 * @param i Pointer to a xcb_input_device_id_iterator_t
4205 *
4206 * Get the next element in the iterator. The member rem is
4207 * decreased by one. The member data points to the next
4208 * element. The member index is increased by sizeof(xcb_input_device_id_t)
4209 */
4210void
4211xcb_input_device_id_next (xcb_input_device_id_iterator_t *i);
4212
4213/**
4214 * Return the iterator pointing to the last element
4215 * @param i An xcb_input_device_id_iterator_t
4216 * @return The iterator pointing to the last element
4217 *
4218 * Set the current element in the iterator to the last element.
4219 * The member rem is set to 0. The member data points to the
4220 * last element.
4221 */
4222xcb_generic_iterator_t
4223xcb_input_device_id_end (xcb_input_device_id_iterator_t i);
4224
4225/**
4226 * Get the next element of the iterator
4227 * @param i Pointer to a xcb_input_fp1616_iterator_t
4228 *
4229 * Get the next element in the iterator. The member rem is
4230 * decreased by one. The member data points to the next
4231 * element. The member index is increased by sizeof(xcb_input_fp1616_t)
4232 */
4233void
4234xcb_input_fp1616_next (xcb_input_fp1616_iterator_t *i);
4235
4236/**
4237 * Return the iterator pointing to the last element
4238 * @param i An xcb_input_fp1616_iterator_t
4239 * @return The iterator pointing to the last element
4240 *
4241 * Set the current element in the iterator to the last element.
4242 * The member rem is set to 0. The member data points to the
4243 * last element.
4244 */
4245xcb_generic_iterator_t
4246xcb_input_fp1616_end (xcb_input_fp1616_iterator_t i);
4247
4248/**
4249 * Get the next element of the iterator
4250 * @param i Pointer to a xcb_input_fp3232_iterator_t
4251 *
4252 * Get the next element in the iterator. The member rem is
4253 * decreased by one. The member data points to the next
4254 * element. The member index is increased by sizeof(xcb_input_fp3232_t)
4255 */
4256void
4257xcb_input_fp3232_next (xcb_input_fp3232_iterator_t *i);
4258
4259/**
4260 * Return the iterator pointing to the last element
4261 * @param i An xcb_input_fp3232_iterator_t
4262 * @return The iterator pointing to the last element
4263 *
4264 * Set the current element in the iterator to the last element.
4265 * The member rem is set to 0. The member data points to the
4266 * last element.
4267 */
4268xcb_generic_iterator_t
4269xcb_input_fp3232_end (xcb_input_fp3232_iterator_t i);
4270
4271int
4272xcb_input_get_extension_version_sizeof (const void *_buffer);
4273
4274/**
4275 *
4276 * @param c The connection
4277 * @return A cookie
4278 *
4279 * Delivers a request to the X server.
4280 *
4281 */
4282xcb_input_get_extension_version_cookie_t
4283xcb_input_get_extension_version (xcb_connection_t *c,
4284 uint16_t name_len,
4285 const char *name);
4286
4287/**
4288 *
4289 * @param c The connection
4290 * @return A cookie
4291 *
4292 * Delivers a request to the X server.
4293 *
4294 * This form can be used only if the request will cause
4295 * a reply to be generated. Any returned error will be
4296 * placed in the event queue.
4297 */
4298xcb_input_get_extension_version_cookie_t
4299xcb_input_get_extension_version_unchecked (xcb_connection_t *c,
4300 uint16_t name_len,
4301 const char *name);
4302
4303/**
4304 * Return the reply
4305 * @param c The connection
4306 * @param cookie The cookie
4307 * @param e The xcb_generic_error_t supplied
4308 *
4309 * Returns the reply of the request asked by
4310 *
4311 * The parameter @p e supplied to this function must be NULL if
4312 * xcb_input_get_extension_version_unchecked(). is used.
4313 * Otherwise, it stores the error if any.
4314 *
4315 * The returned value must be freed by the caller using free().
4316 */
4317xcb_input_get_extension_version_reply_t *
4318xcb_input_get_extension_version_reply (xcb_connection_t *c,
4319 xcb_input_get_extension_version_cookie_t cookie /**< */,
4320 xcb_generic_error_t **e);
4321
4322/**
4323 * Get the next element of the iterator
4324 * @param i Pointer to a xcb_input_device_info_iterator_t
4325 *
4326 * Get the next element in the iterator. The member rem is
4327 * decreased by one. The member data points to the next
4328 * element. The member index is increased by sizeof(xcb_input_device_info_t)
4329 */
4330void
4331xcb_input_device_info_next (xcb_input_device_info_iterator_t *i);
4332
4333/**
4334 * Return the iterator pointing to the last element
4335 * @param i An xcb_input_device_info_iterator_t
4336 * @return The iterator pointing to the last element
4337 *
4338 * Set the current element in the iterator to the last element.
4339 * The member rem is set to 0. The member data points to the
4340 * last element.
4341 */
4342xcb_generic_iterator_t
4343xcb_input_device_info_end (xcb_input_device_info_iterator_t i);
4344
4345/**
4346 * Get the next element of the iterator
4347 * @param i Pointer to a xcb_input_key_info_iterator_t
4348 *
4349 * Get the next element in the iterator. The member rem is
4350 * decreased by one. The member data points to the next
4351 * element. The member index is increased by sizeof(xcb_input_key_info_t)
4352 */
4353void
4354xcb_input_key_info_next (xcb_input_key_info_iterator_t *i);
4355
4356/**
4357 * Return the iterator pointing to the last element
4358 * @param i An xcb_input_key_info_iterator_t
4359 * @return The iterator pointing to the last element
4360 *
4361 * Set the current element in the iterator to the last element.
4362 * The member rem is set to 0. The member data points to the
4363 * last element.
4364 */
4365xcb_generic_iterator_t
4366xcb_input_key_info_end (xcb_input_key_info_iterator_t i);
4367
4368/**
4369 * Get the next element of the iterator
4370 * @param i Pointer to a xcb_input_button_info_iterator_t
4371 *
4372 * Get the next element in the iterator. The member rem is
4373 * decreased by one. The member data points to the next
4374 * element. The member index is increased by sizeof(xcb_input_button_info_t)
4375 */
4376void
4377xcb_input_button_info_next (xcb_input_button_info_iterator_t *i);
4378
4379/**
4380 * Return the iterator pointing to the last element
4381 * @param i An xcb_input_button_info_iterator_t
4382 * @return The iterator pointing to the last element
4383 *
4384 * Set the current element in the iterator to the last element.
4385 * The member rem is set to 0. The member data points to the
4386 * last element.
4387 */
4388xcb_generic_iterator_t
4389xcb_input_button_info_end (xcb_input_button_info_iterator_t i);
4390
4391/**
4392 * Get the next element of the iterator
4393 * @param i Pointer to a xcb_input_axis_info_iterator_t
4394 *
4395 * Get the next element in the iterator. The member rem is
4396 * decreased by one. The member data points to the next
4397 * element. The member index is increased by sizeof(xcb_input_axis_info_t)
4398 */
4399void
4400xcb_input_axis_info_next (xcb_input_axis_info_iterator_t *i);
4401
4402/**
4403 * Return the iterator pointing to the last element
4404 * @param i An xcb_input_axis_info_iterator_t
4405 * @return The iterator pointing to the last element
4406 *
4407 * Set the current element in the iterator to the last element.
4408 * The member rem is set to 0. The member data points to the
4409 * last element.
4410 */
4411xcb_generic_iterator_t
4412xcb_input_axis_info_end (xcb_input_axis_info_iterator_t i);
4413
4414int
4415xcb_input_valuator_info_sizeof (const void *_buffer);
4416
4417xcb_input_axis_info_t *
4418xcb_input_valuator_info_axes (const xcb_input_valuator_info_t *R);
4419
4420int
4421xcb_input_valuator_info_axes_length (const xcb_input_valuator_info_t *R);
4422
4423xcb_input_axis_info_iterator_t
4424xcb_input_valuator_info_axes_iterator (const xcb_input_valuator_info_t *R);
4425
4426/**
4427 * Get the next element of the iterator
4428 * @param i Pointer to a xcb_input_valuator_info_iterator_t
4429 *
4430 * Get the next element in the iterator. The member rem is
4431 * decreased by one. The member data points to the next
4432 * element. The member index is increased by sizeof(xcb_input_valuator_info_t)
4433 */
4434void
4435xcb_input_valuator_info_next (xcb_input_valuator_info_iterator_t *i);
4436
4437/**
4438 * Return the iterator pointing to the last element
4439 * @param i An xcb_input_valuator_info_iterator_t
4440 * @return The iterator pointing to the last element
4441 *
4442 * Set the current element in the iterator to the last element.
4443 * The member rem is set to 0. The member data points to the
4444 * last element.
4445 */
4446xcb_generic_iterator_t
4447xcb_input_valuator_info_end (xcb_input_valuator_info_iterator_t i);
4448
4449xcb_input_axis_info_t *
4450xcb_input_input_info_info_valuator_axes (const xcb_input_input_info_info_t *S);
4451
4452int
4453xcb_input_input_info_info_valuator_axes_length (const xcb_input_input_info_t *R,
4454 const xcb_input_input_info_info_t *S);
4455
4456xcb_input_axis_info_iterator_t
4457xcb_input_input_info_info_valuator_axes_iterator (const xcb_input_input_info_t *R,
4458 const xcb_input_input_info_info_t *S);
4459
4460int
4461xcb_input_input_info_info_serialize (void **_buffer,
4462 uint8_t class_id,
4463 const xcb_input_input_info_info_t *_aux);
4464
4465int
4466xcb_input_input_info_info_unpack (const void *_buffer,
4467 uint8_t class_id,
4468 xcb_input_input_info_info_t *_aux);
4469
4470int
4471xcb_input_input_info_info_sizeof (const void *_buffer,
4472 uint8_t class_id);
4473
4474int
4475xcb_input_input_info_sizeof (const void *_buffer);
4476
4477/**
4478 * Get the next element of the iterator
4479 * @param i Pointer to a xcb_input_input_info_iterator_t
4480 *
4481 * Get the next element in the iterator. The member rem is
4482 * decreased by one. The member data points to the next
4483 * element. The member index is increased by sizeof(xcb_input_input_info_t)
4484 */
4485void
4486xcb_input_input_info_next (xcb_input_input_info_iterator_t *i);
4487
4488/**
4489 * Return the iterator pointing to the last element
4490 * @param i An xcb_input_input_info_iterator_t
4491 * @return The iterator pointing to the last element
4492 *
4493 * Set the current element in the iterator to the last element.
4494 * The member rem is set to 0. The member data points to the
4495 * last element.
4496 */
4497xcb_generic_iterator_t
4498xcb_input_input_info_end (xcb_input_input_info_iterator_t i);
4499
4500int
4501xcb_input_device_name_sizeof (const void *_buffer);
4502
4503char *
4504xcb_input_device_name_string (const xcb_input_device_name_t *R);
4505
4506int
4507xcb_input_device_name_string_length (const xcb_input_device_name_t *R);
4508
4509xcb_generic_iterator_t
4510xcb_input_device_name_string_end (const xcb_input_device_name_t *R);
4511
4512/**
4513 * Get the next element of the iterator
4514 * @param i Pointer to a xcb_input_device_name_iterator_t
4515 *
4516 * Get the next element in the iterator. The member rem is
4517 * decreased by one. The member data points to the next
4518 * element. The member index is increased by sizeof(xcb_input_device_name_t)
4519 */
4520void
4521xcb_input_device_name_next (xcb_input_device_name_iterator_t *i);
4522
4523/**
4524 * Return the iterator pointing to the last element
4525 * @param i An xcb_input_device_name_iterator_t
4526 * @return The iterator pointing to the last element
4527 *
4528 * Set the current element in the iterator to the last element.
4529 * The member rem is set to 0. The member data points to the
4530 * last element.
4531 */
4532xcb_generic_iterator_t
4533xcb_input_device_name_end (xcb_input_device_name_iterator_t i);
4534
4535int
4536xcb_input_list_input_devices_sizeof (const void *_buffer);
4537
4538/**
4539 *
4540 * @param c The connection
4541 * @return A cookie
4542 *
4543 * Delivers a request to the X server.
4544 *
4545 */
4546xcb_input_list_input_devices_cookie_t
4547xcb_input_list_input_devices (xcb_connection_t *c);
4548
4549/**
4550 *
4551 * @param c The connection
4552 * @return A cookie
4553 *
4554 * Delivers a request to the X server.
4555 *
4556 * This form can be used only if the request will cause
4557 * a reply to be generated. Any returned error will be
4558 * placed in the event queue.
4559 */
4560xcb_input_list_input_devices_cookie_t
4561xcb_input_list_input_devices_unchecked (xcb_connection_t *c);
4562
4563xcb_input_device_info_t *
4564xcb_input_list_input_devices_devices (const xcb_input_list_input_devices_reply_t *R);
4565
4566int
4567xcb_input_list_input_devices_devices_length (const xcb_input_list_input_devices_reply_t *R);
4568
4569xcb_input_device_info_iterator_t
4570xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t *R);
4571
4572int
4573xcb_input_list_input_devices_infos_length (const xcb_input_list_input_devices_reply_t *R);
4574
4575xcb_input_input_info_iterator_t
4576xcb_input_list_input_devices_infos_iterator (const xcb_input_list_input_devices_reply_t *R);
4577
4578int
4579xcb_input_list_input_devices_names_length (const xcb_input_list_input_devices_reply_t *R);
4580
4581xcb_str_iterator_t
4582xcb_input_list_input_devices_names_iterator (const xcb_input_list_input_devices_reply_t *R);
4583
4584/**
4585 * Return the reply
4586 * @param c The connection
4587 * @param cookie The cookie
4588 * @param e The xcb_generic_error_t supplied
4589 *
4590 * Returns the reply of the request asked by
4591 *
4592 * The parameter @p e supplied to this function must be NULL if
4593 * xcb_input_list_input_devices_unchecked(). is used.
4594 * Otherwise, it stores the error if any.
4595 *
4596 * The returned value must be freed by the caller using free().
4597 */
4598xcb_input_list_input_devices_reply_t *
4599xcb_input_list_input_devices_reply (xcb_connection_t *c,
4600 xcb_input_list_input_devices_cookie_t cookie /**< */,
4601 xcb_generic_error_t **e);
4602
4603/**
4604 * Get the next element of the iterator
4605 * @param i Pointer to a xcb_input_event_type_base_iterator_t
4606 *
4607 * Get the next element in the iterator. The member rem is
4608 * decreased by one. The member data points to the next
4609 * element. The member index is increased by sizeof(xcb_input_event_type_base_t)
4610 */
4611void
4612xcb_input_event_type_base_next (xcb_input_event_type_base_iterator_t *i);
4613
4614/**
4615 * Return the iterator pointing to the last element
4616 * @param i An xcb_input_event_type_base_iterator_t
4617 * @return The iterator pointing to the last element
4618 *
4619 * Set the current element in the iterator to the last element.
4620 * The member rem is set to 0. The member data points to the
4621 * last element.
4622 */
4623xcb_generic_iterator_t
4624xcb_input_event_type_base_end (xcb_input_event_type_base_iterator_t i);
4625
4626/**
4627 * Get the next element of the iterator
4628 * @param i Pointer to a xcb_input_input_class_info_iterator_t
4629 *
4630 * Get the next element in the iterator. The member rem is
4631 * decreased by one. The member data points to the next
4632 * element. The member index is increased by sizeof(xcb_input_input_class_info_t)
4633 */
4634void
4635xcb_input_input_class_info_next (xcb_input_input_class_info_iterator_t *i);
4636
4637/**
4638 * Return the iterator pointing to the last element
4639 * @param i An xcb_input_input_class_info_iterator_t
4640 * @return The iterator pointing to the last element
4641 *
4642 * Set the current element in the iterator to the last element.
4643 * The member rem is set to 0. The member data points to the
4644 * last element.
4645 */
4646xcb_generic_iterator_t
4647xcb_input_input_class_info_end (xcb_input_input_class_info_iterator_t i);
4648
4649int
4650xcb_input_open_device_sizeof (const void *_buffer);
4651
4652/**
4653 *
4654 * @param c The connection
4655 * @return A cookie
4656 *
4657 * Delivers a request to the X server.
4658 *
4659 */
4660xcb_input_open_device_cookie_t
4661xcb_input_open_device (xcb_connection_t *c,
4662 uint8_t device_id);
4663
4664/**
4665 *
4666 * @param c The connection
4667 * @return A cookie
4668 *
4669 * Delivers a request to the X server.
4670 *
4671 * This form can be used only if the request will cause
4672 * a reply to be generated. Any returned error will be
4673 * placed in the event queue.
4674 */
4675xcb_input_open_device_cookie_t
4676xcb_input_open_device_unchecked (xcb_connection_t *c,
4677 uint8_t device_id);
4678
4679xcb_input_input_class_info_t *
4680xcb_input_open_device_class_info (const xcb_input_open_device_reply_t *R);
4681
4682int
4683xcb_input_open_device_class_info_length (const xcb_input_open_device_reply_t *R);
4684
4685xcb_input_input_class_info_iterator_t
4686xcb_input_open_device_class_info_iterator (const xcb_input_open_device_reply_t *R);
4687
4688/**
4689 * Return the reply
4690 * @param c The connection
4691 * @param cookie The cookie
4692 * @param e The xcb_generic_error_t supplied
4693 *
4694 * Returns the reply of the request asked by
4695 *
4696 * The parameter @p e supplied to this function must be NULL if
4697 * xcb_input_open_device_unchecked(). is used.
4698 * Otherwise, it stores the error if any.
4699 *
4700 * The returned value must be freed by the caller using free().
4701 */
4702xcb_input_open_device_reply_t *
4703xcb_input_open_device_reply (xcb_connection_t *c,
4704 xcb_input_open_device_cookie_t cookie /**< */,
4705 xcb_generic_error_t **e);
4706
4707/**
4708 *
4709 * @param c The connection
4710 * @return A cookie
4711 *
4712 * Delivers a request to the X server.
4713 *
4714 * This form can be used only if the request will not cause
4715 * a reply to be generated. Any returned error will be
4716 * saved for handling by xcb_request_check().
4717 */
4718xcb_void_cookie_t
4719xcb_input_close_device_checked (xcb_connection_t *c,
4720 uint8_t device_id);
4721
4722/**
4723 *
4724 * @param c The connection
4725 * @return A cookie
4726 *
4727 * Delivers a request to the X server.
4728 *
4729 */
4730xcb_void_cookie_t
4731xcb_input_close_device (xcb_connection_t *c,
4732 uint8_t device_id);
4733
4734/**
4735 *
4736 * @param c The connection
4737 * @return A cookie
4738 *
4739 * Delivers a request to the X server.
4740 *
4741 */
4742xcb_input_set_device_mode_cookie_t
4743xcb_input_set_device_mode (xcb_connection_t *c,
4744 uint8_t device_id,
4745 uint8_t mode);
4746
4747/**
4748 *
4749 * @param c The connection
4750 * @return A cookie
4751 *
4752 * Delivers a request to the X server.
4753 *
4754 * This form can be used only if the request will cause
4755 * a reply to be generated. Any returned error will be
4756 * placed in the event queue.
4757 */
4758xcb_input_set_device_mode_cookie_t
4759xcb_input_set_device_mode_unchecked (xcb_connection_t *c,
4760 uint8_t device_id,
4761 uint8_t mode);
4762
4763/**
4764 * Return the reply
4765 * @param c The connection
4766 * @param cookie The cookie
4767 * @param e The xcb_generic_error_t supplied
4768 *
4769 * Returns the reply of the request asked by
4770 *
4771 * The parameter @p e supplied to this function must be NULL if
4772 * xcb_input_set_device_mode_unchecked(). is used.
4773 * Otherwise, it stores the error if any.
4774 *
4775 * The returned value must be freed by the caller using free().
4776 */
4777xcb_input_set_device_mode_reply_t *
4778xcb_input_set_device_mode_reply (xcb_connection_t *c,
4779 xcb_input_set_device_mode_cookie_t cookie /**< */,
4780 xcb_generic_error_t **e);
4781
4782int
4783xcb_input_select_extension_event_sizeof (const void *_buffer);
4784
4785/**
4786 *
4787 * @param c The connection
4788 * @return A cookie
4789 *
4790 * Delivers a request to the X server.
4791 *
4792 * This form can be used only if the request will not cause
4793 * a reply to be generated. Any returned error will be
4794 * saved for handling by xcb_request_check().
4795 */
4796xcb_void_cookie_t
4797xcb_input_select_extension_event_checked (xcb_connection_t *c,
4798 xcb_window_t window,
4799 uint16_t num_classes,
4800 const xcb_input_event_class_t *classes);
4801
4802/**
4803 *
4804 * @param c The connection
4805 * @return A cookie
4806 *
4807 * Delivers a request to the X server.
4808 *
4809 */
4810xcb_void_cookie_t
4811xcb_input_select_extension_event (xcb_connection_t *c,
4812 xcb_window_t window,
4813 uint16_t num_classes,
4814 const xcb_input_event_class_t *classes);
4815
4816xcb_input_event_class_t *
4817xcb_input_select_extension_event_classes (const xcb_input_select_extension_event_request_t *R);
4818
4819int
4820xcb_input_select_extension_event_classes_length (const xcb_input_select_extension_event_request_t *R);
4821
4822xcb_generic_iterator_t
4823xcb_input_select_extension_event_classes_end (const xcb_input_select_extension_event_request_t *R);
4824
4825int
4826xcb_input_get_selected_extension_events_sizeof (const void *_buffer);
4827
4828/**
4829 *
4830 * @param c The connection
4831 * @return A cookie
4832 *
4833 * Delivers a request to the X server.
4834 *
4835 */
4836xcb_input_get_selected_extension_events_cookie_t
4837xcb_input_get_selected_extension_events (xcb_connection_t *c,
4838 xcb_window_t window);
4839
4840/**
4841 *
4842 * @param c The connection
4843 * @return A cookie
4844 *
4845 * Delivers a request to the X server.
4846 *
4847 * This form can be used only if the request will cause
4848 * a reply to be generated. Any returned error will be
4849 * placed in the event queue.
4850 */
4851xcb_input_get_selected_extension_events_cookie_t
4852xcb_input_get_selected_extension_events_unchecked (xcb_connection_t *c,
4853 xcb_window_t window);
4854
4855xcb_input_event_class_t *
4856xcb_input_get_selected_extension_events_this_classes (const xcb_input_get_selected_extension_events_reply_t *R);
4857
4858int
4859xcb_input_get_selected_extension_events_this_classes_length (const xcb_input_get_selected_extension_events_reply_t *R);
4860
4861xcb_generic_iterator_t
4862xcb_input_get_selected_extension_events_this_classes_end (const xcb_input_get_selected_extension_events_reply_t *R);
4863
4864xcb_input_event_class_t *
4865xcb_input_get_selected_extension_events_all_classes (const xcb_input_get_selected_extension_events_reply_t *R);
4866
4867int
4868xcb_input_get_selected_extension_events_all_classes_length (const xcb_input_get_selected_extension_events_reply_t *R);
4869
4870xcb_generic_iterator_t
4871xcb_input_get_selected_extension_events_all_classes_end (const xcb_input_get_selected_extension_events_reply_t *R);
4872
4873/**
4874 * Return the reply
4875 * @param c The connection
4876 * @param cookie The cookie
4877 * @param e The xcb_generic_error_t supplied
4878 *
4879 * Returns the reply of the request asked by
4880 *
4881 * The parameter @p e supplied to this function must be NULL if
4882 * xcb_input_get_selected_extension_events_unchecked(). is used.
4883 * Otherwise, it stores the error if any.
4884 *
4885 * The returned value must be freed by the caller using free().
4886 */
4887xcb_input_get_selected_extension_events_reply_t *
4888xcb_input_get_selected_extension_events_reply (xcb_connection_t *c,
4889 xcb_input_get_selected_extension_events_cookie_t cookie /**< */,
4890 xcb_generic_error_t **e);
4891
4892int
4893xcb_input_change_device_dont_propagate_list_sizeof (const void *_buffer);
4894
4895/**
4896 *
4897 * @param c The connection
4898 * @return A cookie
4899 *
4900 * Delivers a request to the X server.
4901 *
4902 * This form can be used only if the request will not cause
4903 * a reply to be generated. Any returned error will be
4904 * saved for handling by xcb_request_check().
4905 */
4906xcb_void_cookie_t
4907xcb_input_change_device_dont_propagate_list_checked (xcb_connection_t *c,
4908 xcb_window_t window,
4909 uint16_t num_classes,
4910 uint8_t mode,
4911 const xcb_input_event_class_t *classes);
4912
4913/**
4914 *
4915 * @param c The connection
4916 * @return A cookie
4917 *
4918 * Delivers a request to the X server.
4919 *
4920 */
4921xcb_void_cookie_t
4922xcb_input_change_device_dont_propagate_list (xcb_connection_t *c,
4923 xcb_window_t window,
4924 uint16_t num_classes,
4925 uint8_t mode,
4926 const xcb_input_event_class_t *classes);
4927
4928xcb_input_event_class_t *
4929xcb_input_change_device_dont_propagate_list_classes (const xcb_input_change_device_dont_propagate_list_request_t *R);
4930
4931int
4932xcb_input_change_device_dont_propagate_list_classes_length (const xcb_input_change_device_dont_propagate_list_request_t *R);
4933
4934xcb_generic_iterator_t
4935xcb_input_change_device_dont_propagate_list_classes_end (const xcb_input_change_device_dont_propagate_list_request_t *R);
4936
4937int
4938xcb_input_get_device_dont_propagate_list_sizeof (const void *_buffer);
4939
4940/**
4941 *
4942 * @param c The connection
4943 * @return A cookie
4944 *
4945 * Delivers a request to the X server.
4946 *
4947 */
4948xcb_input_get_device_dont_propagate_list_cookie_t
4949xcb_input_get_device_dont_propagate_list (xcb_connection_t *c,
4950 xcb_window_t window);
4951
4952/**
4953 *
4954 * @param c The connection
4955 * @return A cookie
4956 *
4957 * Delivers a request to the X server.
4958 *
4959 * This form can be used only if the request will cause
4960 * a reply to be generated. Any returned error will be
4961 * placed in the event queue.
4962 */
4963xcb_input_get_device_dont_propagate_list_cookie_t
4964xcb_input_get_device_dont_propagate_list_unchecked (xcb_connection_t *c,
4965 xcb_window_t window);
4966
4967xcb_input_event_class_t *
4968xcb_input_get_device_dont_propagate_list_classes (const xcb_input_get_device_dont_propagate_list_reply_t *R);
4969
4970int
4971xcb_input_get_device_dont_propagate_list_classes_length (const xcb_input_get_device_dont_propagate_list_reply_t *R);
4972
4973xcb_generic_iterator_t
4974xcb_input_get_device_dont_propagate_list_classes_end (const xcb_input_get_device_dont_propagate_list_reply_t *R);
4975
4976/**
4977 * Return the reply
4978 * @param c The connection
4979 * @param cookie The cookie
4980 * @param e The xcb_generic_error_t supplied
4981 *
4982 * Returns the reply of the request asked by
4983 *
4984 * The parameter @p e supplied to this function must be NULL if
4985 * xcb_input_get_device_dont_propagate_list_unchecked(). is used.
4986 * Otherwise, it stores the error if any.
4987 *
4988 * The returned value must be freed by the caller using free().
4989 */
4990xcb_input_get_device_dont_propagate_list_reply_t *
4991xcb_input_get_device_dont_propagate_list_reply (xcb_connection_t *c,
4992 xcb_input_get_device_dont_propagate_list_cookie_t cookie /**< */,
4993 xcb_generic_error_t **e);
4994
4995int
4996xcb_input_device_time_coord_sizeof (const void *_buffer,
4997 uint8_t num_axes);
4998
4999int32_t *
5000xcb_input_device_time_coord_axisvalues (const xcb_input_device_time_coord_t *R);
5001
5002int
5003xcb_input_device_time_coord_axisvalues_length (const xcb_input_device_time_coord_t *R,
5004 uint8_t num_axes);
5005
5006xcb_generic_iterator_t
5007xcb_input_device_time_coord_axisvalues_end (const xcb_input_device_time_coord_t *R,
5008 uint8_t num_axes);
5009
5010/**
5011 * Get the next element of the iterator
5012 * @param i Pointer to a xcb_input_device_time_coord_iterator_t
5013 *
5014 * Get the next element in the iterator. The member rem is
5015 * decreased by one. The member data points to the next
5016 * element. The member index is increased by sizeof(xcb_input_device_time_coord_t)
5017 */
5018void
5019xcb_input_device_time_coord_next (xcb_input_device_time_coord_iterator_t *i);
5020
5021/**
5022 * Return the iterator pointing to the last element
5023 * @param i An xcb_input_device_time_coord_iterator_t
5024 * @return The iterator pointing to the last element
5025 *
5026 * Set the current element in the iterator to the last element.
5027 * The member rem is set to 0. The member data points to the
5028 * last element.
5029 */
5030xcb_generic_iterator_t
5031xcb_input_device_time_coord_end (xcb_input_device_time_coord_iterator_t i);
5032
5033int
5034xcb_input_get_device_motion_events_sizeof (const void *_buffer);
5035
5036/**
5037 *
5038 * @param c The connection
5039 * @return A cookie
5040 *
5041 * Delivers a request to the X server.
5042 *
5043 */
5044xcb_input_get_device_motion_events_cookie_t
5045xcb_input_get_device_motion_events (xcb_connection_t *c,
5046 xcb_timestamp_t start,
5047 xcb_timestamp_t stop,
5048 uint8_t device_id);
5049
5050/**
5051 *
5052 * @param c The connection
5053 * @return A cookie
5054 *
5055 * Delivers a request to the X server.
5056 *
5057 * This form can be used only if the request will cause
5058 * a reply to be generated. Any returned error will be
5059 * placed in the event queue.
5060 */
5061xcb_input_get_device_motion_events_cookie_t
5062xcb_input_get_device_motion_events_unchecked (xcb_connection_t *c,
5063 xcb_timestamp_t start,
5064 xcb_timestamp_t stop,
5065 uint8_t device_id);
5066
5067int
5068xcb_input_get_device_motion_events_events_length (const xcb_input_get_device_motion_events_reply_t *R);
5069
5070xcb_input_device_time_coord_iterator_t
5071xcb_input_get_device_motion_events_events_iterator (const xcb_input_get_device_motion_events_reply_t *R);
5072
5073/**
5074 * Return the reply
5075 * @param c The connection
5076 * @param cookie The cookie
5077 * @param e The xcb_generic_error_t supplied
5078 *
5079 * Returns the reply of the request asked by
5080 *
5081 * The parameter @p e supplied to this function must be NULL if
5082 * xcb_input_get_device_motion_events_unchecked(). is used.
5083 * Otherwise, it stores the error if any.
5084 *
5085 * The returned value must be freed by the caller using free().
5086 */
5087xcb_input_get_device_motion_events_reply_t *
5088xcb_input_get_device_motion_events_reply (xcb_connection_t *c,
5089 xcb_input_get_device_motion_events_cookie_t cookie /**< */,
5090 xcb_generic_error_t **e);
5091
5092/**
5093 *
5094 * @param c The connection
5095 * @return A cookie
5096 *
5097 * Delivers a request to the X server.
5098 *
5099 */
5100xcb_input_change_keyboard_device_cookie_t
5101xcb_input_change_keyboard_device (xcb_connection_t *c,
5102 uint8_t device_id);
5103
5104/**
5105 *
5106 * @param c The connection
5107 * @return A cookie
5108 *
5109 * Delivers a request to the X server.
5110 *
5111 * This form can be used only if the request will cause
5112 * a reply to be generated. Any returned error will be
5113 * placed in the event queue.
5114 */
5115xcb_input_change_keyboard_device_cookie_t
5116xcb_input_change_keyboard_device_unchecked (xcb_connection_t *c,
5117 uint8_t device_id);
5118
5119/**
5120 * Return the reply
5121 * @param c The connection
5122 * @param cookie The cookie
5123 * @param e The xcb_generic_error_t supplied
5124 *
5125 * Returns the reply of the request asked by
5126 *
5127 * The parameter @p e supplied to this function must be NULL if
5128 * xcb_input_change_keyboard_device_unchecked(). is used.
5129 * Otherwise, it stores the error if any.
5130 *
5131 * The returned value must be freed by the caller using free().
5132 */
5133xcb_input_change_keyboard_device_reply_t *
5134xcb_input_change_keyboard_device_reply (xcb_connection_t *c,
5135 xcb_input_change_keyboard_device_cookie_t cookie /**< */,
5136 xcb_generic_error_t **e);
5137
5138/**
5139 *
5140 * @param c The connection
5141 * @return A cookie
5142 *
5143 * Delivers a request to the X server.
5144 *
5145 */
5146xcb_input_change_pointer_device_cookie_t
5147xcb_input_change_pointer_device (xcb_connection_t *c,
5148 uint8_t x_axis,
5149 uint8_t y_axis,
5150 uint8_t device_id);
5151
5152/**
5153 *
5154 * @param c The connection
5155 * @return A cookie
5156 *
5157 * Delivers a request to the X server.
5158 *
5159 * This form can be used only if the request will cause
5160 * a reply to be generated. Any returned error will be
5161 * placed in the event queue.
5162 */
5163xcb_input_change_pointer_device_cookie_t
5164xcb_input_change_pointer_device_unchecked (xcb_connection_t *c,
5165 uint8_t x_axis,
5166 uint8_t y_axis,
5167 uint8_t device_id);
5168
5169/**
5170 * Return the reply
5171 * @param c The connection
5172 * @param cookie The cookie
5173 * @param e The xcb_generic_error_t supplied
5174 *
5175 * Returns the reply of the request asked by
5176 *
5177 * The parameter @p e supplied to this function must be NULL if
5178 * xcb_input_change_pointer_device_unchecked(). is used.
5179 * Otherwise, it stores the error if any.
5180 *
5181 * The returned value must be freed by the caller using free().
5182 */
5183xcb_input_change_pointer_device_reply_t *
5184xcb_input_change_pointer_device_reply (xcb_connection_t *c,
5185 xcb_input_change_pointer_device_cookie_t cookie /**< */,
5186 xcb_generic_error_t **e);
5187
5188int
5189xcb_input_grab_device_sizeof (const void *_buffer);
5190
5191/**
5192 *
5193 * @param c The connection
5194 * @return A cookie
5195 *
5196 * Delivers a request to the X server.
5197 *
5198 */
5199xcb_input_grab_device_cookie_t
5200xcb_input_grab_device (xcb_connection_t *c,
5201 xcb_window_t grab_window,
5202 xcb_timestamp_t time,
5203 uint16_t num_classes,
5204 uint8_t this_device_mode,
5205 uint8_t other_device_mode,
5206 uint8_t owner_events,
5207 uint8_t device_id,
5208 const xcb_input_event_class_t *classes);
5209
5210/**
5211 *
5212 * @param c The connection
5213 * @return A cookie
5214 *
5215 * Delivers a request to the X server.
5216 *
5217 * This form can be used only if the request will cause
5218 * a reply to be generated. Any returned error will be
5219 * placed in the event queue.
5220 */
5221xcb_input_grab_device_cookie_t
5222xcb_input_grab_device_unchecked (xcb_connection_t *c,
5223 xcb_window_t grab_window,
5224 xcb_timestamp_t time,
5225 uint16_t num_classes,
5226 uint8_t this_device_mode,
5227 uint8_t other_device_mode,
5228 uint8_t owner_events,
5229 uint8_t device_id,
5230 const xcb_input_event_class_t *classes);
5231
5232/**
5233 * Return the reply
5234 * @param c The connection
5235 * @param cookie The cookie
5236 * @param e The xcb_generic_error_t supplied
5237 *
5238 * Returns the reply of the request asked by
5239 *
5240 * The parameter @p e supplied to this function must be NULL if
5241 * xcb_input_grab_device_unchecked(). is used.
5242 * Otherwise, it stores the error if any.
5243 *
5244 * The returned value must be freed by the caller using free().
5245 */
5246xcb_input_grab_device_reply_t *
5247xcb_input_grab_device_reply (xcb_connection_t *c,
5248 xcb_input_grab_device_cookie_t cookie /**< */,
5249 xcb_generic_error_t **e);
5250
5251/**
5252 *
5253 * @param c The connection
5254 * @return A cookie
5255 *
5256 * Delivers a request to the X server.
5257 *
5258 * This form can be used only if the request will not cause
5259 * a reply to be generated. Any returned error will be
5260 * saved for handling by xcb_request_check().
5261 */
5262xcb_void_cookie_t
5263xcb_input_ungrab_device_checked (xcb_connection_t *c,
5264 xcb_timestamp_t time,
5265 uint8_t device_id);
5266
5267/**
5268 *
5269 * @param c The connection
5270 * @return A cookie
5271 *
5272 * Delivers a request to the X server.
5273 *
5274 */
5275xcb_void_cookie_t
5276xcb_input_ungrab_device (xcb_connection_t *c,
5277 xcb_timestamp_t time,
5278 uint8_t device_id);
5279
5280int
5281xcb_input_grab_device_key_sizeof (const void *_buffer);
5282
5283/**
5284 *
5285 * @param c The connection
5286 * @return A cookie
5287 *
5288 * Delivers a request to the X server.
5289 *
5290 * This form can be used only if the request will not cause
5291 * a reply to be generated. Any returned error will be
5292 * saved for handling by xcb_request_check().
5293 */
5294xcb_void_cookie_t
5295xcb_input_grab_device_key_checked (xcb_connection_t *c,
5296 xcb_window_t grab_window,
5297 uint16_t num_classes,
5298 uint16_t modifiers,
5299 uint8_t modifier_device,
5300 uint8_t grabbed_device,
5301 uint8_t key,
5302 uint8_t this_device_mode,
5303 uint8_t other_device_mode,
5304 uint8_t owner_events,
5305 const xcb_input_event_class_t *classes);
5306
5307/**
5308 *
5309 * @param c The connection
5310 * @return A cookie
5311 *
5312 * Delivers a request to the X server.
5313 *
5314 */
5315xcb_void_cookie_t
5316xcb_input_grab_device_key (xcb_connection_t *c,
5317 xcb_window_t grab_window,
5318 uint16_t num_classes,
5319 uint16_t modifiers,
5320 uint8_t modifier_device,
5321 uint8_t grabbed_device,
5322 uint8_t key,
5323 uint8_t this_device_mode,
5324 uint8_t other_device_mode,
5325 uint8_t owner_events,
5326 const xcb_input_event_class_t *classes);
5327
5328xcb_input_event_class_t *
5329xcb_input_grab_device_key_classes (const xcb_input_grab_device_key_request_t *R);
5330
5331int
5332xcb_input_grab_device_key_classes_length (const xcb_input_grab_device_key_request_t *R);
5333
5334xcb_generic_iterator_t
5335xcb_input_grab_device_key_classes_end (const xcb_input_grab_device_key_request_t *R);
5336
5337/**
5338 *
5339 * @param c The connection
5340 * @return A cookie
5341 *
5342 * Delivers a request to the X server.
5343 *
5344 * This form can be used only if the request will not cause
5345 * a reply to be generated. Any returned error will be
5346 * saved for handling by xcb_request_check().
5347 */
5348xcb_void_cookie_t
5349xcb_input_ungrab_device_key_checked (xcb_connection_t *c,
5350 xcb_window_t grabWindow,
5351 uint16_t modifiers,
5352 uint8_t modifier_device,
5353 uint8_t key,
5354 uint8_t grabbed_device);
5355
5356/**
5357 *
5358 * @param c The connection
5359 * @return A cookie
5360 *
5361 * Delivers a request to the X server.
5362 *
5363 */
5364xcb_void_cookie_t
5365xcb_input_ungrab_device_key (xcb_connection_t *c,
5366 xcb_window_t grabWindow,
5367 uint16_t modifiers,
5368 uint8_t modifier_device,
5369 uint8_t key,
5370 uint8_t grabbed_device);
5371
5372int
5373xcb_input_grab_device_button_sizeof (const void *_buffer);
5374
5375/**
5376 *
5377 * @param c The connection
5378 * @return A cookie
5379 *
5380 * Delivers a request to the X server.
5381 *
5382 * This form can be used only if the request will not cause
5383 * a reply to be generated. Any returned error will be
5384 * saved for handling by xcb_request_check().
5385 */
5386xcb_void_cookie_t
5387xcb_input_grab_device_button_checked (xcb_connection_t *c,
5388 xcb_window_t grab_window,
5389 uint8_t grabbed_device,
5390 uint8_t modifier_device,
5391 uint16_t num_classes,
5392 uint16_t modifiers,
5393 uint8_t this_device_mode,
5394 uint8_t other_device_mode,
5395 uint8_t button,
5396 uint8_t owner_events,
5397 const xcb_input_event_class_t *classes);
5398
5399/**
5400 *
5401 * @param c The connection
5402 * @return A cookie
5403 *
5404 * Delivers a request to the X server.
5405 *
5406 */
5407xcb_void_cookie_t
5408xcb_input_grab_device_button (xcb_connection_t *c,
5409 xcb_window_t grab_window,
5410 uint8_t grabbed_device,
5411 uint8_t modifier_device,
5412 uint16_t num_classes,
5413 uint16_t modifiers,
5414 uint8_t this_device_mode,
5415 uint8_t other_device_mode,
5416 uint8_t button,
5417 uint8_t owner_events,
5418 const xcb_input_event_class_t *classes);
5419
5420xcb_input_event_class_t *
5421xcb_input_grab_device_button_classes (const xcb_input_grab_device_button_request_t *R);
5422
5423int
5424xcb_input_grab_device_button_classes_length (const xcb_input_grab_device_button_request_t *R);
5425
5426xcb_generic_iterator_t
5427xcb_input_grab_device_button_classes_end (const xcb_input_grab_device_button_request_t *R);
5428
5429/**
5430 *
5431 * @param c The connection
5432 * @return A cookie
5433 *
5434 * Delivers a request to the X server.
5435 *
5436 * This form can be used only if the request will not cause
5437 * a reply to be generated. Any returned error will be
5438 * saved for handling by xcb_request_check().
5439 */
5440xcb_void_cookie_t
5441xcb_input_ungrab_device_button_checked (xcb_connection_t *c,
5442 xcb_window_t grab_window,
5443 uint16_t modifiers,
5444 uint8_t modifier_device,
5445 uint8_t button,
5446 uint8_t grabbed_device);
5447
5448/**
5449 *
5450 * @param c The connection
5451 * @return A cookie
5452 *
5453 * Delivers a request to the X server.
5454 *
5455 */
5456xcb_void_cookie_t
5457xcb_input_ungrab_device_button (xcb_connection_t *c,
5458 xcb_window_t grab_window,
5459 uint16_t modifiers,
5460 uint8_t modifier_device,
5461 uint8_t button,
5462 uint8_t grabbed_device);
5463
5464/**
5465 *
5466 * @param c The connection
5467 * @return A cookie
5468 *
5469 * Delivers a request to the X server.
5470 *
5471 * This form can be used only if the request will not cause
5472 * a reply to be generated. Any returned error will be
5473 * saved for handling by xcb_request_check().
5474 */
5475xcb_void_cookie_t
5476xcb_input_allow_device_events_checked (xcb_connection_t *c,
5477 xcb_timestamp_t time,
5478 uint8_t mode,
5479 uint8_t device_id);
5480
5481/**
5482 *
5483 * @param c The connection
5484 * @return A cookie
5485 *
5486 * Delivers a request to the X server.
5487 *
5488 */
5489xcb_void_cookie_t
5490xcb_input_allow_device_events (xcb_connection_t *c,
5491 xcb_timestamp_t time,
5492 uint8_t mode,
5493 uint8_t device_id);
5494
5495/**
5496 *
5497 * @param c The connection
5498 * @return A cookie
5499 *
5500 * Delivers a request to the X server.
5501 *
5502 */
5503xcb_input_get_device_focus_cookie_t
5504xcb_input_get_device_focus (xcb_connection_t *c,
5505 uint8_t device_id);
5506
5507/**
5508 *
5509 * @param c The connection
5510 * @return A cookie
5511 *
5512 * Delivers a request to the X server.
5513 *
5514 * This form can be used only if the request will cause
5515 * a reply to be generated. Any returned error will be
5516 * placed in the event queue.
5517 */
5518xcb_input_get_device_focus_cookie_t
5519xcb_input_get_device_focus_unchecked (xcb_connection_t *c,
5520 uint8_t device_id);
5521
5522/**
5523 * Return the reply
5524 * @param c The connection
5525 * @param cookie The cookie
5526 * @param e The xcb_generic_error_t supplied
5527 *
5528 * Returns the reply of the request asked by
5529 *
5530 * The parameter @p e supplied to this function must be NULL if
5531 * xcb_input_get_device_focus_unchecked(). is used.
5532 * Otherwise, it stores the error if any.
5533 *
5534 * The returned value must be freed by the caller using free().
5535 */
5536xcb_input_get_device_focus_reply_t *
5537xcb_input_get_device_focus_reply (xcb_connection_t *c,
5538 xcb_input_get_device_focus_cookie_t cookie /**< */,
5539 xcb_generic_error_t **e);
5540
5541/**
5542 *
5543 * @param c The connection
5544 * @return A cookie
5545 *
5546 * Delivers a request to the X server.
5547 *
5548 * This form can be used only if the request will not cause
5549 * a reply to be generated. Any returned error will be
5550 * saved for handling by xcb_request_check().
5551 */
5552xcb_void_cookie_t
5553xcb_input_set_device_focus_checked (xcb_connection_t *c,
5554 xcb_window_t focus,
5555 xcb_timestamp_t time,
5556 uint8_t revert_to,
5557 uint8_t device_id);
5558
5559/**
5560 *
5561 * @param c The connection
5562 * @return A cookie
5563 *
5564 * Delivers a request to the X server.
5565 *
5566 */
5567xcb_void_cookie_t
5568xcb_input_set_device_focus (xcb_connection_t *c,
5569 xcb_window_t focus,
5570 xcb_timestamp_t time,
5571 uint8_t revert_to,
5572 uint8_t device_id);
5573
5574/**
5575 * Get the next element of the iterator
5576 * @param i Pointer to a xcb_input_kbd_feedback_state_iterator_t
5577 *
5578 * Get the next element in the iterator. The member rem is
5579 * decreased by one. The member data points to the next
5580 * element. The member index is increased by sizeof(xcb_input_kbd_feedback_state_t)
5581 */
5582void
5583xcb_input_kbd_feedback_state_next (xcb_input_kbd_feedback_state_iterator_t *i);
5584
5585/**
5586 * Return the iterator pointing to the last element
5587 * @param i An xcb_input_kbd_feedback_state_iterator_t
5588 * @return The iterator pointing to the last element
5589 *
5590 * Set the current element in the iterator to the last element.
5591 * The member rem is set to 0. The member data points to the
5592 * last element.
5593 */
5594xcb_generic_iterator_t
5595xcb_input_kbd_feedback_state_end (xcb_input_kbd_feedback_state_iterator_t i);
5596
5597/**
5598 * Get the next element of the iterator
5599 * @param i Pointer to a xcb_input_ptr_feedback_state_iterator_t
5600 *
5601 * Get the next element in the iterator. The member rem is
5602 * decreased by one. The member data points to the next
5603 * element. The member index is increased by sizeof(xcb_input_ptr_feedback_state_t)
5604 */
5605void
5606xcb_input_ptr_feedback_state_next (xcb_input_ptr_feedback_state_iterator_t *i);
5607
5608/**
5609 * Return the iterator pointing to the last element
5610 * @param i An xcb_input_ptr_feedback_state_iterator_t
5611 * @return The iterator pointing to the last element
5612 *
5613 * Set the current element in the iterator to the last element.
5614 * The member rem is set to 0. The member data points to the
5615 * last element.
5616 */
5617xcb_generic_iterator_t
5618xcb_input_ptr_feedback_state_end (xcb_input_ptr_feedback_state_iterator_t i);
5619
5620/**
5621 * Get the next element of the iterator
5622 * @param i Pointer to a xcb_input_integer_feedback_state_iterator_t
5623 *
5624 * Get the next element in the iterator. The member rem is
5625 * decreased by one. The member data points to the next
5626 * element. The member index is increased by sizeof(xcb_input_integer_feedback_state_t)
5627 */
5628void
5629xcb_input_integer_feedback_state_next (xcb_input_integer_feedback_state_iterator_t *i);
5630
5631/**
5632 * Return the iterator pointing to the last element
5633 * @param i An xcb_input_integer_feedback_state_iterator_t
5634 * @return The iterator pointing to the last element
5635 *
5636 * Set the current element in the iterator to the last element.
5637 * The member rem is set to 0. The member data points to the
5638 * last element.
5639 */
5640xcb_generic_iterator_t
5641xcb_input_integer_feedback_state_end (xcb_input_integer_feedback_state_iterator_t i);
5642
5643int
5644xcb_input_string_feedback_state_sizeof (const void *_buffer);
5645
5646xcb_keysym_t *
5647xcb_input_string_feedback_state_keysyms (const xcb_input_string_feedback_state_t *R);
5648
5649int
5650xcb_input_string_feedback_state_keysyms_length (const xcb_input_string_feedback_state_t *R);
5651
5652xcb_generic_iterator_t
5653xcb_input_string_feedback_state_keysyms_end (const xcb_input_string_feedback_state_t *R);
5654
5655/**
5656 * Get the next element of the iterator
5657 * @param i Pointer to a xcb_input_string_feedback_state_iterator_t
5658 *
5659 * Get the next element in the iterator. The member rem is
5660 * decreased by one. The member data points to the next
5661 * element. The member index is increased by sizeof(xcb_input_string_feedback_state_t)
5662 */
5663void
5664xcb_input_string_feedback_state_next (xcb_input_string_feedback_state_iterator_t *i);
5665
5666/**
5667 * Return the iterator pointing to the last element
5668 * @param i An xcb_input_string_feedback_state_iterator_t
5669 * @return The iterator pointing to the last element
5670 *
5671 * Set the current element in the iterator to the last element.
5672 * The member rem is set to 0. The member data points to the
5673 * last element.
5674 */
5675xcb_generic_iterator_t
5676xcb_input_string_feedback_state_end (xcb_input_string_feedback_state_iterator_t i);
5677
5678/**
5679 * Get the next element of the iterator
5680 * @param i Pointer to a xcb_input_bell_feedback_state_iterator_t
5681 *
5682 * Get the next element in the iterator. The member rem is
5683 * decreased by one. The member data points to the next
5684 * element. The member index is increased by sizeof(xcb_input_bell_feedback_state_t)
5685 */
5686void
5687xcb_input_bell_feedback_state_next (xcb_input_bell_feedback_state_iterator_t *i);
5688
5689/**
5690 * Return the iterator pointing to the last element
5691 * @param i An xcb_input_bell_feedback_state_iterator_t
5692 * @return The iterator pointing to the last element
5693 *
5694 * Set the current element in the iterator to the last element.
5695 * The member rem is set to 0. The member data points to the
5696 * last element.
5697 */
5698xcb_generic_iterator_t
5699xcb_input_bell_feedback_state_end (xcb_input_bell_feedback_state_iterator_t i);
5700
5701/**
5702 * Get the next element of the iterator
5703 * @param i Pointer to a xcb_input_led_feedback_state_iterator_t
5704 *
5705 * Get the next element in the iterator. The member rem is
5706 * decreased by one. The member data points to the next
5707 * element. The member index is increased by sizeof(xcb_input_led_feedback_state_t)
5708 */
5709void
5710xcb_input_led_feedback_state_next (xcb_input_led_feedback_state_iterator_t *i);
5711
5712/**
5713 * Return the iterator pointing to the last element
5714 * @param i An xcb_input_led_feedback_state_iterator_t
5715 * @return The iterator pointing to the last element
5716 *
5717 * Set the current element in the iterator to the last element.
5718 * The member rem is set to 0. The member data points to the
5719 * last element.
5720 */
5721xcb_generic_iterator_t
5722xcb_input_led_feedback_state_end (xcb_input_led_feedback_state_iterator_t i);
5723
5724xcb_keysym_t *
5725xcb_input_feedback_state_data_string_keysyms (const xcb_input_feedback_state_data_t *S);
5726
5727int
5728xcb_input_feedback_state_data_string_keysyms_length (const xcb_input_feedback_state_t *R,
5729 const xcb_input_feedback_state_data_t *S);
5730
5731xcb_generic_iterator_t
5732xcb_input_feedback_state_data_string_keysyms_end (const xcb_input_feedback_state_t *R,
5733 const xcb_input_feedback_state_data_t *S);
5734
5735int
5736xcb_input_feedback_state_data_serialize (void **_buffer,
5737 uint8_t class_id,
5738 const xcb_input_feedback_state_data_t *_aux);
5739
5740int
5741xcb_input_feedback_state_data_unpack (const void *_buffer,
5742 uint8_t class_id,
5743 xcb_input_feedback_state_data_t *_aux);
5744
5745int
5746xcb_input_feedback_state_data_sizeof (const void *_buffer,
5747 uint8_t class_id);
5748
5749int
5750xcb_input_feedback_state_sizeof (const void *_buffer);
5751
5752/**
5753 * Get the next element of the iterator
5754 * @param i Pointer to a xcb_input_feedback_state_iterator_t
5755 *
5756 * Get the next element in the iterator. The member rem is
5757 * decreased by one. The member data points to the next
5758 * element. The member index is increased by sizeof(xcb_input_feedback_state_t)
5759 */
5760void
5761xcb_input_feedback_state_next (xcb_input_feedback_state_iterator_t *i);
5762
5763/**
5764 * Return the iterator pointing to the last element
5765 * @param i An xcb_input_feedback_state_iterator_t
5766 * @return The iterator pointing to the last element
5767 *
5768 * Set the current element in the iterator to the last element.
5769 * The member rem is set to 0. The member data points to the
5770 * last element.
5771 */
5772xcb_generic_iterator_t
5773xcb_input_feedback_state_end (xcb_input_feedback_state_iterator_t i);
5774
5775int
5776xcb_input_get_feedback_control_sizeof (const void *_buffer);
5777
5778/**
5779 *
5780 * @param c The connection
5781 * @return A cookie
5782 *
5783 * Delivers a request to the X server.
5784 *
5785 */
5786xcb_input_get_feedback_control_cookie_t
5787xcb_input_get_feedback_control (xcb_connection_t *c,
5788 uint8_t device_id);
5789
5790/**
5791 *
5792 * @param c The connection
5793 * @return A cookie
5794 *
5795 * Delivers a request to the X server.
5796 *
5797 * This form can be used only if the request will cause
5798 * a reply to be generated. Any returned error will be
5799 * placed in the event queue.
5800 */
5801xcb_input_get_feedback_control_cookie_t
5802xcb_input_get_feedback_control_unchecked (xcb_connection_t *c,
5803 uint8_t device_id);
5804
5805int
5806xcb_input_get_feedback_control_feedbacks_length (const xcb_input_get_feedback_control_reply_t *R);
5807
5808xcb_input_feedback_state_iterator_t
5809xcb_input_get_feedback_control_feedbacks_iterator (const xcb_input_get_feedback_control_reply_t *R);
5810
5811/**
5812 * Return the reply
5813 * @param c The connection
5814 * @param cookie The cookie
5815 * @param e The xcb_generic_error_t supplied
5816 *
5817 * Returns the reply of the request asked by
5818 *
5819 * The parameter @p e supplied to this function must be NULL if
5820 * xcb_input_get_feedback_control_unchecked(). is used.
5821 * Otherwise, it stores the error if any.
5822 *
5823 * The returned value must be freed by the caller using free().
5824 */
5825xcb_input_get_feedback_control_reply_t *
5826xcb_input_get_feedback_control_reply (xcb_connection_t *c,
5827 xcb_input_get_feedback_control_cookie_t cookie /**< */,
5828 xcb_generic_error_t **e);
5829
5830/**
5831 * Get the next element of the iterator
5832 * @param i Pointer to a xcb_input_kbd_feedback_ctl_iterator_t
5833 *
5834 * Get the next element in the iterator. The member rem is
5835 * decreased by one. The member data points to the next
5836 * element. The member index is increased by sizeof(xcb_input_kbd_feedback_ctl_t)
5837 */
5838void
5839xcb_input_kbd_feedback_ctl_next (xcb_input_kbd_feedback_ctl_iterator_t *i);
5840
5841/**
5842 * Return the iterator pointing to the last element
5843 * @param i An xcb_input_kbd_feedback_ctl_iterator_t
5844 * @return The iterator pointing to the last element
5845 *
5846 * Set the current element in the iterator to the last element.
5847 * The member rem is set to 0. The member data points to the
5848 * last element.
5849 */
5850xcb_generic_iterator_t
5851xcb_input_kbd_feedback_ctl_end (xcb_input_kbd_feedback_ctl_iterator_t i);
5852
5853/**
5854 * Get the next element of the iterator
5855 * @param i Pointer to a xcb_input_ptr_feedback_ctl_iterator_t
5856 *
5857 * Get the next element in the iterator. The member rem is
5858 * decreased by one. The member data points to the next
5859 * element. The member index is increased by sizeof(xcb_input_ptr_feedback_ctl_t)
5860 */
5861void
5862xcb_input_ptr_feedback_ctl_next (xcb_input_ptr_feedback_ctl_iterator_t *i);
5863
5864/**
5865 * Return the iterator pointing to the last element
5866 * @param i An xcb_input_ptr_feedback_ctl_iterator_t
5867 * @return The iterator pointing to the last element
5868 *
5869 * Set the current element in the iterator to the last element.
5870 * The member rem is set to 0. The member data points to the
5871 * last element.
5872 */
5873xcb_generic_iterator_t
5874xcb_input_ptr_feedback_ctl_end (xcb_input_ptr_feedback_ctl_iterator_t i);
5875
5876/**
5877 * Get the next element of the iterator
5878 * @param i Pointer to a xcb_input_integer_feedback_ctl_iterator_t
5879 *
5880 * Get the next element in the iterator. The member rem is
5881 * decreased by one. The member data points to the next
5882 * element. The member index is increased by sizeof(xcb_input_integer_feedback_ctl_t)
5883 */
5884void
5885xcb_input_integer_feedback_ctl_next (xcb_input_integer_feedback_ctl_iterator_t *i);
5886
5887/**
5888 * Return the iterator pointing to the last element
5889 * @param i An xcb_input_integer_feedback_ctl_iterator_t
5890 * @return The iterator pointing to the last element
5891 *
5892 * Set the current element in the iterator to the last element.
5893 * The member rem is set to 0. The member data points to the
5894 * last element.
5895 */
5896xcb_generic_iterator_t
5897xcb_input_integer_feedback_ctl_end (xcb_input_integer_feedback_ctl_iterator_t i);
5898
5899int
5900xcb_input_string_feedback_ctl_sizeof (const void *_buffer);
5901
5902xcb_keysym_t *
5903xcb_input_string_feedback_ctl_keysyms (const xcb_input_string_feedback_ctl_t *R);
5904
5905int
5906xcb_input_string_feedback_ctl_keysyms_length (const xcb_input_string_feedback_ctl_t *R);
5907
5908xcb_generic_iterator_t
5909xcb_input_string_feedback_ctl_keysyms_end (const xcb_input_string_feedback_ctl_t *R);
5910
5911/**
5912 * Get the next element of the iterator
5913 * @param i Pointer to a xcb_input_string_feedback_ctl_iterator_t
5914 *
5915 * Get the next element in the iterator. The member rem is
5916 * decreased by one. The member data points to the next
5917 * element. The member index is increased by sizeof(xcb_input_string_feedback_ctl_t)
5918 */
5919void
5920xcb_input_string_feedback_ctl_next (xcb_input_string_feedback_ctl_iterator_t *i);
5921
5922/**
5923 * Return the iterator pointing to the last element
5924 * @param i An xcb_input_string_feedback_ctl_iterator_t
5925 * @return The iterator pointing to the last element
5926 *
5927 * Set the current element in the iterator to the last element.
5928 * The member rem is set to 0. The member data points to the
5929 * last element.
5930 */
5931xcb_generic_iterator_t
5932xcb_input_string_feedback_ctl_end (xcb_input_string_feedback_ctl_iterator_t i);
5933
5934/**
5935 * Get the next element of the iterator
5936 * @param i Pointer to a xcb_input_bell_feedback_ctl_iterator_t
5937 *
5938 * Get the next element in the iterator. The member rem is
5939 * decreased by one. The member data points to the next
5940 * element. The member index is increased by sizeof(xcb_input_bell_feedback_ctl_t)
5941 */
5942void
5943xcb_input_bell_feedback_ctl_next (xcb_input_bell_feedback_ctl_iterator_t *i);
5944
5945/**
5946 * Return the iterator pointing to the last element
5947 * @param i An xcb_input_bell_feedback_ctl_iterator_t
5948 * @return The iterator pointing to the last element
5949 *
5950 * Set the current element in the iterator to the last element.
5951 * The member rem is set to 0. The member data points to the
5952 * last element.
5953 */
5954xcb_generic_iterator_t
5955xcb_input_bell_feedback_ctl_end (xcb_input_bell_feedback_ctl_iterator_t i);
5956
5957/**
5958 * Get the next element of the iterator
5959 * @param i Pointer to a xcb_input_led_feedback_ctl_iterator_t
5960 *
5961 * Get the next element in the iterator. The member rem is
5962 * decreased by one. The member data points to the next
5963 * element. The member index is increased by sizeof(xcb_input_led_feedback_ctl_t)
5964 */
5965void
5966xcb_input_led_feedback_ctl_next (xcb_input_led_feedback_ctl_iterator_t *i);
5967
5968/**
5969 * Return the iterator pointing to the last element
5970 * @param i An xcb_input_led_feedback_ctl_iterator_t
5971 * @return The iterator pointing to the last element
5972 *
5973 * Set the current element in the iterator to the last element.
5974 * The member rem is set to 0. The member data points to the
5975 * last element.
5976 */
5977xcb_generic_iterator_t
5978xcb_input_led_feedback_ctl_end (xcb_input_led_feedback_ctl_iterator_t i);
5979
5980xcb_keysym_t *
5981xcb_input_feedback_ctl_data_string_keysyms (const xcb_input_feedback_ctl_data_t *S);
5982
5983int
5984xcb_input_feedback_ctl_data_string_keysyms_length (const xcb_input_feedback_ctl_t *R,
5985 const xcb_input_feedback_ctl_data_t *S);
5986
5987xcb_generic_iterator_t
5988xcb_input_feedback_ctl_data_string_keysyms_end (const xcb_input_feedback_ctl_t *R,
5989 const xcb_input_feedback_ctl_data_t *S);
5990
5991int
5992xcb_input_feedback_ctl_data_serialize (void **_buffer,
5993 uint8_t class_id,
5994 const xcb_input_feedback_ctl_data_t *_aux);
5995
5996int
5997xcb_input_feedback_ctl_data_unpack (const void *_buffer,
5998 uint8_t class_id,
5999 xcb_input_feedback_ctl_data_t *_aux);
6000
6001int
6002xcb_input_feedback_ctl_data_sizeof (const void *_buffer,
6003 uint8_t class_id);
6004
6005int
6006xcb_input_feedback_ctl_sizeof (const void *_buffer);
6007
6008/**
6009 * Get the next element of the iterator
6010 * @param i Pointer to a xcb_input_feedback_ctl_iterator_t
6011 *
6012 * Get the next element in the iterator. The member rem is
6013 * decreased by one. The member data points to the next
6014 * element. The member index is increased by sizeof(xcb_input_feedback_ctl_t)
6015 */
6016void
6017xcb_input_feedback_ctl_next (xcb_input_feedback_ctl_iterator_t *i);
6018
6019/**
6020 * Return the iterator pointing to the last element
6021 * @param i An xcb_input_feedback_ctl_iterator_t
6022 * @return The iterator pointing to the last element
6023 *
6024 * Set the current element in the iterator to the last element.
6025 * The member rem is set to 0. The member data points to the
6026 * last element.
6027 */
6028xcb_generic_iterator_t
6029xcb_input_feedback_ctl_end (xcb_input_feedback_ctl_iterator_t i);
6030
6031int
6032xcb_input_change_feedback_control_sizeof (const void *_buffer);
6033
6034/**
6035 *
6036 * @param c The connection
6037 * @return A cookie
6038 *
6039 * Delivers a request to the X server.
6040 *
6041 * This form can be used only if the request will not cause
6042 * a reply to be generated. Any returned error will be
6043 * saved for handling by xcb_request_check().
6044 */
6045xcb_void_cookie_t
6046xcb_input_change_feedback_control_checked (xcb_connection_t *c,
6047 uint32_t mask,
6048 uint8_t device_id,
6049 uint8_t feedback_id,
6050 xcb_input_feedback_ctl_t *feedback);
6051
6052/**
6053 *
6054 * @param c The connection
6055 * @return A cookie
6056 *
6057 * Delivers a request to the X server.
6058 *
6059 */
6060xcb_void_cookie_t
6061xcb_input_change_feedback_control (xcb_connection_t *c,
6062 uint32_t mask,
6063 uint8_t device_id,
6064 uint8_t feedback_id,
6065 xcb_input_feedback_ctl_t *feedback);
6066
6067xcb_input_feedback_ctl_t *
6068xcb_input_change_feedback_control_feedback (const xcb_input_change_feedback_control_request_t *R);
6069
6070int
6071xcb_input_get_device_key_mapping_sizeof (const void *_buffer);
6072
6073/**
6074 *
6075 * @param c The connection
6076 * @return A cookie
6077 *
6078 * Delivers a request to the X server.
6079 *
6080 */
6081xcb_input_get_device_key_mapping_cookie_t
6082xcb_input_get_device_key_mapping (xcb_connection_t *c,
6083 uint8_t device_id,
6084 xcb_input_key_code_t first_keycode,
6085 uint8_t count);
6086
6087/**
6088 *
6089 * @param c The connection
6090 * @return A cookie
6091 *
6092 * Delivers a request to the X server.
6093 *
6094 * This form can be used only if the request will cause
6095 * a reply to be generated. Any returned error will be
6096 * placed in the event queue.
6097 */
6098xcb_input_get_device_key_mapping_cookie_t
6099xcb_input_get_device_key_mapping_unchecked (xcb_connection_t *c,
6100 uint8_t device_id,
6101 xcb_input_key_code_t first_keycode,
6102 uint8_t count);
6103
6104xcb_keysym_t *
6105xcb_input_get_device_key_mapping_keysyms (const xcb_input_get_device_key_mapping_reply_t *R);
6106
6107int
6108xcb_input_get_device_key_mapping_keysyms_length (const xcb_input_get_device_key_mapping_reply_t *R);
6109
6110xcb_generic_iterator_t
6111xcb_input_get_device_key_mapping_keysyms_end (const xcb_input_get_device_key_mapping_reply_t *R);
6112
6113/**
6114 * Return the reply
6115 * @param c The connection
6116 * @param cookie The cookie
6117 * @param e The xcb_generic_error_t supplied
6118 *
6119 * Returns the reply of the request asked by
6120 *
6121 * The parameter @p e supplied to this function must be NULL if
6122 * xcb_input_get_device_key_mapping_unchecked(). is used.
6123 * Otherwise, it stores the error if any.
6124 *
6125 * The returned value must be freed by the caller using free().
6126 */
6127xcb_input_get_device_key_mapping_reply_t *
6128xcb_input_get_device_key_mapping_reply (xcb_connection_t *c,
6129 xcb_input_get_device_key_mapping_cookie_t cookie /**< */,
6130 xcb_generic_error_t **e);
6131
6132int
6133xcb_input_change_device_key_mapping_sizeof (const void *_buffer);
6134
6135/**
6136 *
6137 * @param c The connection
6138 * @return A cookie
6139 *
6140 * Delivers a request to the X server.
6141 *
6142 * This form can be used only if the request will not cause
6143 * a reply to be generated. Any returned error will be
6144 * saved for handling by xcb_request_check().
6145 */
6146xcb_void_cookie_t
6147xcb_input_change_device_key_mapping_checked (xcb_connection_t *c,
6148 uint8_t device_id,
6149 xcb_input_key_code_t first_keycode,
6150 uint8_t keysyms_per_keycode,
6151 uint8_t keycode_count,
6152 const xcb_keysym_t *keysyms);
6153
6154/**
6155 *
6156 * @param c The connection
6157 * @return A cookie
6158 *
6159 * Delivers a request to the X server.
6160 *
6161 */
6162xcb_void_cookie_t
6163xcb_input_change_device_key_mapping (xcb_connection_t *c,
6164 uint8_t device_id,
6165 xcb_input_key_code_t first_keycode,
6166 uint8_t keysyms_per_keycode,
6167 uint8_t keycode_count,
6168 const xcb_keysym_t *keysyms);
6169
6170xcb_keysym_t *
6171xcb_input_change_device_key_mapping_keysyms (const xcb_input_change_device_key_mapping_request_t *R);
6172
6173int
6174xcb_input_change_device_key_mapping_keysyms_length (const xcb_input_change_device_key_mapping_request_t *R);
6175
6176xcb_generic_iterator_t
6177xcb_input_change_device_key_mapping_keysyms_end (const xcb_input_change_device_key_mapping_request_t *R);
6178
6179int
6180xcb_input_get_device_modifier_mapping_sizeof (const void *_buffer);
6181
6182/**
6183 *
6184 * @param c The connection
6185 * @return A cookie
6186 *
6187 * Delivers a request to the X server.
6188 *
6189 */
6190xcb_input_get_device_modifier_mapping_cookie_t
6191xcb_input_get_device_modifier_mapping (xcb_connection_t *c,
6192 uint8_t device_id);
6193
6194/**
6195 *
6196 * @param c The connection
6197 * @return A cookie
6198 *
6199 * Delivers a request to the X server.
6200 *
6201 * This form can be used only if the request will cause
6202 * a reply to be generated. Any returned error will be
6203 * placed in the event queue.
6204 */
6205xcb_input_get_device_modifier_mapping_cookie_t
6206xcb_input_get_device_modifier_mapping_unchecked (xcb_connection_t *c,
6207 uint8_t device_id);
6208
6209uint8_t *
6210xcb_input_get_device_modifier_mapping_keymaps (const xcb_input_get_device_modifier_mapping_reply_t *R);
6211
6212int
6213xcb_input_get_device_modifier_mapping_keymaps_length (const xcb_input_get_device_modifier_mapping_reply_t *R);
6214
6215xcb_generic_iterator_t
6216xcb_input_get_device_modifier_mapping_keymaps_end (const xcb_input_get_device_modifier_mapping_reply_t *R);
6217
6218/**
6219 * Return the reply
6220 * @param c The connection
6221 * @param cookie The cookie
6222 * @param e The xcb_generic_error_t supplied
6223 *
6224 * Returns the reply of the request asked by
6225 *
6226 * The parameter @p e supplied to this function must be NULL if
6227 * xcb_input_get_device_modifier_mapping_unchecked(). is used.
6228 * Otherwise, it stores the error if any.
6229 *
6230 * The returned value must be freed by the caller using free().
6231 */
6232xcb_input_get_device_modifier_mapping_reply_t *
6233xcb_input_get_device_modifier_mapping_reply (xcb_connection_t *c,
6234 xcb_input_get_device_modifier_mapping_cookie_t cookie /**< */,
6235 xcb_generic_error_t **e);
6236
6237int
6238xcb_input_set_device_modifier_mapping_sizeof (const void *_buffer);
6239
6240/**
6241 *
6242 * @param c The connection
6243 * @return A cookie
6244 *
6245 * Delivers a request to the X server.
6246 *
6247 */
6248xcb_input_set_device_modifier_mapping_cookie_t
6249xcb_input_set_device_modifier_mapping (xcb_connection_t *c,
6250 uint8_t device_id,
6251 uint8_t keycodes_per_modifier,
6252 const uint8_t *keymaps);
6253
6254/**
6255 *
6256 * @param c The connection
6257 * @return A cookie
6258 *
6259 * Delivers a request to the X server.
6260 *
6261 * This form can be used only if the request will cause
6262 * a reply to be generated. Any returned error will be
6263 * placed in the event queue.
6264 */
6265xcb_input_set_device_modifier_mapping_cookie_t
6266xcb_input_set_device_modifier_mapping_unchecked (xcb_connection_t *c,
6267 uint8_t device_id,
6268 uint8_t keycodes_per_modifier,
6269 const uint8_t *keymaps);
6270
6271/**
6272 * Return the reply
6273 * @param c The connection
6274 * @param cookie The cookie
6275 * @param e The xcb_generic_error_t supplied
6276 *
6277 * Returns the reply of the request asked by
6278 *
6279 * The parameter @p e supplied to this function must be NULL if
6280 * xcb_input_set_device_modifier_mapping_unchecked(). is used.
6281 * Otherwise, it stores the error if any.
6282 *
6283 * The returned value must be freed by the caller using free().
6284 */
6285xcb_input_set_device_modifier_mapping_reply_t *
6286xcb_input_set_device_modifier_mapping_reply (xcb_connection_t *c,
6287 xcb_input_set_device_modifier_mapping_cookie_t cookie /**< */,
6288 xcb_generic_error_t **e);
6289
6290int
6291xcb_input_get_device_button_mapping_sizeof (const void *_buffer);
6292
6293/**
6294 *
6295 * @param c The connection
6296 * @return A cookie
6297 *
6298 * Delivers a request to the X server.
6299 *
6300 */
6301xcb_input_get_device_button_mapping_cookie_t
6302xcb_input_get_device_button_mapping (xcb_connection_t *c,
6303 uint8_t device_id);
6304
6305/**
6306 *
6307 * @param c The connection
6308 * @return A cookie
6309 *
6310 * Delivers a request to the X server.
6311 *
6312 * This form can be used only if the request will cause
6313 * a reply to be generated. Any returned error will be
6314 * placed in the event queue.
6315 */
6316xcb_input_get_device_button_mapping_cookie_t
6317xcb_input_get_device_button_mapping_unchecked (xcb_connection_t *c,
6318 uint8_t device_id);
6319
6320uint8_t *
6321xcb_input_get_device_button_mapping_map (const xcb_input_get_device_button_mapping_reply_t *R);
6322
6323int
6324xcb_input_get_device_button_mapping_map_length (const xcb_input_get_device_button_mapping_reply_t *R);
6325
6326xcb_generic_iterator_t
6327xcb_input_get_device_button_mapping_map_end (const xcb_input_get_device_button_mapping_reply_t *R);
6328
6329/**
6330 * Return the reply
6331 * @param c The connection
6332 * @param cookie The cookie
6333 * @param e The xcb_generic_error_t supplied
6334 *
6335 * Returns the reply of the request asked by
6336 *
6337 * The parameter @p e supplied to this function must be NULL if
6338 * xcb_input_get_device_button_mapping_unchecked(). is used.
6339 * Otherwise, it stores the error if any.
6340 *
6341 * The returned value must be freed by the caller using free().
6342 */
6343xcb_input_get_device_button_mapping_reply_t *
6344xcb_input_get_device_button_mapping_reply (xcb_connection_t *c,
6345 xcb_input_get_device_button_mapping_cookie_t cookie /**< */,
6346 xcb_generic_error_t **e);
6347
6348int
6349xcb_input_set_device_button_mapping_sizeof (const void *_buffer);
6350
6351/**
6352 *
6353 * @param c The connection
6354 * @return A cookie
6355 *
6356 * Delivers a request to the X server.
6357 *
6358 */
6359xcb_input_set_device_button_mapping_cookie_t
6360xcb_input_set_device_button_mapping (xcb_connection_t *c,
6361 uint8_t device_id,
6362 uint8_t map_size,
6363 const uint8_t *map);
6364
6365/**
6366 *
6367 * @param c The connection
6368 * @return A cookie
6369 *
6370 * Delivers a request to the X server.
6371 *
6372 * This form can be used only if the request will cause
6373 * a reply to be generated. Any returned error will be
6374 * placed in the event queue.
6375 */
6376xcb_input_set_device_button_mapping_cookie_t
6377xcb_input_set_device_button_mapping_unchecked (xcb_connection_t *c,
6378 uint8_t device_id,
6379 uint8_t map_size,
6380 const uint8_t *map);
6381
6382/**
6383 * Return the reply
6384 * @param c The connection
6385 * @param cookie The cookie
6386 * @param e The xcb_generic_error_t supplied
6387 *
6388 * Returns the reply of the request asked by
6389 *
6390 * The parameter @p e supplied to this function must be NULL if
6391 * xcb_input_set_device_button_mapping_unchecked(). is used.
6392 * Otherwise, it stores the error if any.
6393 *
6394 * The returned value must be freed by the caller using free().
6395 */
6396xcb_input_set_device_button_mapping_reply_t *
6397xcb_input_set_device_button_mapping_reply (xcb_connection_t *c,
6398 xcb_input_set_device_button_mapping_cookie_t cookie /**< */,
6399 xcb_generic_error_t **e);
6400
6401/**
6402 * Get the next element of the iterator
6403 * @param i Pointer to a xcb_input_key_state_iterator_t
6404 *
6405 * Get the next element in the iterator. The member rem is
6406 * decreased by one. The member data points to the next
6407 * element. The member index is increased by sizeof(xcb_input_key_state_t)
6408 */
6409void
6410xcb_input_key_state_next (xcb_input_key_state_iterator_t *i);
6411
6412/**
6413 * Return the iterator pointing to the last element
6414 * @param i An xcb_input_key_state_iterator_t
6415 * @return The iterator pointing to the last element
6416 *
6417 * Set the current element in the iterator to the last element.
6418 * The member rem is set to 0. The member data points to the
6419 * last element.
6420 */
6421xcb_generic_iterator_t
6422xcb_input_key_state_end (xcb_input_key_state_iterator_t i);
6423
6424/**
6425 * Get the next element of the iterator
6426 * @param i Pointer to a xcb_input_button_state_iterator_t
6427 *
6428 * Get the next element in the iterator. The member rem is
6429 * decreased by one. The member data points to the next
6430 * element. The member index is increased by sizeof(xcb_input_button_state_t)
6431 */
6432void
6433xcb_input_button_state_next (xcb_input_button_state_iterator_t *i);
6434
6435/**
6436 * Return the iterator pointing to the last element
6437 * @param i An xcb_input_button_state_iterator_t
6438 * @return The iterator pointing to the last element
6439 *
6440 * Set the current element in the iterator to the last element.
6441 * The member rem is set to 0. The member data points to the
6442 * last element.
6443 */
6444xcb_generic_iterator_t
6445xcb_input_button_state_end (xcb_input_button_state_iterator_t i);
6446
6447int
6448xcb_input_valuator_state_sizeof (const void *_buffer);
6449
6450int32_t *
6451xcb_input_valuator_state_valuators (const xcb_input_valuator_state_t *R);
6452
6453int
6454xcb_input_valuator_state_valuators_length (const xcb_input_valuator_state_t *R);
6455
6456xcb_generic_iterator_t
6457xcb_input_valuator_state_valuators_end (const xcb_input_valuator_state_t *R);
6458
6459/**
6460 * Get the next element of the iterator
6461 * @param i Pointer to a xcb_input_valuator_state_iterator_t
6462 *
6463 * Get the next element in the iterator. The member rem is
6464 * decreased by one. The member data points to the next
6465 * element. The member index is increased by sizeof(xcb_input_valuator_state_t)
6466 */
6467void
6468xcb_input_valuator_state_next (xcb_input_valuator_state_iterator_t *i);
6469
6470/**
6471 * Return the iterator pointing to the last element
6472 * @param i An xcb_input_valuator_state_iterator_t
6473 * @return The iterator pointing to the last element
6474 *
6475 * Set the current element in the iterator to the last element.
6476 * The member rem is set to 0. The member data points to the
6477 * last element.
6478 */
6479xcb_generic_iterator_t
6480xcb_input_valuator_state_end (xcb_input_valuator_state_iterator_t i);
6481
6482int32_t *
6483xcb_input_input_state_data_valuator_valuators (const xcb_input_input_state_data_t *S);
6484
6485int
6486xcb_input_input_state_data_valuator_valuators_length (const xcb_input_input_state_t *R,
6487 const xcb_input_input_state_data_t *S);
6488
6489xcb_generic_iterator_t
6490xcb_input_input_state_data_valuator_valuators_end (const xcb_input_input_state_t *R,
6491 const xcb_input_input_state_data_t *S);
6492
6493int
6494xcb_input_input_state_data_serialize (void **_buffer,
6495 uint8_t class_id,
6496 const xcb_input_input_state_data_t *_aux);
6497
6498int
6499xcb_input_input_state_data_unpack (const void *_buffer,
6500 uint8_t class_id,
6501 xcb_input_input_state_data_t *_aux);
6502
6503int
6504xcb_input_input_state_data_sizeof (const void *_buffer,
6505 uint8_t class_id);
6506
6507int
6508xcb_input_input_state_sizeof (const void *_buffer);
6509
6510/**
6511 * Get the next element of the iterator
6512 * @param i Pointer to a xcb_input_input_state_iterator_t
6513 *
6514 * Get the next element in the iterator. The member rem is
6515 * decreased by one. The member data points to the next
6516 * element. The member index is increased by sizeof(xcb_input_input_state_t)
6517 */
6518void
6519xcb_input_input_state_next (xcb_input_input_state_iterator_t *i);
6520
6521/**
6522 * Return the iterator pointing to the last element
6523 * @param i An xcb_input_input_state_iterator_t
6524 * @return The iterator pointing to the last element
6525 *
6526 * Set the current element in the iterator to the last element.
6527 * The member rem is set to 0. The member data points to the
6528 * last element.
6529 */
6530xcb_generic_iterator_t
6531xcb_input_input_state_end (xcb_input_input_state_iterator_t i);
6532
6533int
6534xcb_input_query_device_state_sizeof (const void *_buffer);
6535
6536/**
6537 *
6538 * @param c The connection
6539 * @return A cookie
6540 *
6541 * Delivers a request to the X server.
6542 *
6543 */
6544xcb_input_query_device_state_cookie_t
6545xcb_input_query_device_state (xcb_connection_t *c,
6546 uint8_t device_id);
6547
6548/**
6549 *
6550 * @param c The connection
6551 * @return A cookie
6552 *
6553 * Delivers a request to the X server.
6554 *
6555 * This form can be used only if the request will cause
6556 * a reply to be generated. Any returned error will be
6557 * placed in the event queue.
6558 */
6559xcb_input_query_device_state_cookie_t
6560xcb_input_query_device_state_unchecked (xcb_connection_t *c,
6561 uint8_t device_id);
6562
6563int
6564xcb_input_query_device_state_classes_length (const xcb_input_query_device_state_reply_t *R);
6565
6566xcb_input_input_state_iterator_t
6567xcb_input_query_device_state_classes_iterator (const xcb_input_query_device_state_reply_t *R);
6568
6569/**
6570 * Return the reply
6571 * @param c The connection
6572 * @param cookie The cookie
6573 * @param e The xcb_generic_error_t supplied
6574 *
6575 * Returns the reply of the request asked by
6576 *
6577 * The parameter @p e supplied to this function must be NULL if
6578 * xcb_input_query_device_state_unchecked(). is used.
6579 * Otherwise, it stores the error if any.
6580 *
6581 * The returned value must be freed by the caller using free().
6582 */
6583xcb_input_query_device_state_reply_t *
6584xcb_input_query_device_state_reply (xcb_connection_t *c,
6585 xcb_input_query_device_state_cookie_t cookie /**< */,
6586 xcb_generic_error_t **e);
6587
6588/**
6589 *
6590 * @param c The connection
6591 * @return A cookie
6592 *
6593 * Delivers a request to the X server.
6594 *
6595 * This form can be used only if the request will not cause
6596 * a reply to be generated. Any returned error will be
6597 * saved for handling by xcb_request_check().
6598 */
6599xcb_void_cookie_t
6600xcb_input_device_bell_checked (xcb_connection_t *c,
6601 uint8_t device_id,
6602 uint8_t feedback_id,
6603 uint8_t feedback_class,
6604 int8_t percent);
6605
6606/**
6607 *
6608 * @param c The connection
6609 * @return A cookie
6610 *
6611 * Delivers a request to the X server.
6612 *
6613 */
6614xcb_void_cookie_t
6615xcb_input_device_bell (xcb_connection_t *c,
6616 uint8_t device_id,
6617 uint8_t feedback_id,
6618 uint8_t feedback_class,
6619 int8_t percent);
6620
6621int
6622xcb_input_set_device_valuators_sizeof (const void *_buffer);
6623
6624/**
6625 *
6626 * @param c The connection
6627 * @return A cookie
6628 *
6629 * Delivers a request to the X server.
6630 *
6631 */
6632xcb_input_set_device_valuators_cookie_t
6633xcb_input_set_device_valuators (xcb_connection_t *c,
6634 uint8_t device_id,
6635 uint8_t first_valuator,
6636 uint8_t num_valuators,
6637 const int32_t *valuators);
6638
6639/**
6640 *
6641 * @param c The connection
6642 * @return A cookie
6643 *
6644 * Delivers a request to the X server.
6645 *
6646 * This form can be used only if the request will cause
6647 * a reply to be generated. Any returned error will be
6648 * placed in the event queue.
6649 */
6650xcb_input_set_device_valuators_cookie_t
6651xcb_input_set_device_valuators_unchecked (xcb_connection_t *c,
6652 uint8_t device_id,
6653 uint8_t first_valuator,
6654 uint8_t num_valuators,
6655 const int32_t *valuators);
6656
6657/**
6658 * Return the reply
6659 * @param c The connection
6660 * @param cookie The cookie
6661 * @param e The xcb_generic_error_t supplied
6662 *
6663 * Returns the reply of the request asked by
6664 *
6665 * The parameter @p e supplied to this function must be NULL if
6666 * xcb_input_set_device_valuators_unchecked(). is used.
6667 * Otherwise, it stores the error if any.
6668 *
6669 * The returned value must be freed by the caller using free().
6670 */
6671xcb_input_set_device_valuators_reply_t *
6672xcb_input_set_device_valuators_reply (xcb_connection_t *c,
6673 xcb_input_set_device_valuators_cookie_t cookie /**< */,
6674 xcb_generic_error_t **e);
6675
6676int
6677xcb_input_device_resolution_state_sizeof (const void *_buffer);
6678
6679uint32_t *
6680xcb_input_device_resolution_state_resolution_values (const xcb_input_device_resolution_state_t *R);
6681
6682int
6683xcb_input_device_resolution_state_resolution_values_length (const xcb_input_device_resolution_state_t *R);
6684
6685xcb_generic_iterator_t
6686xcb_input_device_resolution_state_resolution_values_end (const xcb_input_device_resolution_state_t *R);
6687
6688uint32_t *
6689xcb_input_device_resolution_state_resolution_min (const xcb_input_device_resolution_state_t *R);
6690
6691int
6692xcb_input_device_resolution_state_resolution_min_length (const xcb_input_device_resolution_state_t *R);
6693
6694xcb_generic_iterator_t
6695xcb_input_device_resolution_state_resolution_min_end (const xcb_input_device_resolution_state_t *R);
6696
6697uint32_t *
6698xcb_input_device_resolution_state_resolution_max (const xcb_input_device_resolution_state_t *R);
6699
6700int
6701xcb_input_device_resolution_state_resolution_max_length (const xcb_input_device_resolution_state_t *R);
6702
6703xcb_generic_iterator_t
6704xcb_input_device_resolution_state_resolution_max_end (const xcb_input_device_resolution_state_t *R);
6705
6706/**
6707 * Get the next element of the iterator
6708 * @param i Pointer to a xcb_input_device_resolution_state_iterator_t
6709 *
6710 * Get the next element in the iterator. The member rem is
6711 * decreased by one. The member data points to the next
6712 * element. The member index is increased by sizeof(xcb_input_device_resolution_state_t)
6713 */
6714void
6715xcb_input_device_resolution_state_next (xcb_input_device_resolution_state_iterator_t *i);
6716
6717/**
6718 * Return the iterator pointing to the last element
6719 * @param i An xcb_input_device_resolution_state_iterator_t
6720 * @return The iterator pointing to the last element
6721 *
6722 * Set the current element in the iterator to the last element.
6723 * The member rem is set to 0. The member data points to the
6724 * last element.
6725 */
6726xcb_generic_iterator_t
6727xcb_input_device_resolution_state_end (xcb_input_device_resolution_state_iterator_t i);
6728
6729/**
6730 * Get the next element of the iterator
6731 * @param i Pointer to a xcb_input_device_abs_calib_state_iterator_t
6732 *
6733 * Get the next element in the iterator. The member rem is
6734 * decreased by one. The member data points to the next
6735 * element. The member index is increased by sizeof(xcb_input_device_abs_calib_state_t)
6736 */
6737void
6738xcb_input_device_abs_calib_state_next (xcb_input_device_abs_calib_state_iterator_t *i);
6739
6740/**
6741 * Return the iterator pointing to the last element
6742 * @param i An xcb_input_device_abs_calib_state_iterator_t
6743 * @return The iterator pointing to the last element
6744 *
6745 * Set the current element in the iterator to the last element.
6746 * The member rem is set to 0. The member data points to the
6747 * last element.
6748 */
6749xcb_generic_iterator_t
6750xcb_input_device_abs_calib_state_end (xcb_input_device_abs_calib_state_iterator_t i);
6751
6752/**
6753 * Get the next element of the iterator
6754 * @param i Pointer to a xcb_input_device_abs_area_state_iterator_t
6755 *
6756 * Get the next element in the iterator. The member rem is
6757 * decreased by one. The member data points to the next
6758 * element. The member index is increased by sizeof(xcb_input_device_abs_area_state_t)
6759 */
6760void
6761xcb_input_device_abs_area_state_next (xcb_input_device_abs_area_state_iterator_t *i);
6762
6763/**
6764 * Return the iterator pointing to the last element
6765 * @param i An xcb_input_device_abs_area_state_iterator_t
6766 * @return The iterator pointing to the last element
6767 *
6768 * Set the current element in the iterator to the last element.
6769 * The member rem is set to 0. The member data points to the
6770 * last element.
6771 */
6772xcb_generic_iterator_t
6773xcb_input_device_abs_area_state_end (xcb_input_device_abs_area_state_iterator_t i);
6774
6775/**
6776 * Get the next element of the iterator
6777 * @param i Pointer to a xcb_input_device_core_state_iterator_t
6778 *
6779 * Get the next element in the iterator. The member rem is
6780 * decreased by one. The member data points to the next
6781 * element. The member index is increased by sizeof(xcb_input_device_core_state_t)
6782 */
6783void
6784xcb_input_device_core_state_next (xcb_input_device_core_state_iterator_t *i);
6785
6786/**
6787 * Return the iterator pointing to the last element
6788 * @param i An xcb_input_device_core_state_iterator_t
6789 * @return The iterator pointing to the last element
6790 *
6791 * Set the current element in the iterator to the last element.
6792 * The member rem is set to 0. The member data points to the
6793 * last element.
6794 */
6795xcb_generic_iterator_t
6796xcb_input_device_core_state_end (xcb_input_device_core_state_iterator_t i);
6797
6798/**
6799 * Get the next element of the iterator
6800 * @param i Pointer to a xcb_input_device_enable_state_iterator_t
6801 *
6802 * Get the next element in the iterator. The member rem is
6803 * decreased by one. The member data points to the next
6804 * element. The member index is increased by sizeof(xcb_input_device_enable_state_t)
6805 */
6806void
6807xcb_input_device_enable_state_next (xcb_input_device_enable_state_iterator_t *i);
6808
6809/**
6810 * Return the iterator pointing to the last element
6811 * @param i An xcb_input_device_enable_state_iterator_t
6812 * @return The iterator pointing to the last element
6813 *
6814 * Set the current element in the iterator to the last element.
6815 * The member rem is set to 0. The member data points to the
6816 * last element.
6817 */
6818xcb_generic_iterator_t
6819xcb_input_device_enable_state_end (xcb_input_device_enable_state_iterator_t i);
6820
6821uint32_t *
6822xcb_input_device_state_data_resolution_resolution_values (const xcb_input_device_state_data_t *S);
6823
6824int
6825xcb_input_device_state_data_resolution_resolution_values_length (const xcb_input_device_state_t *R,
6826 const xcb_input_device_state_data_t *S);
6827
6828xcb_generic_iterator_t
6829xcb_input_device_state_data_resolution_resolution_values_end (const xcb_input_device_state_t *R,
6830 const xcb_input_device_state_data_t *S);
6831
6832uint32_t *
6833xcb_input_device_state_data_resolution_resolution_min (const xcb_input_device_state_data_t *S);
6834
6835int
6836xcb_input_device_state_data_resolution_resolution_min_length (const xcb_input_device_state_t *R,
6837 const xcb_input_device_state_data_t *S);
6838
6839xcb_generic_iterator_t
6840xcb_input_device_state_data_resolution_resolution_min_end (const xcb_input_device_state_t *R,
6841 const xcb_input_device_state_data_t *S);
6842
6843uint32_t *
6844xcb_input_device_state_data_resolution_resolution_max (const xcb_input_device_state_data_t *S);
6845
6846int
6847xcb_input_device_state_data_resolution_resolution_max_length (const xcb_input_device_state_t *R,
6848 const xcb_input_device_state_data_t *S);
6849
6850xcb_generic_iterator_t
6851xcb_input_device_state_data_resolution_resolution_max_end (const xcb_input_device_state_t *R,
6852 const xcb_input_device_state_data_t *S);
6853
6854int
6855xcb_input_device_state_data_serialize (void **_buffer,
6856 uint16_t control_id,
6857 const xcb_input_device_state_data_t *_aux);
6858
6859int
6860xcb_input_device_state_data_unpack (const void *_buffer,
6861 uint16_t control_id,
6862 xcb_input_device_state_data_t *_aux);
6863
6864int
6865xcb_input_device_state_data_sizeof (const void *_buffer,
6866 uint16_t control_id);
6867
6868int
6869xcb_input_device_state_sizeof (const void *_buffer);
6870
6871/**
6872 * Get the next element of the iterator
6873 * @param i Pointer to a xcb_input_device_state_iterator_t
6874 *
6875 * Get the next element in the iterator. The member rem is
6876 * decreased by one. The member data points to the next
6877 * element. The member index is increased by sizeof(xcb_input_device_state_t)
6878 */
6879void
6880xcb_input_device_state_next (xcb_input_device_state_iterator_t *i);
6881
6882/**
6883 * Return the iterator pointing to the last element
6884 * @param i An xcb_input_device_state_iterator_t
6885 * @return The iterator pointing to the last element
6886 *
6887 * Set the current element in the iterator to the last element.
6888 * The member rem is set to 0. The member data points to the
6889 * last element.
6890 */
6891xcb_generic_iterator_t
6892xcb_input_device_state_end (xcb_input_device_state_iterator_t i);
6893
6894int
6895xcb_input_get_device_control_sizeof (const void *_buffer);
6896
6897/**
6898 *
6899 * @param c The connection
6900 * @return A cookie
6901 *
6902 * Delivers a request to the X server.
6903 *
6904 */
6905xcb_input_get_device_control_cookie_t
6906xcb_input_get_device_control (xcb_connection_t *c,
6907 uint16_t control_id,
6908 uint8_t device_id);
6909
6910/**
6911 *
6912 * @param c The connection
6913 * @return A cookie
6914 *
6915 * Delivers a request to the X server.
6916 *
6917 * This form can be used only if the request will cause
6918 * a reply to be generated. Any returned error will be
6919 * placed in the event queue.
6920 */
6921xcb_input_get_device_control_cookie_t
6922xcb_input_get_device_control_unchecked (xcb_connection_t *c,
6923 uint16_t control_id,
6924 uint8_t device_id);
6925
6926xcb_input_device_state_t *
6927xcb_input_get_device_control_control (const xcb_input_get_device_control_reply_t *R);
6928
6929/**
6930 * Return the reply
6931 * @param c The connection
6932 * @param cookie The cookie
6933 * @param e The xcb_generic_error_t supplied
6934 *
6935 * Returns the reply of the request asked by
6936 *
6937 * The parameter @p e supplied to this function must be NULL if
6938 * xcb_input_get_device_control_unchecked(). is used.
6939 * Otherwise, it stores the error if any.
6940 *
6941 * The returned value must be freed by the caller using free().
6942 */
6943xcb_input_get_device_control_reply_t *
6944xcb_input_get_device_control_reply (xcb_connection_t *c,
6945 xcb_input_get_device_control_cookie_t cookie /**< */,
6946 xcb_generic_error_t **e);
6947
6948int
6949xcb_input_device_resolution_ctl_sizeof (const void *_buffer);
6950
6951uint32_t *
6952xcb_input_device_resolution_ctl_resolution_values (const xcb_input_device_resolution_ctl_t *R);
6953
6954int
6955xcb_input_device_resolution_ctl_resolution_values_length (const xcb_input_device_resolution_ctl_t *R);
6956
6957xcb_generic_iterator_t
6958xcb_input_device_resolution_ctl_resolution_values_end (const xcb_input_device_resolution_ctl_t *R);
6959
6960/**
6961 * Get the next element of the iterator
6962 * @param i Pointer to a xcb_input_device_resolution_ctl_iterator_t
6963 *
6964 * Get the next element in the iterator. The member rem is
6965 * decreased by one. The member data points to the next
6966 * element. The member index is increased by sizeof(xcb_input_device_resolution_ctl_t)
6967 */
6968void
6969xcb_input_device_resolution_ctl_next (xcb_input_device_resolution_ctl_iterator_t *i);
6970
6971/**
6972 * Return the iterator pointing to the last element
6973 * @param i An xcb_input_device_resolution_ctl_iterator_t
6974 * @return The iterator pointing to the last element
6975 *
6976 * Set the current element in the iterator to the last element.
6977 * The member rem is set to 0. The member data points to the
6978 * last element.
6979 */
6980xcb_generic_iterator_t
6981xcb_input_device_resolution_ctl_end (xcb_input_device_resolution_ctl_iterator_t i);
6982
6983/**
6984 * Get the next element of the iterator
6985 * @param i Pointer to a xcb_input_device_abs_calib_ctl_iterator_t
6986 *
6987 * Get the next element in the iterator. The member rem is
6988 * decreased by one. The member data points to the next
6989 * element. The member index is increased by sizeof(xcb_input_device_abs_calib_ctl_t)
6990 */
6991void
6992xcb_input_device_abs_calib_ctl_next (xcb_input_device_abs_calib_ctl_iterator_t *i);
6993
6994/**
6995 * Return the iterator pointing to the last element
6996 * @param i An xcb_input_device_abs_calib_ctl_iterator_t
6997 * @return The iterator pointing to the last element
6998 *
6999 * Set the current element in the iterator to the last element.
7000 * The member rem is set to 0. The member data points to the
7001 * last element.
7002 */
7003xcb_generic_iterator_t
7004xcb_input_device_abs_calib_ctl_end (xcb_input_device_abs_calib_ctl_iterator_t i);
7005
7006/**
7007 * Get the next element of the iterator
7008 * @param i Pointer to a xcb_input_device_abs_area_ctrl_iterator_t
7009 *
7010 * Get the next element in the iterator. The member rem is
7011 * decreased by one. The member data points to the next
7012 * element. The member index is increased by sizeof(xcb_input_device_abs_area_ctrl_t)
7013 */
7014void
7015xcb_input_device_abs_area_ctrl_next (xcb_input_device_abs_area_ctrl_iterator_t *i);
7016
7017/**
7018 * Return the iterator pointing to the last element
7019 * @param i An xcb_input_device_abs_area_ctrl_iterator_t
7020 * @return The iterator pointing to the last element
7021 *
7022 * Set the current element in the iterator to the last element.
7023 * The member rem is set to 0. The member data points to the
7024 * last element.
7025 */
7026xcb_generic_iterator_t
7027xcb_input_device_abs_area_ctrl_end (xcb_input_device_abs_area_ctrl_iterator_t i);
7028
7029/**
7030 * Get the next element of the iterator
7031 * @param i Pointer to a xcb_input_device_core_ctrl_iterator_t
7032 *
7033 * Get the next element in the iterator. The member rem is
7034 * decreased by one. The member data points to the next
7035 * element. The member index is increased by sizeof(xcb_input_device_core_ctrl_t)
7036 */
7037void
7038xcb_input_device_core_ctrl_next (xcb_input_device_core_ctrl_iterator_t *i);
7039
7040/**
7041 * Return the iterator pointing to the last element
7042 * @param i An xcb_input_device_core_ctrl_iterator_t
7043 * @return The iterator pointing to the last element
7044 *
7045 * Set the current element in the iterator to the last element.
7046 * The member rem is set to 0. The member data points to the
7047 * last element.
7048 */
7049xcb_generic_iterator_t
7050xcb_input_device_core_ctrl_end (xcb_input_device_core_ctrl_iterator_t i);
7051
7052/**
7053 * Get the next element of the iterator
7054 * @param i Pointer to a xcb_input_device_enable_ctrl_iterator_t
7055 *
7056 * Get the next element in the iterator. The member rem is
7057 * decreased by one. The member data points to the next
7058 * element. The member index is increased by sizeof(xcb_input_device_enable_ctrl_t)
7059 */
7060void
7061xcb_input_device_enable_ctrl_next (xcb_input_device_enable_ctrl_iterator_t *i);
7062
7063/**
7064 * Return the iterator pointing to the last element
7065 * @param i An xcb_input_device_enable_ctrl_iterator_t
7066 * @return The iterator pointing to the last element
7067 *
7068 * Set the current element in the iterator to the last element.
7069 * The member rem is set to 0. The member data points to the
7070 * last element.
7071 */
7072xcb_generic_iterator_t
7073xcb_input_device_enable_ctrl_end (xcb_input_device_enable_ctrl_iterator_t i);
7074
7075uint32_t *
7076xcb_input_device_ctl_data_resolution_resolution_values (const xcb_input_device_ctl_data_t *S);
7077
7078int
7079xcb_input_device_ctl_data_resolution_resolution_values_length (const xcb_input_device_ctl_t *R,
7080 const xcb_input_device_ctl_data_t *S);
7081
7082xcb_generic_iterator_t
7083xcb_input_device_ctl_data_resolution_resolution_values_end (const xcb_input_device_ctl_t *R,
7084 const xcb_input_device_ctl_data_t *S);
7085
7086int
7087xcb_input_device_ctl_data_serialize (void **_buffer,
7088 uint16_t control_id,
7089 const xcb_input_device_ctl_data_t *_aux);
7090
7091int
7092xcb_input_device_ctl_data_unpack (const void *_buffer,
7093 uint16_t control_id,
7094 xcb_input_device_ctl_data_t *_aux);
7095
7096int
7097xcb_input_device_ctl_data_sizeof (const void *_buffer,
7098 uint16_t control_id);
7099
7100int
7101xcb_input_device_ctl_sizeof (const void *_buffer);
7102
7103/**
7104 * Get the next element of the iterator
7105 * @param i Pointer to a xcb_input_device_ctl_iterator_t
7106 *
7107 * Get the next element in the iterator. The member rem is
7108 * decreased by one. The member data points to the next
7109 * element. The member index is increased by sizeof(xcb_input_device_ctl_t)
7110 */
7111void
7112xcb_input_device_ctl_next (xcb_input_device_ctl_iterator_t *i);
7113
7114/**
7115 * Return the iterator pointing to the last element
7116 * @param i An xcb_input_device_ctl_iterator_t
7117 * @return The iterator pointing to the last element
7118 *
7119 * Set the current element in the iterator to the last element.
7120 * The member rem is set to 0. The member data points to the
7121 * last element.
7122 */
7123xcb_generic_iterator_t
7124xcb_input_device_ctl_end (xcb_input_device_ctl_iterator_t i);
7125
7126int
7127xcb_input_change_device_control_sizeof (const void *_buffer);
7128
7129/**
7130 *
7131 * @param c The connection
7132 * @return A cookie
7133 *
7134 * Delivers a request to the X server.
7135 *
7136 */
7137xcb_input_change_device_control_cookie_t
7138xcb_input_change_device_control (xcb_connection_t *c,
7139 uint16_t control_id,
7140 uint8_t device_id,
7141 xcb_input_device_ctl_t *control);
7142
7143/**
7144 *
7145 * @param c The connection
7146 * @return A cookie
7147 *
7148 * Delivers a request to the X server.
7149 *
7150 * This form can be used only if the request will cause
7151 * a reply to be generated. Any returned error will be
7152 * placed in the event queue.
7153 */
7154xcb_input_change_device_control_cookie_t
7155xcb_input_change_device_control_unchecked (xcb_connection_t *c,
7156 uint16_t control_id,
7157 uint8_t device_id,
7158 xcb_input_device_ctl_t *control);
7159
7160/**
7161 * Return the reply
7162 * @param c The connection
7163 * @param cookie The cookie
7164 * @param e The xcb_generic_error_t supplied
7165 *
7166 * Returns the reply of the request asked by
7167 *
7168 * The parameter @p e supplied to this function must be NULL if
7169 * xcb_input_change_device_control_unchecked(). is used.
7170 * Otherwise, it stores the error if any.
7171 *
7172 * The returned value must be freed by the caller using free().
7173 */
7174xcb_input_change_device_control_reply_t *
7175xcb_input_change_device_control_reply (xcb_connection_t *c,
7176 xcb_input_change_device_control_cookie_t cookie /**< */,
7177 xcb_generic_error_t **e);
7178
7179int
7180xcb_input_list_device_properties_sizeof (const void *_buffer);
7181
7182/**
7183 *
7184 * @param c The connection
7185 * @return A cookie
7186 *
7187 * Delivers a request to the X server.
7188 *
7189 */
7190xcb_input_list_device_properties_cookie_t
7191xcb_input_list_device_properties (xcb_connection_t *c,
7192 uint8_t device_id);
7193
7194/**
7195 *
7196 * @param c The connection
7197 * @return A cookie
7198 *
7199 * Delivers a request to the X server.
7200 *
7201 * This form can be used only if the request will cause
7202 * a reply to be generated. Any returned error will be
7203 * placed in the event queue.
7204 */
7205xcb_input_list_device_properties_cookie_t
7206xcb_input_list_device_properties_unchecked (xcb_connection_t *c,
7207 uint8_t device_id);
7208
7209xcb_atom_t *
7210xcb_input_list_device_properties_atoms (const xcb_input_list_device_properties_reply_t *R);
7211
7212int
7213xcb_input_list_device_properties_atoms_length (const xcb_input_list_device_properties_reply_t *R);
7214
7215xcb_generic_iterator_t
7216xcb_input_list_device_properties_atoms_end (const xcb_input_list_device_properties_reply_t *R);
7217
7218/**
7219 * Return the reply
7220 * @param c The connection
7221 * @param cookie The cookie
7222 * @param e The xcb_generic_error_t supplied
7223 *
7224 * Returns the reply of the request asked by
7225 *
7226 * The parameter @p e supplied to this function must be NULL if
7227 * xcb_input_list_device_properties_unchecked(). is used.
7228 * Otherwise, it stores the error if any.
7229 *
7230 * The returned value must be freed by the caller using free().
7231 */
7232xcb_input_list_device_properties_reply_t *
7233xcb_input_list_device_properties_reply (xcb_connection_t *c,
7234 xcb_input_list_device_properties_cookie_t cookie /**< */,
7235 xcb_generic_error_t **e);
7236
7237uint8_t *
7238xcb_input_change_device_property_items_data_8 (const xcb_input_change_device_property_items_t *S);
7239
7240int
7241xcb_input_change_device_property_items_data_8_length (const xcb_input_change_device_property_request_t *R,
7242 const xcb_input_change_device_property_items_t *S);
7243
7244xcb_generic_iterator_t
7245xcb_input_change_device_property_items_data_8_end (const xcb_input_change_device_property_request_t *R,
7246 const xcb_input_change_device_property_items_t *S);
7247
7248uint16_t *
7249xcb_input_change_device_property_items_data_16 (const xcb_input_change_device_property_items_t *S);
7250
7251int
7252xcb_input_change_device_property_items_data_16_length (const xcb_input_change_device_property_request_t *R,
7253 const xcb_input_change_device_property_items_t *S);
7254
7255xcb_generic_iterator_t
7256xcb_input_change_device_property_items_data_16_end (const xcb_input_change_device_property_request_t *R,
7257 const xcb_input_change_device_property_items_t *S);
7258
7259uint32_t *
7260xcb_input_change_device_property_items_data_32 (const xcb_input_change_device_property_items_t *S);
7261
7262int
7263xcb_input_change_device_property_items_data_32_length (const xcb_input_change_device_property_request_t *R,
7264 const xcb_input_change_device_property_items_t *S);
7265
7266xcb_generic_iterator_t
7267xcb_input_change_device_property_items_data_32_end (const xcb_input_change_device_property_request_t *R,
7268 const xcb_input_change_device_property_items_t *S);
7269
7270int
7271xcb_input_change_device_property_items_serialize (void **_buffer,
7272 uint32_t num_items,
7273 uint8_t format,
7274 const xcb_input_change_device_property_items_t *_aux);
7275
7276int
7277xcb_input_change_device_property_items_unpack (const void *_buffer,
7278 uint32_t num_items,
7279 uint8_t format,
7280 xcb_input_change_device_property_items_t *_aux);
7281
7282int
7283xcb_input_change_device_property_items_sizeof (const void *_buffer,
7284 uint32_t num_items,
7285 uint8_t format);
7286
7287int
7288xcb_input_change_device_property_sizeof (const void *_buffer);
7289
7290/**
7291 *
7292 * @param c The connection
7293 * @return A cookie
7294 *
7295 * Delivers a request to the X server.
7296 *
7297 * This form can be used only if the request will not cause
7298 * a reply to be generated. Any returned error will be
7299 * saved for handling by xcb_request_check().
7300 */
7301xcb_void_cookie_t
7302xcb_input_change_device_property_checked (xcb_connection_t *c,
7303 xcb_atom_t property,
7304 xcb_atom_t type,
7305 uint8_t device_id,
7306 uint8_t format,
7307 uint8_t mode,
7308 uint32_t num_items,
7309 const void *items);
7310
7311/**
7312 *
7313 * @param c The connection
7314 * @return A cookie
7315 *
7316 * Delivers a request to the X server.
7317 *
7318 */
7319xcb_void_cookie_t
7320xcb_input_change_device_property (xcb_connection_t *c,
7321 xcb_atom_t property,
7322 xcb_atom_t type,
7323 uint8_t device_id,
7324 uint8_t format,
7325 uint8_t mode,
7326 uint32_t num_items,
7327 const void *items);
7328
7329/**
7330 *
7331 * @param c The connection
7332 * @return A cookie
7333 *
7334 * Delivers a request to the X server.
7335 *
7336 * This form can be used only if the request will not cause
7337 * a reply to be generated. Any returned error will be
7338 * saved for handling by xcb_request_check().
7339 */
7340xcb_void_cookie_t
7341xcb_input_change_device_property_aux_checked (xcb_connection_t *c,
7342 xcb_atom_t property,
7343 xcb_atom_t type,
7344 uint8_t device_id,
7345 uint8_t format,
7346 uint8_t mode,
7347 uint32_t num_items,
7348 const xcb_input_change_device_property_items_t *items);
7349
7350/**
7351 *
7352 * @param c The connection
7353 * @return A cookie
7354 *
7355 * Delivers a request to the X server.
7356 *
7357 */
7358xcb_void_cookie_t
7359xcb_input_change_device_property_aux (xcb_connection_t *c,
7360 xcb_atom_t property,
7361 xcb_atom_t type,
7362 uint8_t device_id,
7363 uint8_t format,
7364 uint8_t mode,
7365 uint32_t num_items,
7366 const xcb_input_change_device_property_items_t *items);
7367
7368void *
7369xcb_input_change_device_property_items (const xcb_input_change_device_property_request_t *R);
7370
7371/**
7372 *
7373 * @param c The connection
7374 * @return A cookie
7375 *
7376 * Delivers a request to the X server.
7377 *
7378 * This form can be used only if the request will not cause
7379 * a reply to be generated. Any returned error will be
7380 * saved for handling by xcb_request_check().
7381 */
7382xcb_void_cookie_t
7383xcb_input_delete_device_property_checked (xcb_connection_t *c,
7384 xcb_atom_t property,
7385 uint8_t device_id);
7386
7387/**
7388 *
7389 * @param c The connection
7390 * @return A cookie
7391 *
7392 * Delivers a request to the X server.
7393 *
7394 */
7395xcb_void_cookie_t
7396xcb_input_delete_device_property (xcb_connection_t *c,
7397 xcb_atom_t property,
7398 uint8_t device_id);
7399
7400uint8_t *
7401xcb_input_get_device_property_items_data_8 (const xcb_input_get_device_property_items_t *S);
7402
7403int
7404xcb_input_get_device_property_items_data_8_length (const xcb_input_get_device_property_reply_t *R,
7405 const xcb_input_get_device_property_items_t *S);
7406
7407xcb_generic_iterator_t
7408xcb_input_get_device_property_items_data_8_end (const xcb_input_get_device_property_reply_t *R,
7409 const xcb_input_get_device_property_items_t *S);
7410
7411uint16_t *
7412xcb_input_get_device_property_items_data_16 (const xcb_input_get_device_property_items_t *S);
7413
7414int
7415xcb_input_get_device_property_items_data_16_length (const xcb_input_get_device_property_reply_t *R,
7416 const xcb_input_get_device_property_items_t *S);
7417
7418xcb_generic_iterator_t
7419xcb_input_get_device_property_items_data_16_end (const xcb_input_get_device_property_reply_t *R,
7420 const xcb_input_get_device_property_items_t *S);
7421
7422uint32_t *
7423xcb_input_get_device_property_items_data_32 (const xcb_input_get_device_property_items_t *S);
7424
7425int
7426xcb_input_get_device_property_items_data_32_length (const xcb_input_get_device_property_reply_t *R,
7427 const xcb_input_get_device_property_items_t *S);
7428
7429xcb_generic_iterator_t
7430xcb_input_get_device_property_items_data_32_end (const xcb_input_get_device_property_reply_t *R,
7431 const xcb_input_get_device_property_items_t *S);
7432
7433int
7434xcb_input_get_device_property_items_serialize (void **_buffer,
7435 uint32_t num_items,
7436 uint8_t format,
7437 const xcb_input_get_device_property_items_t *_aux);
7438
7439int
7440xcb_input_get_device_property_items_unpack (const void *_buffer,
7441 uint32_t num_items,
7442 uint8_t format,
7443 xcb_input_get_device_property_items_t *_aux);
7444
7445int
7446xcb_input_get_device_property_items_sizeof (const void *_buffer,
7447 uint32_t num_items,
7448 uint8_t format);
7449
7450int
7451xcb_input_get_device_property_sizeof (const void *_buffer);
7452
7453/**
7454 *
7455 * @param c The connection
7456 * @return A cookie
7457 *
7458 * Delivers a request to the X server.
7459 *
7460 */
7461xcb_input_get_device_property_cookie_t
7462xcb_input_get_device_property (xcb_connection_t *c,
7463 xcb_atom_t property,
7464 xcb_atom_t type,
7465 uint32_t offset,
7466 uint32_t len,
7467 uint8_t device_id,
7468 uint8_t _delete);
7469
7470/**
7471 *
7472 * @param c The connection
7473 * @return A cookie
7474 *
7475 * Delivers a request to the X server.
7476 *
7477 * This form can be used only if the request will cause
7478 * a reply to be generated. Any returned error will be
7479 * placed in the event queue.
7480 */
7481xcb_input_get_device_property_cookie_t
7482xcb_input_get_device_property_unchecked (xcb_connection_t *c,
7483 xcb_atom_t property,
7484 xcb_atom_t type,
7485 uint32_t offset,
7486 uint32_t len,
7487 uint8_t device_id,
7488 uint8_t _delete);
7489
7490void *
7491xcb_input_get_device_property_items (const xcb_input_get_device_property_reply_t *R);
7492
7493/**
7494 * Return the reply
7495 * @param c The connection
7496 * @param cookie The cookie
7497 * @param e The xcb_generic_error_t supplied
7498 *
7499 * Returns the reply of the request asked by
7500 *
7501 * The parameter @p e supplied to this function must be NULL if
7502 * xcb_input_get_device_property_unchecked(). is used.
7503 * Otherwise, it stores the error if any.
7504 *
7505 * The returned value must be freed by the caller using free().
7506 */
7507xcb_input_get_device_property_reply_t *
7508xcb_input_get_device_property_reply (xcb_connection_t *c,
7509 xcb_input_get_device_property_cookie_t cookie /**< */,
7510 xcb_generic_error_t **e);
7511
7512/**
7513 * Get the next element of the iterator
7514 * @param i Pointer to a xcb_input_group_info_iterator_t
7515 *
7516 * Get the next element in the iterator. The member rem is
7517 * decreased by one. The member data points to the next
7518 * element. The member index is increased by sizeof(xcb_input_group_info_t)
7519 */
7520void
7521xcb_input_group_info_next (xcb_input_group_info_iterator_t *i);
7522
7523/**
7524 * Return the iterator pointing to the last element
7525 * @param i An xcb_input_group_info_iterator_t
7526 * @return The iterator pointing to the last element
7527 *
7528 * Set the current element in the iterator to the last element.
7529 * The member rem is set to 0. The member data points to the
7530 * last element.
7531 */
7532xcb_generic_iterator_t
7533xcb_input_group_info_end (xcb_input_group_info_iterator_t i);
7534
7535/**
7536 * Get the next element of the iterator
7537 * @param i Pointer to a xcb_input_modifier_info_iterator_t
7538 *
7539 * Get the next element in the iterator. The member rem is
7540 * decreased by one. The member data points to the next
7541 * element. The member index is increased by sizeof(xcb_input_modifier_info_t)
7542 */
7543void
7544xcb_input_modifier_info_next (xcb_input_modifier_info_iterator_t *i);
7545
7546/**
7547 * Return the iterator pointing to the last element
7548 * @param i An xcb_input_modifier_info_iterator_t
7549 * @return The iterator pointing to the last element
7550 *
7551 * Set the current element in the iterator to the last element.
7552 * The member rem is set to 0. The member data points to the
7553 * last element.
7554 */
7555xcb_generic_iterator_t
7556xcb_input_modifier_info_end (xcb_input_modifier_info_iterator_t i);
7557
7558int
7559xcb_input_xi_query_pointer_sizeof (const void *_buffer);
7560
7561/**
7562 *
7563 * @param c The connection
7564 * @return A cookie
7565 *
7566 * Delivers a request to the X server.
7567 *
7568 */
7569xcb_input_xi_query_pointer_cookie_t
7570xcb_input_xi_query_pointer (xcb_connection_t *c,
7571 xcb_window_t window,
7572 xcb_input_device_id_t deviceid);
7573
7574/**
7575 *
7576 * @param c The connection
7577 * @return A cookie
7578 *
7579 * Delivers a request to the X server.
7580 *
7581 * This form can be used only if the request will cause
7582 * a reply to be generated. Any returned error will be
7583 * placed in the event queue.
7584 */
7585xcb_input_xi_query_pointer_cookie_t
7586xcb_input_xi_query_pointer_unchecked (xcb_connection_t *c,
7587 xcb_window_t window,
7588 xcb_input_device_id_t deviceid);
7589
7590uint32_t *
7591xcb_input_xi_query_pointer_buttons (const xcb_input_xi_query_pointer_reply_t *R);
7592
7593int
7594xcb_input_xi_query_pointer_buttons_length (const xcb_input_xi_query_pointer_reply_t *R);
7595
7596xcb_generic_iterator_t
7597xcb_input_xi_query_pointer_buttons_end (const xcb_input_xi_query_pointer_reply_t *R);
7598
7599/**
7600 * Return the reply
7601 * @param c The connection
7602 * @param cookie The cookie
7603 * @param e The xcb_generic_error_t supplied
7604 *
7605 * Returns the reply of the request asked by
7606 *
7607 * The parameter @p e supplied to this function must be NULL if
7608 * xcb_input_xi_query_pointer_unchecked(). is used.
7609 * Otherwise, it stores the error if any.
7610 *
7611 * The returned value must be freed by the caller using free().
7612 */
7613xcb_input_xi_query_pointer_reply_t *
7614xcb_input_xi_query_pointer_reply (xcb_connection_t *c,
7615 xcb_input_xi_query_pointer_cookie_t cookie /**< */,
7616 xcb_generic_error_t **e);
7617
7618/**
7619 *
7620 * @param c The connection
7621 * @return A cookie
7622 *
7623 * Delivers a request to the X server.
7624 *
7625 * This form can be used only if the request will not cause
7626 * a reply to be generated. Any returned error will be
7627 * saved for handling by xcb_request_check().
7628 */
7629xcb_void_cookie_t
7630xcb_input_xi_warp_pointer_checked (xcb_connection_t *c,
7631 xcb_window_t src_win,
7632 xcb_window_t dst_win,
7633 xcb_input_fp1616_t src_x,
7634 xcb_input_fp1616_t src_y,
7635 uint16_t src_width,
7636 uint16_t src_height,
7637 xcb_input_fp1616_t dst_x,
7638 xcb_input_fp1616_t dst_y,
7639 xcb_input_device_id_t deviceid);
7640
7641/**
7642 *
7643 * @param c The connection
7644 * @return A cookie
7645 *
7646 * Delivers a request to the X server.
7647 *
7648 */
7649xcb_void_cookie_t
7650xcb_input_xi_warp_pointer (xcb_connection_t *c,
7651 xcb_window_t src_win,
7652 xcb_window_t dst_win,
7653 xcb_input_fp1616_t src_x,
7654 xcb_input_fp1616_t src_y,
7655 uint16_t src_width,
7656 uint16_t src_height,
7657 xcb_input_fp1616_t dst_x,
7658 xcb_input_fp1616_t dst_y,
7659 xcb_input_device_id_t deviceid);
7660
7661/**
7662 *
7663 * @param c The connection
7664 * @return A cookie
7665 *
7666 * Delivers a request to the X server.
7667 *
7668 * This form can be used only if the request will not cause
7669 * a reply to be generated. Any returned error will be
7670 * saved for handling by xcb_request_check().
7671 */
7672xcb_void_cookie_t
7673xcb_input_xi_change_cursor_checked (xcb_connection_t *c,
7674 xcb_window_t window,
7675 xcb_cursor_t cursor,
7676 xcb_input_device_id_t deviceid);
7677
7678/**
7679 *
7680 * @param c The connection
7681 * @return A cookie
7682 *
7683 * Delivers a request to the X server.
7684 *
7685 */
7686xcb_void_cookie_t
7687xcb_input_xi_change_cursor (xcb_connection_t *c,
7688 xcb_window_t window,
7689 xcb_cursor_t cursor,
7690 xcb_input_device_id_t deviceid);
7691
7692int
7693xcb_input_add_master_sizeof (const void *_buffer);
7694
7695char *
7696xcb_input_add_master_name (const xcb_input_add_master_t *R);
7697
7698int
7699xcb_input_add_master_name_length (const xcb_input_add_master_t *R);
7700
7701xcb_generic_iterator_t
7702xcb_input_add_master_name_end (const xcb_input_add_master_t *R);
7703
7704/**
7705 * Get the next element of the iterator
7706 * @param i Pointer to a xcb_input_add_master_iterator_t
7707 *
7708 * Get the next element in the iterator. The member rem is
7709 * decreased by one. The member data points to the next
7710 * element. The member index is increased by sizeof(xcb_input_add_master_t)
7711 */
7712void
7713xcb_input_add_master_next (xcb_input_add_master_iterator_t *i);
7714
7715/**
7716 * Return the iterator pointing to the last element
7717 * @param i An xcb_input_add_master_iterator_t
7718 * @return The iterator pointing to the last element
7719 *
7720 * Set the current element in the iterator to the last element.
7721 * The member rem is set to 0. The member data points to the
7722 * last element.
7723 */
7724xcb_generic_iterator_t
7725xcb_input_add_master_end (xcb_input_add_master_iterator_t i);
7726
7727/**
7728 * Get the next element of the iterator
7729 * @param i Pointer to a xcb_input_remove_master_iterator_t
7730 *
7731 * Get the next element in the iterator. The member rem is
7732 * decreased by one. The member data points to the next
7733 * element. The member index is increased by sizeof(xcb_input_remove_master_t)
7734 */
7735void
7736xcb_input_remove_master_next (xcb_input_remove_master_iterator_t *i);
7737
7738/**
7739 * Return the iterator pointing to the last element
7740 * @param i An xcb_input_remove_master_iterator_t
7741 * @return The iterator pointing to the last element
7742 *
7743 * Set the current element in the iterator to the last element.
7744 * The member rem is set to 0. The member data points to the
7745 * last element.
7746 */
7747xcb_generic_iterator_t
7748xcb_input_remove_master_end (xcb_input_remove_master_iterator_t i);
7749
7750/**
7751 * Get the next element of the iterator
7752 * @param i Pointer to a xcb_input_attach_slave_iterator_t
7753 *
7754 * Get the next element in the iterator. The member rem is
7755 * decreased by one. The member data points to the next
7756 * element. The member index is increased by sizeof(xcb_input_attach_slave_t)
7757 */
7758void
7759xcb_input_attach_slave_next (xcb_input_attach_slave_iterator_t *i);
7760
7761/**
7762 * Return the iterator pointing to the last element
7763 * @param i An xcb_input_attach_slave_iterator_t
7764 * @return The iterator pointing to the last element
7765 *
7766 * Set the current element in the iterator to the last element.
7767 * The member rem is set to 0. The member data points to the
7768 * last element.
7769 */
7770xcb_generic_iterator_t
7771xcb_input_attach_slave_end (xcb_input_attach_slave_iterator_t i);
7772
7773/**
7774 * Get the next element of the iterator
7775 * @param i Pointer to a xcb_input_detach_slave_iterator_t
7776 *
7777 * Get the next element in the iterator. The member rem is
7778 * decreased by one. The member data points to the next
7779 * element. The member index is increased by sizeof(xcb_input_detach_slave_t)
7780 */
7781void
7782xcb_input_detach_slave_next (xcb_input_detach_slave_iterator_t *i);
7783
7784/**
7785 * Return the iterator pointing to the last element
7786 * @param i An xcb_input_detach_slave_iterator_t
7787 * @return The iterator pointing to the last element
7788 *
7789 * Set the current element in the iterator to the last element.
7790 * The member rem is set to 0. The member data points to the
7791 * last element.
7792 */
7793xcb_generic_iterator_t
7794xcb_input_detach_slave_end (xcb_input_detach_slave_iterator_t i);
7795
7796char *
7797xcb_input_hierarchy_change_data_add_master_name (const xcb_input_hierarchy_change_data_t *S);
7798
7799int
7800xcb_input_hierarchy_change_data_add_master_name_length (const xcb_input_hierarchy_change_t *R,
7801 const xcb_input_hierarchy_change_data_t *S);
7802
7803xcb_generic_iterator_t
7804xcb_input_hierarchy_change_data_add_master_name_end (const xcb_input_hierarchy_change_t *R,
7805 const xcb_input_hierarchy_change_data_t *S);
7806
7807int
7808xcb_input_hierarchy_change_data_serialize (void **_buffer,
7809 uint16_t type,
7810 const xcb_input_hierarchy_change_data_t *_aux);
7811
7812int
7813xcb_input_hierarchy_change_data_unpack (const void *_buffer,
7814 uint16_t type,
7815 xcb_input_hierarchy_change_data_t *_aux);
7816
7817int
7818xcb_input_hierarchy_change_data_sizeof (const void *_buffer,
7819 uint16_t type);
7820
7821int
7822xcb_input_hierarchy_change_sizeof (const void *_buffer);
7823
7824/**
7825 * Get the next element of the iterator
7826 * @param i Pointer to a xcb_input_hierarchy_change_iterator_t
7827 *
7828 * Get the next element in the iterator. The member rem is
7829 * decreased by one. The member data points to the next
7830 * element. The member index is increased by sizeof(xcb_input_hierarchy_change_t)
7831 */
7832void
7833xcb_input_hierarchy_change_next (xcb_input_hierarchy_change_iterator_t *i);
7834
7835/**
7836 * Return the iterator pointing to the last element
7837 * @param i An xcb_input_hierarchy_change_iterator_t
7838 * @return The iterator pointing to the last element
7839 *
7840 * Set the current element in the iterator to the last element.
7841 * The member rem is set to 0. The member data points to the
7842 * last element.
7843 */
7844xcb_generic_iterator_t
7845xcb_input_hierarchy_change_end (xcb_input_hierarchy_change_iterator_t i);
7846
7847int
7848xcb_input_xi_change_hierarchy_sizeof (const void *_buffer);
7849
7850/**
7851 *
7852 * @param c The connection
7853 * @return A cookie
7854 *
7855 * Delivers a request to the X server.
7856 *
7857 * This form can be used only if the request will not cause
7858 * a reply to be generated. Any returned error will be
7859 * saved for handling by xcb_request_check().
7860 */
7861xcb_void_cookie_t
7862xcb_input_xi_change_hierarchy_checked (xcb_connection_t *c,
7863 uint8_t num_changes,
7864 const xcb_input_hierarchy_change_t *changes);
7865
7866/**
7867 *
7868 * @param c The connection
7869 * @return A cookie
7870 *
7871 * Delivers a request to the X server.
7872 *
7873 */
7874xcb_void_cookie_t
7875xcb_input_xi_change_hierarchy (xcb_connection_t *c,
7876 uint8_t num_changes,
7877 const xcb_input_hierarchy_change_t *changes);
7878
7879int
7880xcb_input_xi_change_hierarchy_changes_length (const xcb_input_xi_change_hierarchy_request_t *R);
7881
7882xcb_input_hierarchy_change_iterator_t
7883xcb_input_xi_change_hierarchy_changes_iterator (const xcb_input_xi_change_hierarchy_request_t *R);
7884
7885/**
7886 *
7887 * @param c The connection
7888 * @return A cookie
7889 *
7890 * Delivers a request to the X server.
7891 *
7892 * This form can be used only if the request will not cause
7893 * a reply to be generated. Any returned error will be
7894 * saved for handling by xcb_request_check().
7895 */
7896xcb_void_cookie_t
7897xcb_input_xi_set_client_pointer_checked (xcb_connection_t *c,
7898 xcb_window_t window,
7899 xcb_input_device_id_t deviceid);
7900
7901/**
7902 *
7903 * @param c The connection
7904 * @return A cookie
7905 *
7906 * Delivers a request to the X server.
7907 *
7908 */
7909xcb_void_cookie_t
7910xcb_input_xi_set_client_pointer (xcb_connection_t *c,
7911 xcb_window_t window,
7912 xcb_input_device_id_t deviceid);
7913
7914/**
7915 *
7916 * @param c The connection
7917 * @return A cookie
7918 *
7919 * Delivers a request to the X server.
7920 *
7921 */
7922xcb_input_xi_get_client_pointer_cookie_t
7923xcb_input_xi_get_client_pointer (xcb_connection_t *c,
7924 xcb_window_t window);
7925
7926/**
7927 *
7928 * @param c The connection
7929 * @return A cookie
7930 *
7931 * Delivers a request to the X server.
7932 *
7933 * This form can be used only if the request will cause
7934 * a reply to be generated. Any returned error will be
7935 * placed in the event queue.
7936 */
7937xcb_input_xi_get_client_pointer_cookie_t
7938xcb_input_xi_get_client_pointer_unchecked (xcb_connection_t *c,
7939 xcb_window_t window);
7940
7941/**
7942 * Return the reply
7943 * @param c The connection
7944 * @param cookie The cookie
7945 * @param e The xcb_generic_error_t supplied
7946 *
7947 * Returns the reply of the request asked by
7948 *
7949 * The parameter @p e supplied to this function must be NULL if
7950 * xcb_input_xi_get_client_pointer_unchecked(). is used.
7951 * Otherwise, it stores the error if any.
7952 *
7953 * The returned value must be freed by the caller using free().
7954 */
7955xcb_input_xi_get_client_pointer_reply_t *
7956xcb_input_xi_get_client_pointer_reply (xcb_connection_t *c,
7957 xcb_input_xi_get_client_pointer_cookie_t cookie /**< */,
7958 xcb_generic_error_t **e);
7959
7960int
7961xcb_input_event_mask_sizeof (const void *_buffer);
7962
7963uint32_t *
7964xcb_input_event_mask_mask (const xcb_input_event_mask_t *R);
7965
7966int
7967xcb_input_event_mask_mask_length (const xcb_input_event_mask_t *R);
7968
7969xcb_generic_iterator_t
7970xcb_input_event_mask_mask_end (const xcb_input_event_mask_t *R);
7971
7972/**
7973 * Get the next element of the iterator
7974 * @param i Pointer to a xcb_input_event_mask_iterator_t
7975 *
7976 * Get the next element in the iterator. The member rem is
7977 * decreased by one. The member data points to the next
7978 * element. The member index is increased by sizeof(xcb_input_event_mask_t)
7979 */
7980void
7981xcb_input_event_mask_next (xcb_input_event_mask_iterator_t *i);
7982
7983/**
7984 * Return the iterator pointing to the last element
7985 * @param i An xcb_input_event_mask_iterator_t
7986 * @return The iterator pointing to the last element
7987 *
7988 * Set the current element in the iterator to the last element.
7989 * The member rem is set to 0. The member data points to the
7990 * last element.
7991 */
7992xcb_generic_iterator_t
7993xcb_input_event_mask_end (xcb_input_event_mask_iterator_t i);
7994
7995int
7996xcb_input_xi_select_events_sizeof (const void *_buffer);
7997
7998/**
7999 *
8000 * @param c The connection
8001 * @return A cookie
8002 *
8003 * Delivers a request to the X server.
8004 *
8005 * This form can be used only if the request will not cause
8006 * a reply to be generated. Any returned error will be
8007 * saved for handling by xcb_request_check().
8008 */
8009xcb_void_cookie_t
8010xcb_input_xi_select_events_checked (xcb_connection_t *c,
8011 xcb_window_t window,
8012 uint16_t num_mask,
8013 const xcb_input_event_mask_t *masks);
8014
8015/**
8016 *
8017 * @param c The connection
8018 * @return A cookie
8019 *
8020 * Delivers a request to the X server.
8021 *
8022 */
8023xcb_void_cookie_t
8024xcb_input_xi_select_events (xcb_connection_t *c,
8025 xcb_window_t window,
8026 uint16_t num_mask,
8027 const xcb_input_event_mask_t *masks);
8028
8029int
8030xcb_input_xi_select_events_masks_length (const xcb_input_xi_select_events_request_t *R);
8031
8032xcb_input_event_mask_iterator_t
8033xcb_input_xi_select_events_masks_iterator (const xcb_input_xi_select_events_request_t *R);
8034
8035/**
8036 *
8037 * @param c The connection
8038 * @return A cookie
8039 *
8040 * Delivers a request to the X server.
8041 *
8042 */
8043xcb_input_xi_query_version_cookie_t
8044xcb_input_xi_query_version (xcb_connection_t *c,
8045 uint16_t major_version,
8046 uint16_t minor_version);
8047
8048/**
8049 *
8050 * @param c The connection
8051 * @return A cookie
8052 *
8053 * Delivers a request to the X server.
8054 *
8055 * This form can be used only if the request will cause
8056 * a reply to be generated. Any returned error will be
8057 * placed in the event queue.
8058 */
8059xcb_input_xi_query_version_cookie_t
8060xcb_input_xi_query_version_unchecked (xcb_connection_t *c,
8061 uint16_t major_version,
8062 uint16_t minor_version);
8063
8064/**
8065 * Return the reply
8066 * @param c The connection
8067 * @param cookie The cookie
8068 * @param e The xcb_generic_error_t supplied
8069 *
8070 * Returns the reply of the request asked by
8071 *
8072 * The parameter @p e supplied to this function must be NULL if
8073 * xcb_input_xi_query_version_unchecked(). is used.
8074 * Otherwise, it stores the error if any.
8075 *
8076 * The returned value must be freed by the caller using free().
8077 */
8078xcb_input_xi_query_version_reply_t *
8079xcb_input_xi_query_version_reply (xcb_connection_t *c,
8080 xcb_input_xi_query_version_cookie_t cookie /**< */,
8081 xcb_generic_error_t **e);
8082
8083int
8084xcb_input_button_class_sizeof (const void *_buffer);
8085
8086uint32_t *
8087xcb_input_button_class_state (const xcb_input_button_class_t *R);
8088
8089int
8090xcb_input_button_class_state_length (const xcb_input_button_class_t *R);
8091
8092xcb_generic_iterator_t
8093xcb_input_button_class_state_end (const xcb_input_button_class_t *R);
8094
8095xcb_atom_t *
8096xcb_input_button_class_labels (const xcb_input_button_class_t *R);
8097
8098int
8099xcb_input_button_class_labels_length (const xcb_input_button_class_t *R);
8100
8101xcb_generic_iterator_t
8102xcb_input_button_class_labels_end (const xcb_input_button_class_t *R);
8103
8104/**
8105 * Get the next element of the iterator
8106 * @param i Pointer to a xcb_input_button_class_iterator_t
8107 *
8108 * Get the next element in the iterator. The member rem is
8109 * decreased by one. The member data points to the next
8110 * element. The member index is increased by sizeof(xcb_input_button_class_t)
8111 */
8112void
8113xcb_input_button_class_next (xcb_input_button_class_iterator_t *i);
8114
8115/**
8116 * Return the iterator pointing to the last element
8117 * @param i An xcb_input_button_class_iterator_t
8118 * @return The iterator pointing to the last element
8119 *
8120 * Set the current element in the iterator to the last element.
8121 * The member rem is set to 0. The member data points to the
8122 * last element.
8123 */
8124xcb_generic_iterator_t
8125xcb_input_button_class_end (xcb_input_button_class_iterator_t i);
8126
8127int
8128xcb_input_key_class_sizeof (const void *_buffer);
8129
8130uint32_t *
8131xcb_input_key_class_keys (const xcb_input_key_class_t *R);
8132
8133int
8134xcb_input_key_class_keys_length (const xcb_input_key_class_t *R);
8135
8136xcb_generic_iterator_t
8137xcb_input_key_class_keys_end (const xcb_input_key_class_t *R);
8138
8139/**
8140 * Get the next element of the iterator
8141 * @param i Pointer to a xcb_input_key_class_iterator_t
8142 *
8143 * Get the next element in the iterator. The member rem is
8144 * decreased by one. The member data points to the next
8145 * element. The member index is increased by sizeof(xcb_input_key_class_t)
8146 */
8147void
8148xcb_input_key_class_next (xcb_input_key_class_iterator_t *i);
8149
8150/**
8151 * Return the iterator pointing to the last element
8152 * @param i An xcb_input_key_class_iterator_t
8153 * @return The iterator pointing to the last element
8154 *
8155 * Set the current element in the iterator to the last element.
8156 * The member rem is set to 0. The member data points to the
8157 * last element.
8158 */
8159xcb_generic_iterator_t
8160xcb_input_key_class_end (xcb_input_key_class_iterator_t i);
8161
8162/**
8163 * Get the next element of the iterator
8164 * @param i Pointer to a xcb_input_scroll_class_iterator_t
8165 *
8166 * Get the next element in the iterator. The member rem is
8167 * decreased by one. The member data points to the next
8168 * element. The member index is increased by sizeof(xcb_input_scroll_class_t)
8169 */
8170void
8171xcb_input_scroll_class_next (xcb_input_scroll_class_iterator_t *i);
8172
8173/**
8174 * Return the iterator pointing to the last element
8175 * @param i An xcb_input_scroll_class_iterator_t
8176 * @return The iterator pointing to the last element
8177 *
8178 * Set the current element in the iterator to the last element.
8179 * The member rem is set to 0. The member data points to the
8180 * last element.
8181 */
8182xcb_generic_iterator_t
8183xcb_input_scroll_class_end (xcb_input_scroll_class_iterator_t i);
8184
8185/**
8186 * Get the next element of the iterator
8187 * @param i Pointer to a xcb_input_touch_class_iterator_t
8188 *
8189 * Get the next element in the iterator. The member rem is
8190 * decreased by one. The member data points to the next
8191 * element. The member index is increased by sizeof(xcb_input_touch_class_t)
8192 */
8193void
8194xcb_input_touch_class_next (xcb_input_touch_class_iterator_t *i);
8195
8196/**
8197 * Return the iterator pointing to the last element
8198 * @param i An xcb_input_touch_class_iterator_t
8199 * @return The iterator pointing to the last element
8200 *
8201 * Set the current element in the iterator to the last element.
8202 * The member rem is set to 0. The member data points to the
8203 * last element.
8204 */
8205xcb_generic_iterator_t
8206xcb_input_touch_class_end (xcb_input_touch_class_iterator_t i);
8207
8208/**
8209 * Get the next element of the iterator
8210 * @param i Pointer to a xcb_input_gesture_class_iterator_t
8211 *
8212 * Get the next element in the iterator. The member rem is
8213 * decreased by one. The member data points to the next
8214 * element. The member index is increased by sizeof(xcb_input_gesture_class_t)
8215 */
8216void
8217xcb_input_gesture_class_next (xcb_input_gesture_class_iterator_t *i);
8218
8219/**
8220 * Return the iterator pointing to the last element
8221 * @param i An xcb_input_gesture_class_iterator_t
8222 * @return The iterator pointing to the last element
8223 *
8224 * Set the current element in the iterator to the last element.
8225 * The member rem is set to 0. The member data points to the
8226 * last element.
8227 */
8228xcb_generic_iterator_t
8229xcb_input_gesture_class_end (xcb_input_gesture_class_iterator_t i);
8230
8231/**
8232 * Get the next element of the iterator
8233 * @param i Pointer to a xcb_input_valuator_class_iterator_t
8234 *
8235 * Get the next element in the iterator. The member rem is
8236 * decreased by one. The member data points to the next
8237 * element. The member index is increased by sizeof(xcb_input_valuator_class_t)
8238 */
8239void
8240xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t *i);
8241
8242/**
8243 * Return the iterator pointing to the last element
8244 * @param i An xcb_input_valuator_class_iterator_t
8245 * @return The iterator pointing to the last element
8246 *
8247 * Set the current element in the iterator to the last element.
8248 * The member rem is set to 0. The member data points to the
8249 * last element.
8250 */
8251xcb_generic_iterator_t
8252xcb_input_valuator_class_end (xcb_input_valuator_class_iterator_t i);
8253
8254uint32_t *
8255xcb_input_device_class_data_key_keys (const xcb_input_device_class_data_t *S);
8256
8257int
8258xcb_input_device_class_data_key_keys_length (const xcb_input_device_class_t *R,
8259 const xcb_input_device_class_data_t *S);
8260
8261xcb_generic_iterator_t
8262xcb_input_device_class_data_key_keys_end (const xcb_input_device_class_t *R,
8263 const xcb_input_device_class_data_t *S);
8264
8265uint32_t *
8266xcb_input_device_class_data_button_state (const xcb_input_device_class_data_t *S);
8267
8268int
8269xcb_input_device_class_data_button_state_length (const xcb_input_device_class_t *R,
8270 const xcb_input_device_class_data_t *S);
8271
8272xcb_generic_iterator_t
8273xcb_input_device_class_data_button_state_end (const xcb_input_device_class_t *R,
8274 const xcb_input_device_class_data_t *S);
8275
8276xcb_atom_t *
8277xcb_input_device_class_data_button_labels (const xcb_input_device_class_data_t *S);
8278
8279int
8280xcb_input_device_class_data_button_labels_length (const xcb_input_device_class_t *R,
8281 const xcb_input_device_class_data_t *S);
8282
8283xcb_generic_iterator_t
8284xcb_input_device_class_data_button_labels_end (const xcb_input_device_class_t *R,
8285 const xcb_input_device_class_data_t *S);
8286
8287int
8288xcb_input_device_class_data_serialize (void **_buffer,
8289 uint16_t type,
8290 const xcb_input_device_class_data_t *_aux);
8291
8292int
8293xcb_input_device_class_data_unpack (const void *_buffer,
8294 uint16_t type,
8295 xcb_input_device_class_data_t *_aux);
8296
8297int
8298xcb_input_device_class_data_sizeof (const void *_buffer,
8299 uint16_t type);
8300
8301int
8302xcb_input_device_class_sizeof (const void *_buffer);
8303
8304/**
8305 * Get the next element of the iterator
8306 * @param i Pointer to a xcb_input_device_class_iterator_t
8307 *
8308 * Get the next element in the iterator. The member rem is
8309 * decreased by one. The member data points to the next
8310 * element. The member index is increased by sizeof(xcb_input_device_class_t)
8311 */
8312void
8313xcb_input_device_class_next (xcb_input_device_class_iterator_t *i);
8314
8315/**
8316 * Return the iterator pointing to the last element
8317 * @param i An xcb_input_device_class_iterator_t
8318 * @return The iterator pointing to the last element
8319 *
8320 * Set the current element in the iterator to the last element.
8321 * The member rem is set to 0. The member data points to the
8322 * last element.
8323 */
8324xcb_generic_iterator_t
8325xcb_input_device_class_end (xcb_input_device_class_iterator_t i);
8326
8327int
8328xcb_input_xi_device_info_sizeof (const void *_buffer);
8329
8330char *
8331xcb_input_xi_device_info_name (const xcb_input_xi_device_info_t *R);
8332
8333int
8334xcb_input_xi_device_info_name_length (const xcb_input_xi_device_info_t *R);
8335
8336xcb_generic_iterator_t
8337xcb_input_xi_device_info_name_end (const xcb_input_xi_device_info_t *R);
8338
8339int
8340xcb_input_xi_device_info_classes_length (const xcb_input_xi_device_info_t *R);
8341
8342xcb_input_device_class_iterator_t
8343xcb_input_xi_device_info_classes_iterator (const xcb_input_xi_device_info_t *R);
8344
8345/**
8346 * Get the next element of the iterator
8347 * @param i Pointer to a xcb_input_xi_device_info_iterator_t
8348 *
8349 * Get the next element in the iterator. The member rem is
8350 * decreased by one. The member data points to the next
8351 * element. The member index is increased by sizeof(xcb_input_xi_device_info_t)
8352 */
8353void
8354xcb_input_xi_device_info_next (xcb_input_xi_device_info_iterator_t *i);
8355
8356/**
8357 * Return the iterator pointing to the last element
8358 * @param i An xcb_input_xi_device_info_iterator_t
8359 * @return The iterator pointing to the last element
8360 *
8361 * Set the current element in the iterator to the last element.
8362 * The member rem is set to 0. The member data points to the
8363 * last element.
8364 */
8365xcb_generic_iterator_t
8366xcb_input_xi_device_info_end (xcb_input_xi_device_info_iterator_t i);
8367
8368int
8369xcb_input_xi_query_device_sizeof (const void *_buffer);
8370
8371/**
8372 *
8373 * @param c The connection
8374 * @return A cookie
8375 *
8376 * Delivers a request to the X server.
8377 *
8378 */
8379xcb_input_xi_query_device_cookie_t
8380xcb_input_xi_query_device (xcb_connection_t *c,
8381 xcb_input_device_id_t deviceid);
8382
8383/**
8384 *
8385 * @param c The connection
8386 * @return A cookie
8387 *
8388 * Delivers a request to the X server.
8389 *
8390 * This form can be used only if the request will cause
8391 * a reply to be generated. Any returned error will be
8392 * placed in the event queue.
8393 */
8394xcb_input_xi_query_device_cookie_t
8395xcb_input_xi_query_device_unchecked (xcb_connection_t *c,
8396 xcb_input_device_id_t deviceid);
8397
8398int
8399xcb_input_xi_query_device_infos_length (const xcb_input_xi_query_device_reply_t *R);
8400
8401xcb_input_xi_device_info_iterator_t
8402xcb_input_xi_query_device_infos_iterator (const xcb_input_xi_query_device_reply_t *R);
8403
8404/**
8405 * Return the reply
8406 * @param c The connection
8407 * @param cookie The cookie
8408 * @param e The xcb_generic_error_t supplied
8409 *
8410 * Returns the reply of the request asked by
8411 *
8412 * The parameter @p e supplied to this function must be NULL if
8413 * xcb_input_xi_query_device_unchecked(). is used.
8414 * Otherwise, it stores the error if any.
8415 *
8416 * The returned value must be freed by the caller using free().
8417 */
8418xcb_input_xi_query_device_reply_t *
8419xcb_input_xi_query_device_reply (xcb_connection_t *c,
8420 xcb_input_xi_query_device_cookie_t cookie /**< */,
8421 xcb_generic_error_t **e);
8422
8423/**
8424 *
8425 * @param c The connection
8426 * @return A cookie
8427 *
8428 * Delivers a request to the X server.
8429 *
8430 * This form can be used only if the request will not cause
8431 * a reply to be generated. Any returned error will be
8432 * saved for handling by xcb_request_check().
8433 */
8434xcb_void_cookie_t
8435xcb_input_xi_set_focus_checked (xcb_connection_t *c,
8436 xcb_window_t window,
8437 xcb_timestamp_t time,
8438 xcb_input_device_id_t deviceid);
8439
8440/**
8441 *
8442 * @param c The connection
8443 * @return A cookie
8444 *
8445 * Delivers a request to the X server.
8446 *
8447 */
8448xcb_void_cookie_t
8449xcb_input_xi_set_focus (xcb_connection_t *c,
8450 xcb_window_t window,
8451 xcb_timestamp_t time,
8452 xcb_input_device_id_t deviceid);
8453
8454/**
8455 *
8456 * @param c The connection
8457 * @return A cookie
8458 *
8459 * Delivers a request to the X server.
8460 *
8461 */
8462xcb_input_xi_get_focus_cookie_t
8463xcb_input_xi_get_focus (xcb_connection_t *c,
8464 xcb_input_device_id_t deviceid);
8465
8466/**
8467 *
8468 * @param c The connection
8469 * @return A cookie
8470 *
8471 * Delivers a request to the X server.
8472 *
8473 * This form can be used only if the request will cause
8474 * a reply to be generated. Any returned error will be
8475 * placed in the event queue.
8476 */
8477xcb_input_xi_get_focus_cookie_t
8478xcb_input_xi_get_focus_unchecked (xcb_connection_t *c,
8479 xcb_input_device_id_t deviceid);
8480
8481/**
8482 * Return the reply
8483 * @param c The connection
8484 * @param cookie The cookie
8485 * @param e The xcb_generic_error_t supplied
8486 *
8487 * Returns the reply of the request asked by
8488 *
8489 * The parameter @p e supplied to this function must be NULL if
8490 * xcb_input_xi_get_focus_unchecked(). is used.
8491 * Otherwise, it stores the error if any.
8492 *
8493 * The returned value must be freed by the caller using free().
8494 */
8495xcb_input_xi_get_focus_reply_t *
8496xcb_input_xi_get_focus_reply (xcb_connection_t *c,
8497 xcb_input_xi_get_focus_cookie_t cookie /**< */,
8498 xcb_generic_error_t **e);
8499
8500int
8501xcb_input_xi_grab_device_sizeof (const void *_buffer);
8502
8503/**
8504 *
8505 * @param c The connection
8506 * @return A cookie
8507 *
8508 * Delivers a request to the X server.
8509 *
8510 */
8511xcb_input_xi_grab_device_cookie_t
8512xcb_input_xi_grab_device (xcb_connection_t *c,
8513 xcb_window_t window,
8514 xcb_timestamp_t time,
8515 xcb_cursor_t cursor,
8516 xcb_input_device_id_t deviceid,
8517 uint8_t mode,
8518 uint8_t paired_device_mode,
8519 uint8_t owner_events,
8520 uint16_t mask_len,
8521 const uint32_t *mask);
8522
8523/**
8524 *
8525 * @param c The connection
8526 * @return A cookie
8527 *
8528 * Delivers a request to the X server.
8529 *
8530 * This form can be used only if the request will cause
8531 * a reply to be generated. Any returned error will be
8532 * placed in the event queue.
8533 */
8534xcb_input_xi_grab_device_cookie_t
8535xcb_input_xi_grab_device_unchecked (xcb_connection_t *c,
8536 xcb_window_t window,
8537 xcb_timestamp_t time,
8538 xcb_cursor_t cursor,
8539 xcb_input_device_id_t deviceid,
8540 uint8_t mode,
8541 uint8_t paired_device_mode,
8542 uint8_t owner_events,
8543 uint16_t mask_len,
8544 const uint32_t *mask);
8545
8546/**
8547 * Return the reply
8548 * @param c The connection
8549 * @param cookie The cookie
8550 * @param e The xcb_generic_error_t supplied
8551 *
8552 * Returns the reply of the request asked by
8553 *
8554 * The parameter @p e supplied to this function must be NULL if
8555 * xcb_input_xi_grab_device_unchecked(). is used.
8556 * Otherwise, it stores the error if any.
8557 *
8558 * The returned value must be freed by the caller using free().
8559 */
8560xcb_input_xi_grab_device_reply_t *
8561xcb_input_xi_grab_device_reply (xcb_connection_t *c,
8562 xcb_input_xi_grab_device_cookie_t cookie /**< */,
8563 xcb_generic_error_t **e);
8564
8565/**
8566 *
8567 * @param c The connection
8568 * @return A cookie
8569 *
8570 * Delivers a request to the X server.
8571 *
8572 * This form can be used only if the request will not cause
8573 * a reply to be generated. Any returned error will be
8574 * saved for handling by xcb_request_check().
8575 */
8576xcb_void_cookie_t
8577xcb_input_xi_ungrab_device_checked (xcb_connection_t *c,
8578 xcb_timestamp_t time,
8579 xcb_input_device_id_t deviceid);
8580
8581/**
8582 *
8583 * @param c The connection
8584 * @return A cookie
8585 *
8586 * Delivers a request to the X server.
8587 *
8588 */
8589xcb_void_cookie_t
8590xcb_input_xi_ungrab_device (xcb_connection_t *c,
8591 xcb_timestamp_t time,
8592 xcb_input_device_id_t deviceid);
8593
8594/**
8595 *
8596 * @param c The connection
8597 * @return A cookie
8598 *
8599 * Delivers a request to the X server.
8600 *
8601 * This form can be used only if the request will not cause
8602 * a reply to be generated. Any returned error will be
8603 * saved for handling by xcb_request_check().
8604 */
8605xcb_void_cookie_t
8606xcb_input_xi_allow_events_checked (xcb_connection_t *c,
8607 xcb_timestamp_t time,
8608 xcb_input_device_id_t deviceid,
8609 uint8_t event_mode,
8610 uint32_t touchid,
8611 xcb_window_t grab_window);
8612
8613/**
8614 *
8615 * @param c The connection
8616 * @return A cookie
8617 *
8618 * Delivers a request to the X server.
8619 *
8620 */
8621xcb_void_cookie_t
8622xcb_input_xi_allow_events (xcb_connection_t *c,
8623 xcb_timestamp_t time,
8624 xcb_input_device_id_t deviceid,
8625 uint8_t event_mode,
8626 uint32_t touchid,
8627 xcb_window_t grab_window);
8628
8629/**
8630 * Get the next element of the iterator
8631 * @param i Pointer to a xcb_input_grab_modifier_info_iterator_t
8632 *
8633 * Get the next element in the iterator. The member rem is
8634 * decreased by one. The member data points to the next
8635 * element. The member index is increased by sizeof(xcb_input_grab_modifier_info_t)
8636 */
8637void
8638xcb_input_grab_modifier_info_next (xcb_input_grab_modifier_info_iterator_t *i);
8639
8640/**
8641 * Return the iterator pointing to the last element
8642 * @param i An xcb_input_grab_modifier_info_iterator_t
8643 * @return The iterator pointing to the last element
8644 *
8645 * Set the current element in the iterator to the last element.
8646 * The member rem is set to 0. The member data points to the
8647 * last element.
8648 */
8649xcb_generic_iterator_t
8650xcb_input_grab_modifier_info_end (xcb_input_grab_modifier_info_iterator_t i);
8651
8652int
8653xcb_input_xi_passive_grab_device_sizeof (const void *_buffer);
8654
8655/**
8656 *
8657 * @param c The connection
8658 * @return A cookie
8659 *
8660 * Delivers a request to the X server.
8661 *
8662 */
8663xcb_input_xi_passive_grab_device_cookie_t
8664xcb_input_xi_passive_grab_device (xcb_connection_t *c,
8665 xcb_timestamp_t time,
8666 xcb_window_t grab_window,
8667 xcb_cursor_t cursor,
8668 uint32_t detail,
8669 xcb_input_device_id_t deviceid,
8670 uint16_t num_modifiers,
8671 uint16_t mask_len,
8672 uint8_t grab_type,
8673 uint8_t grab_mode,
8674 uint8_t paired_device_mode,
8675 uint8_t owner_events,
8676 const uint32_t *mask,
8677 const uint32_t *modifiers);
8678
8679/**
8680 *
8681 * @param c The connection
8682 * @return A cookie
8683 *
8684 * Delivers a request to the X server.
8685 *
8686 * This form can be used only if the request will cause
8687 * a reply to be generated. Any returned error will be
8688 * placed in the event queue.
8689 */
8690xcb_input_xi_passive_grab_device_cookie_t
8691xcb_input_xi_passive_grab_device_unchecked (xcb_connection_t *c,
8692 xcb_timestamp_t time,
8693 xcb_window_t grab_window,
8694 xcb_cursor_t cursor,
8695 uint32_t detail,
8696 xcb_input_device_id_t deviceid,
8697 uint16_t num_modifiers,
8698 uint16_t mask_len,
8699 uint8_t grab_type,
8700 uint8_t grab_mode,
8701 uint8_t paired_device_mode,
8702 uint8_t owner_events,
8703 const uint32_t *mask,
8704 const uint32_t *modifiers);
8705
8706xcb_input_grab_modifier_info_t *
8707xcb_input_xi_passive_grab_device_modifiers (const xcb_input_xi_passive_grab_device_reply_t *R);
8708
8709int
8710xcb_input_xi_passive_grab_device_modifiers_length (const xcb_input_xi_passive_grab_device_reply_t *R);
8711
8712xcb_input_grab_modifier_info_iterator_t
8713xcb_input_xi_passive_grab_device_modifiers_iterator (const xcb_input_xi_passive_grab_device_reply_t *R);
8714
8715/**
8716 * Return the reply
8717 * @param c The connection
8718 * @param cookie The cookie
8719 * @param e The xcb_generic_error_t supplied
8720 *
8721 * Returns the reply of the request asked by
8722 *
8723 * The parameter @p e supplied to this function must be NULL if
8724 * xcb_input_xi_passive_grab_device_unchecked(). is used.
8725 * Otherwise, it stores the error if any.
8726 *
8727 * The returned value must be freed by the caller using free().
8728 */
8729xcb_input_xi_passive_grab_device_reply_t *
8730xcb_input_xi_passive_grab_device_reply (xcb_connection_t *c,
8731 xcb_input_xi_passive_grab_device_cookie_t cookie /**< */,
8732 xcb_generic_error_t **e);
8733
8734int
8735xcb_input_xi_passive_ungrab_device_sizeof (const void *_buffer);
8736
8737/**
8738 *
8739 * @param c The connection
8740 * @return A cookie
8741 *
8742 * Delivers a request to the X server.
8743 *
8744 * This form can be used only if the request will not cause
8745 * a reply to be generated. Any returned error will be
8746 * saved for handling by xcb_request_check().
8747 */
8748xcb_void_cookie_t
8749xcb_input_xi_passive_ungrab_device_checked (xcb_connection_t *c,
8750 xcb_window_t grab_window,
8751 uint32_t detail,
8752 xcb_input_device_id_t deviceid,
8753 uint16_t num_modifiers,
8754 uint8_t grab_type,
8755 const uint32_t *modifiers);
8756
8757/**
8758 *
8759 * @param c The connection
8760 * @return A cookie
8761 *
8762 * Delivers a request to the X server.
8763 *
8764 */
8765xcb_void_cookie_t
8766xcb_input_xi_passive_ungrab_device (xcb_connection_t *c,
8767 xcb_window_t grab_window,
8768 uint32_t detail,
8769 xcb_input_device_id_t deviceid,
8770 uint16_t num_modifiers,
8771 uint8_t grab_type,
8772 const uint32_t *modifiers);
8773
8774uint32_t *
8775xcb_input_xi_passive_ungrab_device_modifiers (const xcb_input_xi_passive_ungrab_device_request_t *R);
8776
8777int
8778xcb_input_xi_passive_ungrab_device_modifiers_length (const xcb_input_xi_passive_ungrab_device_request_t *R);
8779
8780xcb_generic_iterator_t
8781xcb_input_xi_passive_ungrab_device_modifiers_end (const xcb_input_xi_passive_ungrab_device_request_t *R);
8782
8783int
8784xcb_input_xi_list_properties_sizeof (const void *_buffer);
8785
8786/**
8787 *
8788 * @param c The connection
8789 * @return A cookie
8790 *
8791 * Delivers a request to the X server.
8792 *
8793 */
8794xcb_input_xi_list_properties_cookie_t
8795xcb_input_xi_list_properties (xcb_connection_t *c,
8796 xcb_input_device_id_t deviceid);
8797
8798/**
8799 *
8800 * @param c The connection
8801 * @return A cookie
8802 *
8803 * Delivers a request to the X server.
8804 *
8805 * This form can be used only if the request will cause
8806 * a reply to be generated. Any returned error will be
8807 * placed in the event queue.
8808 */
8809xcb_input_xi_list_properties_cookie_t
8810xcb_input_xi_list_properties_unchecked (xcb_connection_t *c,
8811 xcb_input_device_id_t deviceid);
8812
8813xcb_atom_t *
8814xcb_input_xi_list_properties_properties (const xcb_input_xi_list_properties_reply_t *R);
8815
8816int
8817xcb_input_xi_list_properties_properties_length (const xcb_input_xi_list_properties_reply_t *R);
8818
8819xcb_generic_iterator_t
8820xcb_input_xi_list_properties_properties_end (const xcb_input_xi_list_properties_reply_t *R);
8821
8822/**
8823 * Return the reply
8824 * @param c The connection
8825 * @param cookie The cookie
8826 * @param e The xcb_generic_error_t supplied
8827 *
8828 * Returns the reply of the request asked by
8829 *
8830 * The parameter @p e supplied to this function must be NULL if
8831 * xcb_input_xi_list_properties_unchecked(). is used.
8832 * Otherwise, it stores the error if any.
8833 *
8834 * The returned value must be freed by the caller using free().
8835 */
8836xcb_input_xi_list_properties_reply_t *
8837xcb_input_xi_list_properties_reply (xcb_connection_t *c,
8838 xcb_input_xi_list_properties_cookie_t cookie /**< */,
8839 xcb_generic_error_t **e);
8840
8841uint8_t *
8842xcb_input_xi_change_property_items_data_8 (const xcb_input_xi_change_property_items_t *S);
8843
8844int
8845xcb_input_xi_change_property_items_data_8_length (const xcb_input_xi_change_property_request_t *R,
8846 const xcb_input_xi_change_property_items_t *S);
8847
8848xcb_generic_iterator_t
8849xcb_input_xi_change_property_items_data_8_end (const xcb_input_xi_change_property_request_t *R,
8850 const xcb_input_xi_change_property_items_t *S);
8851
8852uint16_t *
8853xcb_input_xi_change_property_items_data_16 (const xcb_input_xi_change_property_items_t *S);
8854
8855int
8856xcb_input_xi_change_property_items_data_16_length (const xcb_input_xi_change_property_request_t *R,
8857 const xcb_input_xi_change_property_items_t *S);
8858
8859xcb_generic_iterator_t
8860xcb_input_xi_change_property_items_data_16_end (const xcb_input_xi_change_property_request_t *R,
8861 const xcb_input_xi_change_property_items_t *S);
8862
8863uint32_t *
8864xcb_input_xi_change_property_items_data_32 (const xcb_input_xi_change_property_items_t *S);
8865
8866int
8867xcb_input_xi_change_property_items_data_32_length (const xcb_input_xi_change_property_request_t *R,
8868 const xcb_input_xi_change_property_items_t *S);
8869
8870xcb_generic_iterator_t
8871xcb_input_xi_change_property_items_data_32_end (const xcb_input_xi_change_property_request_t *R,
8872 const xcb_input_xi_change_property_items_t *S);
8873
8874int
8875xcb_input_xi_change_property_items_serialize (void **_buffer,
8876 uint32_t num_items,
8877 uint8_t format,
8878 const xcb_input_xi_change_property_items_t *_aux);
8879
8880int
8881xcb_input_xi_change_property_items_unpack (const void *_buffer,
8882 uint32_t num_items,
8883 uint8_t format,
8884 xcb_input_xi_change_property_items_t *_aux);
8885
8886int
8887xcb_input_xi_change_property_items_sizeof (const void *_buffer,
8888 uint32_t num_items,
8889 uint8_t format);
8890
8891int
8892xcb_input_xi_change_property_sizeof (const void *_buffer);
8893
8894/**
8895 *
8896 * @param c The connection
8897 * @return A cookie
8898 *
8899 * Delivers a request to the X server.
8900 *
8901 * This form can be used only if the request will not cause
8902 * a reply to be generated. Any returned error will be
8903 * saved for handling by xcb_request_check().
8904 */
8905xcb_void_cookie_t
8906xcb_input_xi_change_property_checked (xcb_connection_t *c,
8907 xcb_input_device_id_t deviceid,
8908 uint8_t mode,
8909 uint8_t format,
8910 xcb_atom_t property,
8911 xcb_atom_t type,
8912 uint32_t num_items,
8913 const void *items);
8914
8915/**
8916 *
8917 * @param c The connection
8918 * @return A cookie
8919 *
8920 * Delivers a request to the X server.
8921 *
8922 */
8923xcb_void_cookie_t
8924xcb_input_xi_change_property (xcb_connection_t *c,
8925 xcb_input_device_id_t deviceid,
8926 uint8_t mode,
8927 uint8_t format,
8928 xcb_atom_t property,
8929 xcb_atom_t type,
8930 uint32_t num_items,
8931 const void *items);
8932
8933/**
8934 *
8935 * @param c The connection
8936 * @return A cookie
8937 *
8938 * Delivers a request to the X server.
8939 *
8940 * This form can be used only if the request will not cause
8941 * a reply to be generated. Any returned error will be
8942 * saved for handling by xcb_request_check().
8943 */
8944xcb_void_cookie_t
8945xcb_input_xi_change_property_aux_checked (xcb_connection_t *c,
8946 xcb_input_device_id_t deviceid,
8947 uint8_t mode,
8948 uint8_t format,
8949 xcb_atom_t property,
8950 xcb_atom_t type,
8951 uint32_t num_items,
8952 const xcb_input_xi_change_property_items_t *items);
8953
8954/**
8955 *
8956 * @param c The connection
8957 * @return A cookie
8958 *
8959 * Delivers a request to the X server.
8960 *
8961 */
8962xcb_void_cookie_t
8963xcb_input_xi_change_property_aux (xcb_connection_t *c,
8964 xcb_input_device_id_t deviceid,
8965 uint8_t mode,
8966 uint8_t format,
8967 xcb_atom_t property,
8968 xcb_atom_t type,
8969 uint32_t num_items,
8970 const xcb_input_xi_change_property_items_t *items);
8971
8972void *
8973xcb_input_xi_change_property_items (const xcb_input_xi_change_property_request_t *R);
8974
8975/**
8976 *
8977 * @param c The connection
8978 * @return A cookie
8979 *
8980 * Delivers a request to the X server.
8981 *
8982 * This form can be used only if the request will not cause
8983 * a reply to be generated. Any returned error will be
8984 * saved for handling by xcb_request_check().
8985 */
8986xcb_void_cookie_t
8987xcb_input_xi_delete_property_checked (xcb_connection_t *c,
8988 xcb_input_device_id_t deviceid,
8989 xcb_atom_t property);
8990
8991/**
8992 *
8993 * @param c The connection
8994 * @return A cookie
8995 *
8996 * Delivers a request to the X server.
8997 *
8998 */
8999xcb_void_cookie_t
9000xcb_input_xi_delete_property (xcb_connection_t *c,
9001 xcb_input_device_id_t deviceid,
9002 xcb_atom_t property);
9003
9004uint8_t *
9005xcb_input_xi_get_property_items_data_8 (const xcb_input_xi_get_property_items_t *S);
9006
9007int
9008xcb_input_xi_get_property_items_data_8_length (const xcb_input_xi_get_property_reply_t *R,
9009 const xcb_input_xi_get_property_items_t *S);
9010
9011xcb_generic_iterator_t
9012xcb_input_xi_get_property_items_data_8_end (const xcb_input_xi_get_property_reply_t *R,
9013 const xcb_input_xi_get_property_items_t *S);
9014
9015uint16_t *
9016xcb_input_xi_get_property_items_data_16 (const xcb_input_xi_get_property_items_t *S);
9017
9018int
9019xcb_input_xi_get_property_items_data_16_length (const xcb_input_xi_get_property_reply_t *R,
9020 const xcb_input_xi_get_property_items_t *S);
9021
9022xcb_generic_iterator_t
9023xcb_input_xi_get_property_items_data_16_end (const xcb_input_xi_get_property_reply_t *R,
9024 const xcb_input_xi_get_property_items_t *S);
9025
9026uint32_t *
9027xcb_input_xi_get_property_items_data_32 (const xcb_input_xi_get_property_items_t *S);
9028
9029int
9030xcb_input_xi_get_property_items_data_32_length (const xcb_input_xi_get_property_reply_t *R,
9031 const xcb_input_xi_get_property_items_t *S);
9032
9033xcb_generic_iterator_t
9034xcb_input_xi_get_property_items_data_32_end (const xcb_input_xi_get_property_reply_t *R,
9035 const xcb_input_xi_get_property_items_t *S);
9036
9037int
9038xcb_input_xi_get_property_items_serialize (void **_buffer,
9039 uint32_t num_items,
9040 uint8_t format,
9041 const xcb_input_xi_get_property_items_t *_aux);
9042
9043int
9044xcb_input_xi_get_property_items_unpack (const void *_buffer,
9045 uint32_t num_items,
9046 uint8_t format,
9047 xcb_input_xi_get_property_items_t *_aux);
9048
9049int
9050xcb_input_xi_get_property_items_sizeof (const void *_buffer,
9051 uint32_t num_items,
9052 uint8_t format);
9053
9054int
9055xcb_input_xi_get_property_sizeof (const void *_buffer);
9056
9057/**
9058 *
9059 * @param c The connection
9060 * @return A cookie
9061 *
9062 * Delivers a request to the X server.
9063 *
9064 */
9065xcb_input_xi_get_property_cookie_t
9066xcb_input_xi_get_property (xcb_connection_t *c,
9067 xcb_input_device_id_t deviceid,
9068 uint8_t _delete,
9069 xcb_atom_t property,
9070 xcb_atom_t type,
9071 uint32_t offset,
9072 uint32_t len);
9073
9074/**
9075 *
9076 * @param c The connection
9077 * @return A cookie
9078 *
9079 * Delivers a request to the X server.
9080 *
9081 * This form can be used only if the request will cause
9082 * a reply to be generated. Any returned error will be
9083 * placed in the event queue.
9084 */
9085xcb_input_xi_get_property_cookie_t
9086xcb_input_xi_get_property_unchecked (xcb_connection_t *c,
9087 xcb_input_device_id_t deviceid,
9088 uint8_t _delete,
9089 xcb_atom_t property,
9090 xcb_atom_t type,
9091 uint32_t offset,
9092 uint32_t len);
9093
9094void *
9095xcb_input_xi_get_property_items (const xcb_input_xi_get_property_reply_t *R);
9096
9097/**
9098 * Return the reply
9099 * @param c The connection
9100 * @param cookie The cookie
9101 * @param e The xcb_generic_error_t supplied
9102 *
9103 * Returns the reply of the request asked by
9104 *
9105 * The parameter @p e supplied to this function must be NULL if
9106 * xcb_input_xi_get_property_unchecked(). is used.
9107 * Otherwise, it stores the error if any.
9108 *
9109 * The returned value must be freed by the caller using free().
9110 */
9111xcb_input_xi_get_property_reply_t *
9112xcb_input_xi_get_property_reply (xcb_connection_t *c,
9113 xcb_input_xi_get_property_cookie_t cookie /**< */,
9114 xcb_generic_error_t **e);
9115
9116int
9117xcb_input_xi_get_selected_events_sizeof (const void *_buffer);
9118
9119/**
9120 *
9121 * @param c The connection
9122 * @return A cookie
9123 *
9124 * Delivers a request to the X server.
9125 *
9126 */
9127xcb_input_xi_get_selected_events_cookie_t
9128xcb_input_xi_get_selected_events (xcb_connection_t *c,
9129 xcb_window_t window);
9130
9131/**
9132 *
9133 * @param c The connection
9134 * @return A cookie
9135 *
9136 * Delivers a request to the X server.
9137 *
9138 * This form can be used only if the request will cause
9139 * a reply to be generated. Any returned error will be
9140 * placed in the event queue.
9141 */
9142xcb_input_xi_get_selected_events_cookie_t
9143xcb_input_xi_get_selected_events_unchecked (xcb_connection_t *c,
9144 xcb_window_t window);
9145
9146int
9147xcb_input_xi_get_selected_events_masks_length (const xcb_input_xi_get_selected_events_reply_t *R);
9148
9149xcb_input_event_mask_iterator_t
9150xcb_input_xi_get_selected_events_masks_iterator (const xcb_input_xi_get_selected_events_reply_t *R);
9151
9152/**
9153 * Return the reply
9154 * @param c The connection
9155 * @param cookie The cookie
9156 * @param e The xcb_generic_error_t supplied
9157 *
9158 * Returns the reply of the request asked by
9159 *
9160 * The parameter @p e supplied to this function must be NULL if
9161 * xcb_input_xi_get_selected_events_unchecked(). is used.
9162 * Otherwise, it stores the error if any.
9163 *
9164 * The returned value must be freed by the caller using free().
9165 */
9166xcb_input_xi_get_selected_events_reply_t *
9167xcb_input_xi_get_selected_events_reply (xcb_connection_t *c,
9168 xcb_input_xi_get_selected_events_cookie_t cookie /**< */,
9169 xcb_generic_error_t **e);
9170
9171int
9172xcb_input_device_changed_sizeof (const void *_buffer);
9173
9174int
9175xcb_input_device_changed_classes_length (const xcb_input_device_changed_event_t *R);
9176
9177xcb_input_device_class_iterator_t
9178xcb_input_device_changed_classes_iterator (const xcb_input_device_changed_event_t *R);
9179
9180int
9181xcb_input_key_press_sizeof (const void *_buffer);
9182
9183uint32_t *
9184xcb_input_key_press_button_mask (const xcb_input_key_press_event_t *R);
9185
9186int
9187xcb_input_key_press_button_mask_length (const xcb_input_key_press_event_t *R);
9188
9189xcb_generic_iterator_t
9190xcb_input_key_press_button_mask_end (const xcb_input_key_press_event_t *R);
9191
9192uint32_t *
9193xcb_input_key_press_valuator_mask (const xcb_input_key_press_event_t *R);
9194
9195int
9196xcb_input_key_press_valuator_mask_length (const xcb_input_key_press_event_t *R);
9197
9198xcb_generic_iterator_t
9199xcb_input_key_press_valuator_mask_end (const xcb_input_key_press_event_t *R);
9200
9201xcb_input_fp3232_t *
9202xcb_input_key_press_axisvalues (const xcb_input_key_press_event_t *R);
9203
9204int
9205xcb_input_key_press_axisvalues_length (const xcb_input_key_press_event_t *R);
9206
9207xcb_input_fp3232_iterator_t
9208xcb_input_key_press_axisvalues_iterator (const xcb_input_key_press_event_t *R);
9209
9210int
9211xcb_input_key_release_sizeof (const void *_buffer /**< */);
9212
9213int
9214xcb_input_button_press_sizeof (const void *_buffer);
9215
9216uint32_t *
9217xcb_input_button_press_button_mask (const xcb_input_button_press_event_t *R);
9218
9219int
9220xcb_input_button_press_button_mask_length (const xcb_input_button_press_event_t *R);
9221
9222xcb_generic_iterator_t
9223xcb_input_button_press_button_mask_end (const xcb_input_button_press_event_t *R);
9224
9225uint32_t *
9226xcb_input_button_press_valuator_mask (const xcb_input_button_press_event_t *R);
9227
9228int
9229xcb_input_button_press_valuator_mask_length (const xcb_input_button_press_event_t *R);
9230
9231xcb_generic_iterator_t
9232xcb_input_button_press_valuator_mask_end (const xcb_input_button_press_event_t *R);
9233
9234xcb_input_fp3232_t *
9235xcb_input_button_press_axisvalues (const xcb_input_button_press_event_t *R);
9236
9237int
9238xcb_input_button_press_axisvalues_length (const xcb_input_button_press_event_t *R);
9239
9240xcb_input_fp3232_iterator_t
9241xcb_input_button_press_axisvalues_iterator (const xcb_input_button_press_event_t *R);
9242
9243int
9244xcb_input_button_release_sizeof (const void *_buffer /**< */);
9245
9246int
9247xcb_input_motion_sizeof (const void *_buffer /**< */);
9248
9249int
9250xcb_input_enter_sizeof (const void *_buffer);
9251
9252uint32_t *
9253xcb_input_enter_buttons (const xcb_input_enter_event_t *R);
9254
9255int
9256xcb_input_enter_buttons_length (const xcb_input_enter_event_t *R);
9257
9258xcb_generic_iterator_t
9259xcb_input_enter_buttons_end (const xcb_input_enter_event_t *R);
9260
9261int
9262xcb_input_leave_sizeof (const void *_buffer /**< */);
9263
9264int
9265xcb_input_focus_in_sizeof (const void *_buffer /**< */);
9266
9267int
9268xcb_input_focus_out_sizeof (const void *_buffer /**< */);
9269
9270/**
9271 * Get the next element of the iterator
9272 * @param i Pointer to a xcb_input_hierarchy_info_iterator_t
9273 *
9274 * Get the next element in the iterator. The member rem is
9275 * decreased by one. The member data points to the next
9276 * element. The member index is increased by sizeof(xcb_input_hierarchy_info_t)
9277 */
9278void
9279xcb_input_hierarchy_info_next (xcb_input_hierarchy_info_iterator_t *i);
9280
9281/**
9282 * Return the iterator pointing to the last element
9283 * @param i An xcb_input_hierarchy_info_iterator_t
9284 * @return The iterator pointing to the last element
9285 *
9286 * Set the current element in the iterator to the last element.
9287 * The member rem is set to 0. The member data points to the
9288 * last element.
9289 */
9290xcb_generic_iterator_t
9291xcb_input_hierarchy_info_end (xcb_input_hierarchy_info_iterator_t i);
9292
9293int
9294xcb_input_hierarchy_sizeof (const void *_buffer);
9295
9296xcb_input_hierarchy_info_t *
9297xcb_input_hierarchy_infos (const xcb_input_hierarchy_event_t *R);
9298
9299int
9300xcb_input_hierarchy_infos_length (const xcb_input_hierarchy_event_t *R);
9301
9302xcb_input_hierarchy_info_iterator_t
9303xcb_input_hierarchy_infos_iterator (const xcb_input_hierarchy_event_t *R);
9304
9305int
9306xcb_input_raw_key_press_sizeof (const void *_buffer);
9307
9308uint32_t *
9309xcb_input_raw_key_press_valuator_mask (const xcb_input_raw_key_press_event_t *R);
9310
9311int
9312xcb_input_raw_key_press_valuator_mask_length (const xcb_input_raw_key_press_event_t *R);
9313
9314xcb_generic_iterator_t
9315xcb_input_raw_key_press_valuator_mask_end (const xcb_input_raw_key_press_event_t *R);
9316
9317xcb_input_fp3232_t *
9318xcb_input_raw_key_press_axisvalues (const xcb_input_raw_key_press_event_t *R);
9319
9320int
9321xcb_input_raw_key_press_axisvalues_length (const xcb_input_raw_key_press_event_t *R);
9322
9323xcb_input_fp3232_iterator_t
9324xcb_input_raw_key_press_axisvalues_iterator (const xcb_input_raw_key_press_event_t *R);
9325
9326xcb_input_fp3232_t *
9327xcb_input_raw_key_press_axisvalues_raw (const xcb_input_raw_key_press_event_t *R);
9328
9329int
9330xcb_input_raw_key_press_axisvalues_raw_length (const xcb_input_raw_key_press_event_t *R);
9331
9332xcb_input_fp3232_iterator_t
9333xcb_input_raw_key_press_axisvalues_raw_iterator (const xcb_input_raw_key_press_event_t *R);
9334
9335int
9336xcb_input_raw_key_release_sizeof (const void *_buffer /**< */);
9337
9338int
9339xcb_input_raw_button_press_sizeof (const void *_buffer);
9340
9341uint32_t *
9342xcb_input_raw_button_press_valuator_mask (const xcb_input_raw_button_press_event_t *R);
9343
9344int
9345xcb_input_raw_button_press_valuator_mask_length (const xcb_input_raw_button_press_event_t *R);
9346
9347xcb_generic_iterator_t
9348xcb_input_raw_button_press_valuator_mask_end (const xcb_input_raw_button_press_event_t *R);
9349
9350xcb_input_fp3232_t *
9351xcb_input_raw_button_press_axisvalues (const xcb_input_raw_button_press_event_t *R);
9352
9353int
9354xcb_input_raw_button_press_axisvalues_length (const xcb_input_raw_button_press_event_t *R);
9355
9356xcb_input_fp3232_iterator_t
9357xcb_input_raw_button_press_axisvalues_iterator (const xcb_input_raw_button_press_event_t *R);
9358
9359xcb_input_fp3232_t *
9360xcb_input_raw_button_press_axisvalues_raw (const xcb_input_raw_button_press_event_t *R);
9361
9362int
9363xcb_input_raw_button_press_axisvalues_raw_length (const xcb_input_raw_button_press_event_t *R);
9364
9365xcb_input_fp3232_iterator_t
9366xcb_input_raw_button_press_axisvalues_raw_iterator (const xcb_input_raw_button_press_event_t *R);
9367
9368int
9369xcb_input_raw_button_release_sizeof (const void *_buffer /**< */);
9370
9371int
9372xcb_input_raw_motion_sizeof (const void *_buffer /**< */);
9373
9374int
9375xcb_input_touch_begin_sizeof (const void *_buffer);
9376
9377uint32_t *
9378xcb_input_touch_begin_button_mask (const xcb_input_touch_begin_event_t *R);
9379
9380int
9381xcb_input_touch_begin_button_mask_length (const xcb_input_touch_begin_event_t *R);
9382
9383xcb_generic_iterator_t
9384xcb_input_touch_begin_button_mask_end (const xcb_input_touch_begin_event_t *R);
9385
9386uint32_t *
9387xcb_input_touch_begin_valuator_mask (const xcb_input_touch_begin_event_t *R);
9388
9389int
9390xcb_input_touch_begin_valuator_mask_length (const xcb_input_touch_begin_event_t *R);
9391
9392xcb_generic_iterator_t
9393xcb_input_touch_begin_valuator_mask_end (const xcb_input_touch_begin_event_t *R);
9394
9395xcb_input_fp3232_t *
9396xcb_input_touch_begin_axisvalues (const xcb_input_touch_begin_event_t *R);
9397
9398int
9399xcb_input_touch_begin_axisvalues_length (const xcb_input_touch_begin_event_t *R);
9400
9401xcb_input_fp3232_iterator_t
9402xcb_input_touch_begin_axisvalues_iterator (const xcb_input_touch_begin_event_t *R);
9403
9404int
9405xcb_input_touch_update_sizeof (const void *_buffer /**< */);
9406
9407int
9408xcb_input_touch_end_sizeof (const void *_buffer /**< */);
9409
9410int
9411xcb_input_raw_touch_begin_sizeof (const void *_buffer);
9412
9413uint32_t *
9414xcb_input_raw_touch_begin_valuator_mask (const xcb_input_raw_touch_begin_event_t *R);
9415
9416int
9417xcb_input_raw_touch_begin_valuator_mask_length (const xcb_input_raw_touch_begin_event_t *R);
9418
9419xcb_generic_iterator_t
9420xcb_input_raw_touch_begin_valuator_mask_end (const xcb_input_raw_touch_begin_event_t *R);
9421
9422xcb_input_fp3232_t *
9423xcb_input_raw_touch_begin_axisvalues (const xcb_input_raw_touch_begin_event_t *R);
9424
9425int
9426xcb_input_raw_touch_begin_axisvalues_length (const xcb_input_raw_touch_begin_event_t *R);
9427
9428xcb_input_fp3232_iterator_t
9429xcb_input_raw_touch_begin_axisvalues_iterator (const xcb_input_raw_touch_begin_event_t *R);
9430
9431xcb_input_fp3232_t *
9432xcb_input_raw_touch_begin_axisvalues_raw (const xcb_input_raw_touch_begin_event_t *R);
9433
9434int
9435xcb_input_raw_touch_begin_axisvalues_raw_length (const xcb_input_raw_touch_begin_event_t *R);
9436
9437xcb_input_fp3232_iterator_t
9438xcb_input_raw_touch_begin_axisvalues_raw_iterator (const xcb_input_raw_touch_begin_event_t *R);
9439
9440int
9441xcb_input_raw_touch_update_sizeof (const void *_buffer /**< */);
9442
9443int
9444xcb_input_raw_touch_end_sizeof (const void *_buffer /**< */);
9445
9446#ifdef __cplusplus
9447}
9448#endif
9449
9450#endif
9451
9452/**
9453 * @}
9454 */
9455

source code of qtbase/src/3rdparty/xcb/include/xcb/xinput.h