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