xref: /minix/external/mit/xorg/lib/libxcb/files/xinput.h (revision 0a6a1f1d)
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
19 extern "C" {
20 #endif
21 
22 #define XCB_INPUT_MAJOR_VERSION 2
23 #define XCB_INPUT_MINOR_VERSION 3
24 
25 extern xcb_extension_t xcb_input_id;
26 
27 typedef uint32_t xcb_input_event_class_t;
28 
29 /**
30  * @brief xcb_input_event_class_iterator_t
31  **/
32 typedef 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 
38 typedef uint8_t xcb_input_key_code_t;
39 
40 /**
41  * @brief xcb_input_key_code_iterator_t
42  **/
43 typedef 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 
49 typedef uint16_t xcb_input_device_id_t;
50 
51 /**
52  * @brief xcb_input_device_id_iterator_t
53  **/
54 typedef 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 
60 typedef int32_t xcb_input_fp1616_t;
61 
62 /**
63  * @brief xcb_input_fp1616_iterator_t
64  **/
65 typedef 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  **/
74 typedef 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  **/
82 typedef 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  **/
91 typedef 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  **/
101 typedef 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  **/
112 typedef struct xcb_input_get_extension_version_reply_t {
113     uint8_t  response_type; /**<  */
114     uint8_t  pad0; /**<  */
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  pad1[19]; /**<  */
121 } xcb_input_get_extension_version_reply_t;
122 
123 typedef 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 
131 typedef 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 
141 typedef 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  **/
149 typedef 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  **/
160 typedef 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  **/
169 typedef 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  **/
181 typedef 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  **/
190 typedef 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  **/
199 typedef 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  **/
208 typedef 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  **/
217 typedef 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  **/
226 typedef 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  **/
237 typedef 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_t
245  **/
246 typedef struct xcb_input_input_info_t {
247     uint8_t class_id; /**<  */
248     uint8_t len; /**<  */
249 } xcb_input_input_info_t;
250 
251 /**
252  * @brief xcb_input_input_info_iterator_t
253  **/
254 typedef struct xcb_input_input_info_iterator_t {
255     xcb_input_input_info_t *data; /**<  */
256     int                     rem; /**<  */
257     int                     index; /**<  */
258 } xcb_input_input_info_iterator_t;
259 
260 /**
261  * @brief xcb_input_device_name_t
262  **/
263 typedef struct xcb_input_device_name_t {
264     uint8_t len; /**<  */
265 } xcb_input_device_name_t;
266 
267 /**
268  * @brief xcb_input_device_name_iterator_t
269  **/
270 typedef struct xcb_input_device_name_iterator_t {
271     xcb_input_device_name_t *data; /**<  */
272     int                      rem; /**<  */
273     int                      index; /**<  */
274 } xcb_input_device_name_iterator_t;
275 
276 /**
277  * @brief xcb_input_list_input_devices_cookie_t
278  **/
279 typedef struct xcb_input_list_input_devices_cookie_t {
280     unsigned int sequence; /**<  */
281 } xcb_input_list_input_devices_cookie_t;
282 
283 /** Opcode for xcb_input_list_input_devices. */
284 #define XCB_INPUT_LIST_INPUT_DEVICES 2
285 
286 /**
287  * @brief xcb_input_list_input_devices_request_t
288  **/
289 typedef struct xcb_input_list_input_devices_request_t {
290     uint8_t  major_opcode; /**<  */
291     uint8_t  minor_opcode; /**<  */
292     uint16_t length; /**<  */
293 } xcb_input_list_input_devices_request_t;
294 
295 /**
296  * @brief xcb_input_list_input_devices_reply_t
297  **/
298 typedef struct xcb_input_list_input_devices_reply_t {
299     uint8_t  response_type; /**<  */
300     uint8_t  pad0; /**<  */
301     uint16_t sequence; /**<  */
302     uint32_t length; /**<  */
303     uint8_t  devices_len; /**<  */
304     uint8_t  pad1[23]; /**<  */
305 } xcb_input_list_input_devices_reply_t;
306 
307 /**
308  * @brief xcb_input_input_class_info_t
309  **/
310 typedef struct xcb_input_input_class_info_t {
311     uint8_t class_id; /**<  */
312     uint8_t event_type_base; /**<  */
313 } xcb_input_input_class_info_t;
314 
315 /**
316  * @brief xcb_input_input_class_info_iterator_t
317  **/
318 typedef struct xcb_input_input_class_info_iterator_t {
319     xcb_input_input_class_info_t *data; /**<  */
320     int                           rem; /**<  */
321     int                           index; /**<  */
322 } xcb_input_input_class_info_iterator_t;
323 
324 /**
325  * @brief xcb_input_open_device_cookie_t
326  **/
327 typedef struct xcb_input_open_device_cookie_t {
328     unsigned int sequence; /**<  */
329 } xcb_input_open_device_cookie_t;
330 
331 /** Opcode for xcb_input_open_device. */
332 #define XCB_INPUT_OPEN_DEVICE 3
333 
334 /**
335  * @brief xcb_input_open_device_request_t
336  **/
337 typedef struct xcb_input_open_device_request_t {
338     uint8_t  major_opcode; /**<  */
339     uint8_t  minor_opcode; /**<  */
340     uint16_t length; /**<  */
341     uint8_t  device_id; /**<  */
342     uint8_t  pad0[3]; /**<  */
343 } xcb_input_open_device_request_t;
344 
345 /**
346  * @brief xcb_input_open_device_reply_t
347  **/
348 typedef struct xcb_input_open_device_reply_t {
349     uint8_t  response_type; /**<  */
350     uint8_t  pad0; /**<  */
351     uint16_t sequence; /**<  */
352     uint32_t length; /**<  */
353     uint8_t  num_classes; /**<  */
354     uint8_t  pad1[23]; /**<  */
355 } xcb_input_open_device_reply_t;
356 
357 /** Opcode for xcb_input_close_device. */
358 #define XCB_INPUT_CLOSE_DEVICE 4
359 
360 /**
361  * @brief xcb_input_close_device_request_t
362  **/
363 typedef struct xcb_input_close_device_request_t {
364     uint8_t  major_opcode; /**<  */
365     uint8_t  minor_opcode; /**<  */
366     uint16_t length; /**<  */
367     uint8_t  device_id; /**<  */
368     uint8_t  pad0[3]; /**<  */
369 } xcb_input_close_device_request_t;
370 
371 /**
372  * @brief xcb_input_set_device_mode_cookie_t
373  **/
374 typedef struct xcb_input_set_device_mode_cookie_t {
375     unsigned int sequence; /**<  */
376 } xcb_input_set_device_mode_cookie_t;
377 
378 /** Opcode for xcb_input_set_device_mode. */
379 #define XCB_INPUT_SET_DEVICE_MODE 5
380 
381 /**
382  * @brief xcb_input_set_device_mode_request_t
383  **/
384 typedef struct xcb_input_set_device_mode_request_t {
385     uint8_t  major_opcode; /**<  */
386     uint8_t  minor_opcode; /**<  */
387     uint16_t length; /**<  */
388     uint8_t  device_id; /**<  */
389     uint8_t  mode; /**<  */
390     uint8_t  pad0[2]; /**<  */
391 } xcb_input_set_device_mode_request_t;
392 
393 /**
394  * @brief xcb_input_set_device_mode_reply_t
395  **/
396 typedef struct xcb_input_set_device_mode_reply_t {
397     uint8_t  response_type; /**<  */
398     uint8_t  pad0; /**<  */
399     uint16_t sequence; /**<  */
400     uint32_t length; /**<  */
401     uint8_t  status; /**<  */
402     uint8_t  pad1[23]; /**<  */
403 } xcb_input_set_device_mode_reply_t;
404 
405 /** Opcode for xcb_input_select_extension_event. */
406 #define XCB_INPUT_SELECT_EXTENSION_EVENT 6
407 
408 /**
409  * @brief xcb_input_select_extension_event_request_t
410  **/
411 typedef struct xcb_input_select_extension_event_request_t {
412     uint8_t      major_opcode; /**<  */
413     uint8_t      minor_opcode; /**<  */
414     uint16_t     length; /**<  */
415     xcb_window_t window; /**<  */
416     uint16_t     num_classes; /**<  */
417     uint8_t      pad0[2]; /**<  */
418 } xcb_input_select_extension_event_request_t;
419 
420 /**
421  * @brief xcb_input_get_selected_extension_events_cookie_t
422  **/
423 typedef struct xcb_input_get_selected_extension_events_cookie_t {
424     unsigned int sequence; /**<  */
425 } xcb_input_get_selected_extension_events_cookie_t;
426 
427 /** Opcode for xcb_input_get_selected_extension_events. */
428 #define XCB_INPUT_GET_SELECTED_EXTENSION_EVENTS 7
429 
430 /**
431  * @brief xcb_input_get_selected_extension_events_request_t
432  **/
433 typedef struct xcb_input_get_selected_extension_events_request_t {
434     uint8_t      major_opcode; /**<  */
435     uint8_t      minor_opcode; /**<  */
436     uint16_t     length; /**<  */
437     xcb_window_t window; /**<  */
438 } xcb_input_get_selected_extension_events_request_t;
439 
440 /**
441  * @brief xcb_input_get_selected_extension_events_reply_t
442  **/
443 typedef struct xcb_input_get_selected_extension_events_reply_t {
444     uint8_t  response_type; /**<  */
445     uint8_t  pad0; /**<  */
446     uint16_t sequence; /**<  */
447     uint32_t length; /**<  */
448     uint16_t num_this_classes; /**<  */
449     uint16_t num_all_classes; /**<  */
450     uint8_t  pad1[20]; /**<  */
451 } xcb_input_get_selected_extension_events_reply_t;
452 
453 typedef enum xcb_input_propagate_mode_t {
454     XCB_INPUT_PROPAGATE_MODE_ADD_TO_LIST = 0,
455     XCB_INPUT_PROPAGATE_MODE_DELETE_FROM_LIST = 1
456 } xcb_input_propagate_mode_t;
457 
458 /** Opcode for xcb_input_change_device_dont_propagate_list. */
459 #define XCB_INPUT_CHANGE_DEVICE_DONT_PROPAGATE_LIST 8
460 
461 /**
462  * @brief xcb_input_change_device_dont_propagate_list_request_t
463  **/
464 typedef struct xcb_input_change_device_dont_propagate_list_request_t {
465     uint8_t      major_opcode; /**<  */
466     uint8_t      minor_opcode; /**<  */
467     uint16_t     length; /**<  */
468     xcb_window_t window; /**<  */
469     uint16_t     num_classes; /**<  */
470     uint8_t      mode; /**<  */
471     uint8_t      pad0; /**<  */
472 } xcb_input_change_device_dont_propagate_list_request_t;
473 
474 /**
475  * @brief xcb_input_get_device_dont_propagate_list_cookie_t
476  **/
477 typedef struct xcb_input_get_device_dont_propagate_list_cookie_t {
478     unsigned int sequence; /**<  */
479 } xcb_input_get_device_dont_propagate_list_cookie_t;
480 
481 /** Opcode for xcb_input_get_device_dont_propagate_list. */
482 #define XCB_INPUT_GET_DEVICE_DONT_PROPAGATE_LIST 9
483 
484 /**
485  * @brief xcb_input_get_device_dont_propagate_list_request_t
486  **/
487 typedef struct xcb_input_get_device_dont_propagate_list_request_t {
488     uint8_t      major_opcode; /**<  */
489     uint8_t      minor_opcode; /**<  */
490     uint16_t     length; /**<  */
491     xcb_window_t window; /**<  */
492 } xcb_input_get_device_dont_propagate_list_request_t;
493 
494 /**
495  * @brief xcb_input_get_device_dont_propagate_list_reply_t
496  **/
497 typedef struct xcb_input_get_device_dont_propagate_list_reply_t {
498     uint8_t  response_type; /**<  */
499     uint8_t  pad0; /**<  */
500     uint16_t sequence; /**<  */
501     uint32_t length; /**<  */
502     uint16_t num_classes; /**<  */
503     uint8_t  pad1[22]; /**<  */
504 } xcb_input_get_device_dont_propagate_list_reply_t;
505 
506 /**
507  * @brief xcb_input_device_time_coord_t
508  **/
509 typedef struct xcb_input_device_time_coord_t {
510     xcb_timestamp_t time; /**<  */
511 } xcb_input_device_time_coord_t;
512 
513 /**
514  * @brief xcb_input_device_time_coord_iterator_t
515  **/
516 typedef struct xcb_input_device_time_coord_iterator_t {
517     xcb_input_device_time_coord_t *data; /**<  */
518     int                            rem; /**<  */
519     int                            index; /**<  */
520 } xcb_input_device_time_coord_iterator_t;
521 
522 /**
523  * @brief xcb_input_get_device_motion_events_cookie_t
524  **/
525 typedef struct xcb_input_get_device_motion_events_cookie_t {
526     unsigned int sequence; /**<  */
527 } xcb_input_get_device_motion_events_cookie_t;
528 
529 /** Opcode for xcb_input_get_device_motion_events. */
530 #define XCB_INPUT_GET_DEVICE_MOTION_EVENTS 10
531 
532 /**
533  * @brief xcb_input_get_device_motion_events_request_t
534  **/
535 typedef struct xcb_input_get_device_motion_events_request_t {
536     uint8_t         major_opcode; /**<  */
537     uint8_t         minor_opcode; /**<  */
538     uint16_t        length; /**<  */
539     xcb_timestamp_t start; /**<  */
540     xcb_timestamp_t stop; /**<  */
541     uint8_t         device_id; /**<  */
542 } xcb_input_get_device_motion_events_request_t;
543 
544 /**
545  * @brief xcb_input_get_device_motion_events_reply_t
546  **/
547 typedef struct xcb_input_get_device_motion_events_reply_t {
548     uint8_t  response_type; /**<  */
549     uint8_t  pad0; /**<  */
550     uint16_t sequence; /**<  */
551     uint32_t length; /**<  */
552     uint32_t num_events; /**<  */
553     uint8_t  num_axes; /**<  */
554     uint8_t  device_mode; /**<  */
555     uint8_t  pad1[18]; /**<  */
556 } xcb_input_get_device_motion_events_reply_t;
557 
558 /**
559  * @brief xcb_input_change_keyboard_device_cookie_t
560  **/
561 typedef struct xcb_input_change_keyboard_device_cookie_t {
562     unsigned int sequence; /**<  */
563 } xcb_input_change_keyboard_device_cookie_t;
564 
565 /** Opcode for xcb_input_change_keyboard_device. */
566 #define XCB_INPUT_CHANGE_KEYBOARD_DEVICE 11
567 
568 /**
569  * @brief xcb_input_change_keyboard_device_request_t
570  **/
571 typedef struct xcb_input_change_keyboard_device_request_t {
572     uint8_t  major_opcode; /**<  */
573     uint8_t  minor_opcode; /**<  */
574     uint16_t length; /**<  */
575     uint8_t  device_id; /**<  */
576     uint8_t  pad0[3]; /**<  */
577 } xcb_input_change_keyboard_device_request_t;
578 
579 /**
580  * @brief xcb_input_change_keyboard_device_reply_t
581  **/
582 typedef struct xcb_input_change_keyboard_device_reply_t {
583     uint8_t  response_type; /**<  */
584     uint8_t  pad0; /**<  */
585     uint16_t sequence; /**<  */
586     uint32_t length; /**<  */
587     uint8_t  status; /**<  */
588     uint8_t  pad1[23]; /**<  */
589 } xcb_input_change_keyboard_device_reply_t;
590 
591 /**
592  * @brief xcb_input_change_pointer_device_cookie_t
593  **/
594 typedef struct xcb_input_change_pointer_device_cookie_t {
595     unsigned int sequence; /**<  */
596 } xcb_input_change_pointer_device_cookie_t;
597 
598 /** Opcode for xcb_input_change_pointer_device. */
599 #define XCB_INPUT_CHANGE_POINTER_DEVICE 12
600 
601 /**
602  * @brief xcb_input_change_pointer_device_request_t
603  **/
604 typedef struct xcb_input_change_pointer_device_request_t {
605     uint8_t  major_opcode; /**<  */
606     uint8_t  minor_opcode; /**<  */
607     uint16_t length; /**<  */
608     uint8_t  x_axis; /**<  */
609     uint8_t  y_axis; /**<  */
610     uint8_t  device_id; /**<  */
611     uint8_t  pad0; /**<  */
612 } xcb_input_change_pointer_device_request_t;
613 
614 /**
615  * @brief xcb_input_change_pointer_device_reply_t
616  **/
617 typedef struct xcb_input_change_pointer_device_reply_t {
618     uint8_t  response_type; /**<  */
619     uint8_t  pad0; /**<  */
620     uint16_t sequence; /**<  */
621     uint32_t length; /**<  */
622     uint8_t  status; /**<  */
623     uint8_t  pad1[23]; /**<  */
624 } xcb_input_change_pointer_device_reply_t;
625 
626 /**
627  * @brief xcb_input_grab_device_cookie_t
628  **/
629 typedef struct xcb_input_grab_device_cookie_t {
630     unsigned int sequence; /**<  */
631 } xcb_input_grab_device_cookie_t;
632 
633 /** Opcode for xcb_input_grab_device. */
634 #define XCB_INPUT_GRAB_DEVICE 13
635 
636 /**
637  * @brief xcb_input_grab_device_request_t
638  **/
639 typedef struct xcb_input_grab_device_request_t {
640     uint8_t         major_opcode; /**<  */
641     uint8_t         minor_opcode; /**<  */
642     uint16_t        length; /**<  */
643     xcb_window_t    grab_window; /**<  */
644     xcb_timestamp_t time; /**<  */
645     uint16_t        num_classes; /**<  */
646     uint8_t         this_device_mode; /**<  */
647     uint8_t         other_device_mode; /**<  */
648     uint8_t         owner_events; /**<  */
649     uint8_t         device_id; /**<  */
650     uint8_t         pad0[2]; /**<  */
651 } xcb_input_grab_device_request_t;
652 
653 /**
654  * @brief xcb_input_grab_device_reply_t
655  **/
656 typedef struct xcb_input_grab_device_reply_t {
657     uint8_t  response_type; /**<  */
658     uint8_t  pad0; /**<  */
659     uint16_t sequence; /**<  */
660     uint32_t length; /**<  */
661     uint8_t  status; /**<  */
662     uint8_t  pad1[23]; /**<  */
663 } xcb_input_grab_device_reply_t;
664 
665 /** Opcode for xcb_input_ungrab_device. */
666 #define XCB_INPUT_UNGRAB_DEVICE 14
667 
668 /**
669  * @brief xcb_input_ungrab_device_request_t
670  **/
671 typedef struct xcb_input_ungrab_device_request_t {
672     uint8_t         major_opcode; /**<  */
673     uint8_t         minor_opcode; /**<  */
674     uint16_t        length; /**<  */
675     xcb_timestamp_t time; /**<  */
676     uint8_t         device_id; /**<  */
677 } xcb_input_ungrab_device_request_t;
678 
679 /** Opcode for xcb_input_grab_device_key. */
680 #define XCB_INPUT_GRAB_DEVICE_KEY 15
681 
682 /**
683  * @brief xcb_input_grab_device_key_request_t
684  **/
685 typedef struct xcb_input_grab_device_key_request_t {
686     uint8_t      major_opcode; /**<  */
687     uint8_t      minor_opcode; /**<  */
688     uint16_t     length; /**<  */
689     xcb_window_t grab_window; /**<  */
690     uint16_t     num_classes; /**<  */
691     uint16_t     modifiers; /**<  */
692     uint8_t      modifier_device; /**<  */
693     uint8_t      grabbed_device; /**<  */
694     uint8_t      key; /**<  */
695     uint8_t      this_device_mode; /**<  */
696     uint8_t      other_device_mode; /**<  */
697     uint8_t      owner_events; /**<  */
698     uint8_t      pad0[2]; /**<  */
699 } xcb_input_grab_device_key_request_t;
700 
701 /** Opcode for xcb_input_ungrab_device_key. */
702 #define XCB_INPUT_UNGRAB_DEVICE_KEY 16
703 
704 /**
705  * @brief xcb_input_ungrab_device_key_request_t
706  **/
707 typedef struct xcb_input_ungrab_device_key_request_t {
708     uint8_t      major_opcode; /**<  */
709     uint8_t      minor_opcode; /**<  */
710     uint16_t     length; /**<  */
711     xcb_window_t grabWindow; /**<  */
712     uint16_t     modifiers; /**<  */
713     uint8_t      modifier_device; /**<  */
714     uint8_t      key; /**<  */
715     uint8_t      grabbed_device; /**<  */
716 } xcb_input_ungrab_device_key_request_t;
717 
718 /** Opcode for xcb_input_grab_device_button. */
719 #define XCB_INPUT_GRAB_DEVICE_BUTTON 17
720 
721 /**
722  * @brief xcb_input_grab_device_button_request_t
723  **/
724 typedef struct xcb_input_grab_device_button_request_t {
725     uint8_t      major_opcode; /**<  */
726     uint8_t      minor_opcode; /**<  */
727     uint16_t     length; /**<  */
728     xcb_window_t grab_window; /**<  */
729     uint8_t      grabbed_device; /**<  */
730     uint8_t      modifier_device; /**<  */
731     uint16_t     num_classes; /**<  */
732     uint16_t     modifiers; /**<  */
733     uint8_t      this_device_mode; /**<  */
734     uint8_t      other_device_mode; /**<  */
735     uint8_t      button; /**<  */
736     uint8_t      owner_events; /**<  */
737     uint8_t      pad0[2]; /**<  */
738 } xcb_input_grab_device_button_request_t;
739 
740 /** Opcode for xcb_input_ungrab_device_button. */
741 #define XCB_INPUT_UNGRAB_DEVICE_BUTTON 18
742 
743 /**
744  * @brief xcb_input_ungrab_device_button_request_t
745  **/
746 typedef struct xcb_input_ungrab_device_button_request_t {
747     uint8_t      major_opcode; /**<  */
748     uint8_t      minor_opcode; /**<  */
749     uint16_t     length; /**<  */
750     xcb_window_t grab_window; /**<  */
751     uint16_t     modifiers; /**<  */
752     uint8_t      modifier_device; /**<  */
753     uint8_t      button; /**<  */
754     uint8_t      grabbed_device; /**<  */
755 } xcb_input_ungrab_device_button_request_t;
756 
757 typedef enum xcb_input_device_input_mode_t {
758     XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_THIS_DEVICE = 0,
759     XCB_INPUT_DEVICE_INPUT_MODE_SYNC_THIS_DEVICE = 1,
760     XCB_INPUT_DEVICE_INPUT_MODE_REPLAY_THIS_DEVICE = 2,
761     XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_OTHER_DEVICES = 3,
762     XCB_INPUT_DEVICE_INPUT_MODE_ASYNC_ALL = 4,
763     XCB_INPUT_DEVICE_INPUT_MODE_SYNC_ALL = 5
764 } xcb_input_device_input_mode_t;
765 
766 /** Opcode for xcb_input_allow_device_events. */
767 #define XCB_INPUT_ALLOW_DEVICE_EVENTS 19
768 
769 /**
770  * @brief xcb_input_allow_device_events_request_t
771  **/
772 typedef struct xcb_input_allow_device_events_request_t {
773     uint8_t         major_opcode; /**<  */
774     uint8_t         minor_opcode; /**<  */
775     uint16_t        length; /**<  */
776     xcb_timestamp_t time; /**<  */
777     uint8_t         mode; /**<  */
778     uint8_t         device_id; /**<  */
779 } xcb_input_allow_device_events_request_t;
780 
781 /**
782  * @brief xcb_input_get_device_focus_cookie_t
783  **/
784 typedef struct xcb_input_get_device_focus_cookie_t {
785     unsigned int sequence; /**<  */
786 } xcb_input_get_device_focus_cookie_t;
787 
788 /** Opcode for xcb_input_get_device_focus. */
789 #define XCB_INPUT_GET_DEVICE_FOCUS 20
790 
791 /**
792  * @brief xcb_input_get_device_focus_request_t
793  **/
794 typedef struct xcb_input_get_device_focus_request_t {
795     uint8_t  major_opcode; /**<  */
796     uint8_t  minor_opcode; /**<  */
797     uint16_t length; /**<  */
798     uint8_t  device_id; /**<  */
799     uint8_t  pad0[3]; /**<  */
800 } xcb_input_get_device_focus_request_t;
801 
802 /**
803  * @brief xcb_input_get_device_focus_reply_t
804  **/
805 typedef struct xcb_input_get_device_focus_reply_t {
806     uint8_t         response_type; /**<  */
807     uint8_t         pad0; /**<  */
808     uint16_t        sequence; /**<  */
809     uint32_t        length; /**<  */
810     xcb_window_t    focus; /**<  */
811     xcb_timestamp_t time; /**<  */
812     uint8_t         revert_to; /**<  */
813     uint8_t         pad1[15]; /**<  */
814 } xcb_input_get_device_focus_reply_t;
815 
816 /** Opcode for xcb_input_set_device_focus. */
817 #define XCB_INPUT_SET_DEVICE_FOCUS 21
818 
819 /**
820  * @brief xcb_input_set_device_focus_request_t
821  **/
822 typedef struct xcb_input_set_device_focus_request_t {
823     uint8_t         major_opcode; /**<  */
824     uint8_t         minor_opcode; /**<  */
825     uint16_t        length; /**<  */
826     xcb_window_t    focus; /**<  */
827     xcb_timestamp_t time; /**<  */
828     uint8_t         revert_to; /**<  */
829     uint8_t         device_id; /**<  */
830 } xcb_input_set_device_focus_request_t;
831 
832 typedef enum xcb_input_feedback_class_t {
833     XCB_INPUT_FEEDBACK_CLASS_KEYBOARD = 0,
834     XCB_INPUT_FEEDBACK_CLASS_POINTER = 1,
835     XCB_INPUT_FEEDBACK_CLASS_STRING = 2,
836     XCB_INPUT_FEEDBACK_CLASS_INTEGER = 3,
837     XCB_INPUT_FEEDBACK_CLASS_LED = 4,
838     XCB_INPUT_FEEDBACK_CLASS_BELL = 5
839 } xcb_input_feedback_class_t;
840 
841 /**
842  * @brief xcb_input_kbd_feedback_state_t
843  **/
844 typedef struct xcb_input_kbd_feedback_state_t {
845     uint8_t  class_id; /**<  */
846     uint8_t  feedback_id; /**<  */
847     uint16_t len; /**<  */
848     uint16_t pitch; /**<  */
849     uint16_t duration; /**<  */
850     uint32_t led_mask; /**<  */
851     uint32_t led_values; /**<  */
852     uint8_t  global_auto_repeat; /**<  */
853     uint8_t  click; /**<  */
854     uint8_t  percent; /**<  */
855     uint8_t  pad0; /**<  */
856     uint8_t  auto_repeats[32]; /**<  */
857 } xcb_input_kbd_feedback_state_t;
858 
859 /**
860  * @brief xcb_input_kbd_feedback_state_iterator_t
861  **/
862 typedef struct xcb_input_kbd_feedback_state_iterator_t {
863     xcb_input_kbd_feedback_state_t *data; /**<  */
864     int                             rem; /**<  */
865     int                             index; /**<  */
866 } xcb_input_kbd_feedback_state_iterator_t;
867 
868 /**
869  * @brief xcb_input_ptr_feedback_state_t
870  **/
871 typedef struct xcb_input_ptr_feedback_state_t {
872     uint8_t  class_id; /**<  */
873     uint8_t  feedback_id; /**<  */
874     uint16_t len; /**<  */
875     uint8_t  pad0[2]; /**<  */
876     uint16_t accel_num; /**<  */
877     uint16_t accel_denom; /**<  */
878     uint16_t threshold; /**<  */
879 } xcb_input_ptr_feedback_state_t;
880 
881 /**
882  * @brief xcb_input_ptr_feedback_state_iterator_t
883  **/
884 typedef struct xcb_input_ptr_feedback_state_iterator_t {
885     xcb_input_ptr_feedback_state_t *data; /**<  */
886     int                             rem; /**<  */
887     int                             index; /**<  */
888 } xcb_input_ptr_feedback_state_iterator_t;
889 
890 /**
891  * @brief xcb_input_integer_feedback_state_t
892  **/
893 typedef struct xcb_input_integer_feedback_state_t {
894     uint8_t  class_id; /**<  */
895     uint8_t  feedback_id; /**<  */
896     uint16_t len; /**<  */
897     uint32_t resolution; /**<  */
898     int32_t  min_value; /**<  */
899     int32_t  max_value; /**<  */
900 } xcb_input_integer_feedback_state_t;
901 
902 /**
903  * @brief xcb_input_integer_feedback_state_iterator_t
904  **/
905 typedef struct xcb_input_integer_feedback_state_iterator_t {
906     xcb_input_integer_feedback_state_t *data; /**<  */
907     int                                 rem; /**<  */
908     int                                 index; /**<  */
909 } xcb_input_integer_feedback_state_iterator_t;
910 
911 /**
912  * @brief xcb_input_string_feedback_state_t
913  **/
914 typedef struct xcb_input_string_feedback_state_t {
915     uint8_t  class_id; /**<  */
916     uint8_t  feedback_id; /**<  */
917     uint16_t len; /**<  */
918     uint16_t max_symbols; /**<  */
919     uint16_t num_keysyms; /**<  */
920 } xcb_input_string_feedback_state_t;
921 
922 /**
923  * @brief xcb_input_string_feedback_state_iterator_t
924  **/
925 typedef struct xcb_input_string_feedback_state_iterator_t {
926     xcb_input_string_feedback_state_t *data; /**<  */
927     int                                rem; /**<  */
928     int                                index; /**<  */
929 } xcb_input_string_feedback_state_iterator_t;
930 
931 /**
932  * @brief xcb_input_bell_feedback_state_t
933  **/
934 typedef struct xcb_input_bell_feedback_state_t {
935     uint8_t  class_id; /**<  */
936     uint8_t  feedback_id; /**<  */
937     uint16_t len; /**<  */
938     uint8_t  percent; /**<  */
939     uint8_t  pad0[3]; /**<  */
940     uint16_t pitch; /**<  */
941     uint16_t duration; /**<  */
942 } xcb_input_bell_feedback_state_t;
943 
944 /**
945  * @brief xcb_input_bell_feedback_state_iterator_t
946  **/
947 typedef struct xcb_input_bell_feedback_state_iterator_t {
948     xcb_input_bell_feedback_state_t *data; /**<  */
949     int                              rem; /**<  */
950     int                              index; /**<  */
951 } xcb_input_bell_feedback_state_iterator_t;
952 
953 /**
954  * @brief xcb_input_led_feedback_state_t
955  **/
956 typedef struct xcb_input_led_feedback_state_t {
957     uint8_t  class_id; /**<  */
958     uint8_t  feedback_id; /**<  */
959     uint16_t len; /**<  */
960     uint32_t led_mask; /**<  */
961     uint32_t led_values; /**<  */
962 } xcb_input_led_feedback_state_t;
963 
964 /**
965  * @brief xcb_input_led_feedback_state_iterator_t
966  **/
967 typedef struct xcb_input_led_feedback_state_iterator_t {
968     xcb_input_led_feedback_state_t *data; /**<  */
969     int                             rem; /**<  */
970     int                             index; /**<  */
971 } xcb_input_led_feedback_state_iterator_t;
972 
973 /**
974  * @brief xcb_input_feedback_state_t
975  **/
976 typedef struct xcb_input_feedback_state_t {
977     uint8_t  class_id; /**<  */
978     uint8_t  feedback_id; /**<  */
979     uint16_t len; /**<  */
980 } xcb_input_feedback_state_t;
981 
982 /**
983  * @brief xcb_input_feedback_state_iterator_t
984  **/
985 typedef struct xcb_input_feedback_state_iterator_t {
986     xcb_input_feedback_state_t *data; /**<  */
987     int                         rem; /**<  */
988     int                         index; /**<  */
989 } xcb_input_feedback_state_iterator_t;
990 
991 /**
992  * @brief xcb_input_get_feedback_control_cookie_t
993  **/
994 typedef struct xcb_input_get_feedback_control_cookie_t {
995     unsigned int sequence; /**<  */
996 } xcb_input_get_feedback_control_cookie_t;
997 
998 /** Opcode for xcb_input_get_feedback_control. */
999 #define XCB_INPUT_GET_FEEDBACK_CONTROL 22
1000 
1001 /**
1002  * @brief xcb_input_get_feedback_control_request_t
1003  **/
1004 typedef struct xcb_input_get_feedback_control_request_t {
1005     uint8_t  major_opcode; /**<  */
1006     uint8_t  minor_opcode; /**<  */
1007     uint16_t length; /**<  */
1008     uint8_t  device_id; /**<  */
1009     uint8_t  pad0[3]; /**<  */
1010 } xcb_input_get_feedback_control_request_t;
1011 
1012 /**
1013  * @brief xcb_input_get_feedback_control_reply_t
1014  **/
1015 typedef struct xcb_input_get_feedback_control_reply_t {
1016     uint8_t  response_type; /**<  */
1017     uint8_t  pad0; /**<  */
1018     uint16_t sequence; /**<  */
1019     uint32_t length; /**<  */
1020     uint16_t num_feedbacks; /**<  */
1021     uint8_t  pad1[22]; /**<  */
1022 } xcb_input_get_feedback_control_reply_t;
1023 
1024 /**
1025  * @brief xcb_input_kbd_feedback_ctl_t
1026  **/
1027 typedef struct xcb_input_kbd_feedback_ctl_t {
1028     uint8_t              class_id; /**<  */
1029     uint8_t              feedback_id; /**<  */
1030     uint16_t             len; /**<  */
1031     xcb_input_key_code_t key; /**<  */
1032     uint8_t              auto_repeat_mode; /**<  */
1033     int8_t               key_click_percent; /**<  */
1034     int8_t               bell_percent; /**<  */
1035     int16_t              bell_pitch; /**<  */
1036     int16_t              bell_duration; /**<  */
1037     uint32_t             led_mask; /**<  */
1038     uint32_t             led_values; /**<  */
1039 } xcb_input_kbd_feedback_ctl_t;
1040 
1041 /**
1042  * @brief xcb_input_kbd_feedback_ctl_iterator_t
1043  **/
1044 typedef struct xcb_input_kbd_feedback_ctl_iterator_t {
1045     xcb_input_kbd_feedback_ctl_t *data; /**<  */
1046     int                           rem; /**<  */
1047     int                           index; /**<  */
1048 } xcb_input_kbd_feedback_ctl_iterator_t;
1049 
1050 /**
1051  * @brief xcb_input_ptr_feedback_ctl_t
1052  **/
1053 typedef struct xcb_input_ptr_feedback_ctl_t {
1054     uint8_t  class_id; /**<  */
1055     uint8_t  feedback_id; /**<  */
1056     uint16_t len; /**<  */
1057     uint8_t  pad0[2]; /**<  */
1058     int16_t  num; /**<  */
1059     int16_t  denom; /**<  */
1060     int16_t  threshold; /**<  */
1061 } xcb_input_ptr_feedback_ctl_t;
1062 
1063 /**
1064  * @brief xcb_input_ptr_feedback_ctl_iterator_t
1065  **/
1066 typedef struct xcb_input_ptr_feedback_ctl_iterator_t {
1067     xcb_input_ptr_feedback_ctl_t *data; /**<  */
1068     int                           rem; /**<  */
1069     int                           index; /**<  */
1070 } xcb_input_ptr_feedback_ctl_iterator_t;
1071 
1072 /**
1073  * @brief xcb_input_integer_feedback_ctl_t
1074  **/
1075 typedef struct xcb_input_integer_feedback_ctl_t {
1076     uint8_t  class_id; /**<  */
1077     uint8_t  feedback_id; /**<  */
1078     uint16_t len; /**<  */
1079     int32_t  int_to_display; /**<  */
1080 } xcb_input_integer_feedback_ctl_t;
1081 
1082 /**
1083  * @brief xcb_input_integer_feedback_ctl_iterator_t
1084  **/
1085 typedef struct xcb_input_integer_feedback_ctl_iterator_t {
1086     xcb_input_integer_feedback_ctl_t *data; /**<  */
1087     int                               rem; /**<  */
1088     int                               index; /**<  */
1089 } xcb_input_integer_feedback_ctl_iterator_t;
1090 
1091 /**
1092  * @brief xcb_input_string_feedback_ctl_t
1093  **/
1094 typedef struct xcb_input_string_feedback_ctl_t {
1095     uint8_t  class_id; /**<  */
1096     uint8_t  feedback_id; /**<  */
1097     uint16_t len; /**<  */
1098     uint8_t  pad0[2]; /**<  */
1099     uint16_t num_keysyms; /**<  */
1100 } xcb_input_string_feedback_ctl_t;
1101 
1102 /**
1103  * @brief xcb_input_string_feedback_ctl_iterator_t
1104  **/
1105 typedef struct xcb_input_string_feedback_ctl_iterator_t {
1106     xcb_input_string_feedback_ctl_t *data; /**<  */
1107     int                              rem; /**<  */
1108     int                              index; /**<  */
1109 } xcb_input_string_feedback_ctl_iterator_t;
1110 
1111 /**
1112  * @brief xcb_input_bell_feedback_ctl_t
1113  **/
1114 typedef struct xcb_input_bell_feedback_ctl_t {
1115     uint8_t  class_id; /**<  */
1116     uint8_t  feedback_id; /**<  */
1117     uint16_t len; /**<  */
1118     int8_t   percent; /**<  */
1119     uint8_t  pad0[3]; /**<  */
1120     int16_t  pitch; /**<  */
1121     int16_t  duration; /**<  */
1122 } xcb_input_bell_feedback_ctl_t;
1123 
1124 /**
1125  * @brief xcb_input_bell_feedback_ctl_iterator_t
1126  **/
1127 typedef struct xcb_input_bell_feedback_ctl_iterator_t {
1128     xcb_input_bell_feedback_ctl_t *data; /**<  */
1129     int                            rem; /**<  */
1130     int                            index; /**<  */
1131 } xcb_input_bell_feedback_ctl_iterator_t;
1132 
1133 /**
1134  * @brief xcb_input_led_feedback_ctl_t
1135  **/
1136 typedef struct xcb_input_led_feedback_ctl_t {
1137     uint8_t  class_id; /**<  */
1138     uint8_t  feedback_id; /**<  */
1139     uint16_t len; /**<  */
1140     uint32_t led_mask; /**<  */
1141     uint32_t led_values; /**<  */
1142 } xcb_input_led_feedback_ctl_t;
1143 
1144 /**
1145  * @brief xcb_input_led_feedback_ctl_iterator_t
1146  **/
1147 typedef struct xcb_input_led_feedback_ctl_iterator_t {
1148     xcb_input_led_feedback_ctl_t *data; /**<  */
1149     int                           rem; /**<  */
1150     int                           index; /**<  */
1151 } xcb_input_led_feedback_ctl_iterator_t;
1152 
1153 /**
1154  * @brief xcb_input_feedback_ctl_t
1155  **/
1156 typedef struct xcb_input_feedback_ctl_t {
1157     uint8_t  class_id; /**<  */
1158     uint8_t  feedback_id; /**<  */
1159     uint16_t len; /**<  */
1160 } xcb_input_feedback_ctl_t;
1161 
1162 /**
1163  * @brief xcb_input_feedback_ctl_iterator_t
1164  **/
1165 typedef struct xcb_input_feedback_ctl_iterator_t {
1166     xcb_input_feedback_ctl_t *data; /**<  */
1167     int                       rem; /**<  */
1168     int                       index; /**<  */
1169 } xcb_input_feedback_ctl_iterator_t;
1170 
1171 /** Opcode for xcb_input_change_feedback_control. */
1172 #define XCB_INPUT_CHANGE_FEEDBACK_CONTROL 23
1173 
1174 /**
1175  * @brief xcb_input_change_feedback_control_request_t
1176  **/
1177 typedef struct xcb_input_change_feedback_control_request_t {
1178     uint8_t  major_opcode; /**<  */
1179     uint8_t  minor_opcode; /**<  */
1180     uint16_t length; /**<  */
1181     uint32_t mask; /**<  */
1182     uint8_t  device_id; /**<  */
1183     uint8_t  feedback_id; /**<  */
1184 } xcb_input_change_feedback_control_request_t;
1185 
1186 /**
1187  * @brief xcb_input_get_device_key_mapping_cookie_t
1188  **/
1189 typedef struct xcb_input_get_device_key_mapping_cookie_t {
1190     unsigned int sequence; /**<  */
1191 } xcb_input_get_device_key_mapping_cookie_t;
1192 
1193 /** Opcode for xcb_input_get_device_key_mapping. */
1194 #define XCB_INPUT_GET_DEVICE_KEY_MAPPING 24
1195 
1196 /**
1197  * @brief xcb_input_get_device_key_mapping_request_t
1198  **/
1199 typedef struct xcb_input_get_device_key_mapping_request_t {
1200     uint8_t              major_opcode; /**<  */
1201     uint8_t              minor_opcode; /**<  */
1202     uint16_t             length; /**<  */
1203     uint8_t              device_id; /**<  */
1204     xcb_input_key_code_t first_keycode; /**<  */
1205     uint8_t              count; /**<  */
1206 } xcb_input_get_device_key_mapping_request_t;
1207 
1208 /**
1209  * @brief xcb_input_get_device_key_mapping_reply_t
1210  **/
1211 typedef struct xcb_input_get_device_key_mapping_reply_t {
1212     uint8_t  response_type; /**<  */
1213     uint8_t  pad0; /**<  */
1214     uint16_t sequence; /**<  */
1215     uint32_t length; /**<  */
1216     uint8_t  keysyms_per_keycode; /**<  */
1217     uint8_t  pad1[23]; /**<  */
1218 } xcb_input_get_device_key_mapping_reply_t;
1219 
1220 /** Opcode for xcb_input_change_device_key_mapping. */
1221 #define XCB_INPUT_CHANGE_DEVICE_KEY_MAPPING 25
1222 
1223 /**
1224  * @brief xcb_input_change_device_key_mapping_request_t
1225  **/
1226 typedef struct xcb_input_change_device_key_mapping_request_t {
1227     uint8_t              major_opcode; /**<  */
1228     uint8_t              minor_opcode; /**<  */
1229     uint16_t             length; /**<  */
1230     uint8_t              device_id; /**<  */
1231     xcb_input_key_code_t first_keycode; /**<  */
1232     uint8_t              keysyms_per_keycode; /**<  */
1233     uint8_t              keycode_count; /**<  */
1234 } xcb_input_change_device_key_mapping_request_t;
1235 
1236 /**
1237  * @brief xcb_input_get_device_modifier_mapping_cookie_t
1238  **/
1239 typedef struct xcb_input_get_device_modifier_mapping_cookie_t {
1240     unsigned int sequence; /**<  */
1241 } xcb_input_get_device_modifier_mapping_cookie_t;
1242 
1243 /** Opcode for xcb_input_get_device_modifier_mapping. */
1244 #define XCB_INPUT_GET_DEVICE_MODIFIER_MAPPING 26
1245 
1246 /**
1247  * @brief xcb_input_get_device_modifier_mapping_request_t
1248  **/
1249 typedef struct xcb_input_get_device_modifier_mapping_request_t {
1250     uint8_t  major_opcode; /**<  */
1251     uint8_t  minor_opcode; /**<  */
1252     uint16_t length; /**<  */
1253     uint8_t  device_id; /**<  */
1254     uint8_t  pad0[3]; /**<  */
1255 } xcb_input_get_device_modifier_mapping_request_t;
1256 
1257 /**
1258  * @brief xcb_input_get_device_modifier_mapping_reply_t
1259  **/
1260 typedef struct xcb_input_get_device_modifier_mapping_reply_t {
1261     uint8_t  response_type; /**<  */
1262     uint8_t  pad0; /**<  */
1263     uint16_t sequence; /**<  */
1264     uint32_t length; /**<  */
1265     uint8_t  keycodes_per_modifier; /**<  */
1266     uint8_t  pad1[23]; /**<  */
1267 } xcb_input_get_device_modifier_mapping_reply_t;
1268 
1269 /**
1270  * @brief xcb_input_set_device_modifier_mapping_cookie_t
1271  **/
1272 typedef struct xcb_input_set_device_modifier_mapping_cookie_t {
1273     unsigned int sequence; /**<  */
1274 } xcb_input_set_device_modifier_mapping_cookie_t;
1275 
1276 /** Opcode for xcb_input_set_device_modifier_mapping. */
1277 #define XCB_INPUT_SET_DEVICE_MODIFIER_MAPPING 27
1278 
1279 /**
1280  * @brief xcb_input_set_device_modifier_mapping_request_t
1281  **/
1282 typedef struct xcb_input_set_device_modifier_mapping_request_t {
1283     uint8_t  major_opcode; /**<  */
1284     uint8_t  minor_opcode; /**<  */
1285     uint16_t length; /**<  */
1286     uint8_t  device_id; /**<  */
1287     uint8_t  keycodes_per_modifier; /**<  */
1288     uint8_t  pad0; /**<  */
1289 } xcb_input_set_device_modifier_mapping_request_t;
1290 
1291 /**
1292  * @brief xcb_input_set_device_modifier_mapping_reply_t
1293  **/
1294 typedef struct xcb_input_set_device_modifier_mapping_reply_t {
1295     uint8_t  response_type; /**<  */
1296     uint8_t  pad0; /**<  */
1297     uint16_t sequence; /**<  */
1298     uint32_t length; /**<  */
1299     uint8_t  status; /**<  */
1300     uint8_t  pad1[23]; /**<  */
1301 } xcb_input_set_device_modifier_mapping_reply_t;
1302 
1303 /**
1304  * @brief xcb_input_get_device_button_mapping_cookie_t
1305  **/
1306 typedef struct xcb_input_get_device_button_mapping_cookie_t {
1307     unsigned int sequence; /**<  */
1308 } xcb_input_get_device_button_mapping_cookie_t;
1309 
1310 /** Opcode for xcb_input_get_device_button_mapping. */
1311 #define XCB_INPUT_GET_DEVICE_BUTTON_MAPPING 28
1312 
1313 /**
1314  * @brief xcb_input_get_device_button_mapping_request_t
1315  **/
1316 typedef struct xcb_input_get_device_button_mapping_request_t {
1317     uint8_t  major_opcode; /**<  */
1318     uint8_t  minor_opcode; /**<  */
1319     uint16_t length; /**<  */
1320     uint8_t  device_id; /**<  */
1321     uint8_t  pad0[3]; /**<  */
1322 } xcb_input_get_device_button_mapping_request_t;
1323 
1324 /**
1325  * @brief xcb_input_get_device_button_mapping_reply_t
1326  **/
1327 typedef struct xcb_input_get_device_button_mapping_reply_t {
1328     uint8_t  response_type; /**<  */
1329     uint8_t  pad0; /**<  */
1330     uint16_t sequence; /**<  */
1331     uint32_t length; /**<  */
1332     uint8_t  map_size; /**<  */
1333     uint8_t  pad1[23]; /**<  */
1334 } xcb_input_get_device_button_mapping_reply_t;
1335 
1336 /**
1337  * @brief xcb_input_set_device_button_mapping_cookie_t
1338  **/
1339 typedef struct xcb_input_set_device_button_mapping_cookie_t {
1340     unsigned int sequence; /**<  */
1341 } xcb_input_set_device_button_mapping_cookie_t;
1342 
1343 /** Opcode for xcb_input_set_device_button_mapping. */
1344 #define XCB_INPUT_SET_DEVICE_BUTTON_MAPPING 29
1345 
1346 /**
1347  * @brief xcb_input_set_device_button_mapping_request_t
1348  **/
1349 typedef struct xcb_input_set_device_button_mapping_request_t {
1350     uint8_t  major_opcode; /**<  */
1351     uint8_t  minor_opcode; /**<  */
1352     uint16_t length; /**<  */
1353     uint8_t  device_id; /**<  */
1354     uint8_t  map_size; /**<  */
1355     uint8_t  pad0[2]; /**<  */
1356 } xcb_input_set_device_button_mapping_request_t;
1357 
1358 /**
1359  * @brief xcb_input_set_device_button_mapping_reply_t
1360  **/
1361 typedef struct xcb_input_set_device_button_mapping_reply_t {
1362     uint8_t  response_type; /**<  */
1363     uint8_t  pad0; /**<  */
1364     uint16_t sequence; /**<  */
1365     uint32_t length; /**<  */
1366     uint8_t  status; /**<  */
1367     uint8_t  pad1[23]; /**<  */
1368 } xcb_input_set_device_button_mapping_reply_t;
1369 
1370 /**
1371  * @brief xcb_input_key_state_t
1372  **/
1373 typedef struct xcb_input_key_state_t {
1374     uint8_t class_id; /**<  */
1375     uint8_t len; /**<  */
1376     uint8_t num_keys; /**<  */
1377     uint8_t pad0; /**<  */
1378     uint8_t keys[32]; /**<  */
1379 } xcb_input_key_state_t;
1380 
1381 /**
1382  * @brief xcb_input_key_state_iterator_t
1383  **/
1384 typedef struct xcb_input_key_state_iterator_t {
1385     xcb_input_key_state_t *data; /**<  */
1386     int                    rem; /**<  */
1387     int                    index; /**<  */
1388 } xcb_input_key_state_iterator_t;
1389 
1390 /**
1391  * @brief xcb_input_button_state_t
1392  **/
1393 typedef struct xcb_input_button_state_t {
1394     uint8_t class_id; /**<  */
1395     uint8_t len; /**<  */
1396     uint8_t num_buttons; /**<  */
1397     uint8_t pad0; /**<  */
1398     uint8_t buttons[32]; /**<  */
1399 } xcb_input_button_state_t;
1400 
1401 /**
1402  * @brief xcb_input_button_state_iterator_t
1403  **/
1404 typedef struct xcb_input_button_state_iterator_t {
1405     xcb_input_button_state_t *data; /**<  */
1406     int                       rem; /**<  */
1407     int                       index; /**<  */
1408 } xcb_input_button_state_iterator_t;
1409 
1410 /**
1411  * @brief xcb_input_valuator_state_t
1412  **/
1413 typedef struct xcb_input_valuator_state_t {
1414     uint8_t class_id; /**<  */
1415     uint8_t len; /**<  */
1416     uint8_t num_valuators; /**<  */
1417     uint8_t mode; /**<  */
1418 } xcb_input_valuator_state_t;
1419 
1420 /**
1421  * @brief xcb_input_valuator_state_iterator_t
1422  **/
1423 typedef struct xcb_input_valuator_state_iterator_t {
1424     xcb_input_valuator_state_t *data; /**<  */
1425     int                         rem; /**<  */
1426     int                         index; /**<  */
1427 } xcb_input_valuator_state_iterator_t;
1428 
1429 /**
1430  * @brief xcb_input_input_state_t
1431  **/
1432 typedef struct xcb_input_input_state_t {
1433     uint8_t class_id; /**<  */
1434     uint8_t len; /**<  */
1435     uint8_t num_items; /**<  */
1436     uint8_t pad0; /**<  */
1437 } xcb_input_input_state_t;
1438 
1439 /**
1440  * @brief xcb_input_input_state_iterator_t
1441  **/
1442 typedef struct xcb_input_input_state_iterator_t {
1443     xcb_input_input_state_t *data; /**<  */
1444     int                      rem; /**<  */
1445     int                      index; /**<  */
1446 } xcb_input_input_state_iterator_t;
1447 
1448 /**
1449  * @brief xcb_input_query_device_state_cookie_t
1450  **/
1451 typedef struct xcb_input_query_device_state_cookie_t {
1452     unsigned int sequence; /**<  */
1453 } xcb_input_query_device_state_cookie_t;
1454 
1455 /** Opcode for xcb_input_query_device_state. */
1456 #define XCB_INPUT_QUERY_DEVICE_STATE 30
1457 
1458 /**
1459  * @brief xcb_input_query_device_state_request_t
1460  **/
1461 typedef struct xcb_input_query_device_state_request_t {
1462     uint8_t  major_opcode; /**<  */
1463     uint8_t  minor_opcode; /**<  */
1464     uint16_t length; /**<  */
1465     uint8_t  device_id; /**<  */
1466     uint8_t  pad0[3]; /**<  */
1467 } xcb_input_query_device_state_request_t;
1468 
1469 /**
1470  * @brief xcb_input_query_device_state_reply_t
1471  **/
1472 typedef struct xcb_input_query_device_state_reply_t {
1473     uint8_t  response_type; /**<  */
1474     uint8_t  pad0; /**<  */
1475     uint16_t sequence; /**<  */
1476     uint32_t length; /**<  */
1477     uint8_t  num_classes; /**<  */
1478     uint8_t  pad1[23]; /**<  */
1479 } xcb_input_query_device_state_reply_t;
1480 
1481 /** Opcode for xcb_input_send_extension_event. */
1482 #define XCB_INPUT_SEND_EXTENSION_EVENT 31
1483 
1484 /**
1485  * @brief xcb_input_send_extension_event_request_t
1486  **/
1487 typedef struct xcb_input_send_extension_event_request_t {
1488     uint8_t      major_opcode; /**<  */
1489     uint8_t      minor_opcode; /**<  */
1490     uint16_t     length; /**<  */
1491     xcb_window_t destination; /**<  */
1492     uint8_t      device_id; /**<  */
1493     uint8_t      propagate; /**<  */
1494     uint16_t     num_classes; /**<  */
1495     uint8_t      num_events; /**<  */
1496     uint8_t      pad0[3]; /**<  */
1497 } xcb_input_send_extension_event_request_t;
1498 
1499 /** Opcode for xcb_input_device_bell. */
1500 #define XCB_INPUT_DEVICE_BELL 32
1501 
1502 /**
1503  * @brief xcb_input_device_bell_request_t
1504  **/
1505 typedef struct xcb_input_device_bell_request_t {
1506     uint8_t  major_opcode; /**<  */
1507     uint8_t  minor_opcode; /**<  */
1508     uint16_t length; /**<  */
1509     uint8_t  device_id; /**<  */
1510     uint8_t  feedback_id; /**<  */
1511     uint8_t  feedback_class; /**<  */
1512     int8_t   percent; /**<  */
1513 } xcb_input_device_bell_request_t;
1514 
1515 /**
1516  * @brief xcb_input_set_device_valuators_cookie_t
1517  **/
1518 typedef struct xcb_input_set_device_valuators_cookie_t {
1519     unsigned int sequence; /**<  */
1520 } xcb_input_set_device_valuators_cookie_t;
1521 
1522 /** Opcode for xcb_input_set_device_valuators. */
1523 #define XCB_INPUT_SET_DEVICE_VALUATORS 33
1524 
1525 /**
1526  * @brief xcb_input_set_device_valuators_request_t
1527  **/
1528 typedef struct xcb_input_set_device_valuators_request_t {
1529     uint8_t  major_opcode; /**<  */
1530     uint8_t  minor_opcode; /**<  */
1531     uint16_t length; /**<  */
1532     uint8_t  device_id; /**<  */
1533     uint8_t  first_valuator; /**<  */
1534     uint8_t  num_valuators; /**<  */
1535     uint8_t  pad0; /**<  */
1536 } xcb_input_set_device_valuators_request_t;
1537 
1538 /**
1539  * @brief xcb_input_set_device_valuators_reply_t
1540  **/
1541 typedef struct xcb_input_set_device_valuators_reply_t {
1542     uint8_t  response_type; /**<  */
1543     uint8_t  pad0; /**<  */
1544     uint16_t sequence; /**<  */
1545     uint32_t length; /**<  */
1546     uint8_t  status; /**<  */
1547     uint8_t  pad1[23]; /**<  */
1548 } xcb_input_set_device_valuators_reply_t;
1549 
1550 typedef enum xcb_input_device_control_t {
1551     XCB_INPUT_DEVICE_CONTROL_RESOLUTION = 1,
1552     XCB_INPUT_DEVICE_CONTROL_ABS_CALIB = 2,
1553     XCB_INPUT_DEVICE_CONTROL_CORE = 3,
1554     XCB_INPUT_DEVICE_CONTROL_ENABLE = 4,
1555     XCB_INPUT_DEVICE_CONTROL_ABS_AREA = 5
1556 } xcb_input_device_control_t;
1557 
1558 /**
1559  * @brief xcb_input_device_resolution_state_t
1560  **/
1561 typedef struct xcb_input_device_resolution_state_t {
1562     uint16_t control_id; /**<  */
1563     uint16_t len; /**<  */
1564     uint32_t num_valuators; /**<  */
1565 } xcb_input_device_resolution_state_t;
1566 
1567 /**
1568  * @brief xcb_input_device_resolution_state_iterator_t
1569  **/
1570 typedef struct xcb_input_device_resolution_state_iterator_t {
1571     xcb_input_device_resolution_state_t *data; /**<  */
1572     int                                  rem; /**<  */
1573     int                                  index; /**<  */
1574 } xcb_input_device_resolution_state_iterator_t;
1575 
1576 /**
1577  * @brief xcb_input_device_abs_calib_state_t
1578  **/
1579 typedef struct xcb_input_device_abs_calib_state_t {
1580     uint16_t control_id; /**<  */
1581     uint16_t len; /**<  */
1582     int32_t  min_x; /**<  */
1583     int32_t  max_x; /**<  */
1584     int32_t  min_y; /**<  */
1585     int32_t  max_y; /**<  */
1586     uint32_t flip_x; /**<  */
1587     uint32_t flip_y; /**<  */
1588     uint32_t rotation; /**<  */
1589     uint32_t button_threshold; /**<  */
1590 } xcb_input_device_abs_calib_state_t;
1591 
1592 /**
1593  * @brief xcb_input_device_abs_calib_state_iterator_t
1594  **/
1595 typedef struct xcb_input_device_abs_calib_state_iterator_t {
1596     xcb_input_device_abs_calib_state_t *data; /**<  */
1597     int                                 rem; /**<  */
1598     int                                 index; /**<  */
1599 } xcb_input_device_abs_calib_state_iterator_t;
1600 
1601 /**
1602  * @brief xcb_input_device_abs_area_state_t
1603  **/
1604 typedef struct xcb_input_device_abs_area_state_t {
1605     uint16_t control_id; /**<  */
1606     uint16_t len; /**<  */
1607     uint32_t offset_x; /**<  */
1608     uint32_t offset_y; /**<  */
1609     uint32_t width; /**<  */
1610     uint32_t height; /**<  */
1611     uint32_t screen; /**<  */
1612     uint32_t following; /**<  */
1613 } xcb_input_device_abs_area_state_t;
1614 
1615 /**
1616  * @brief xcb_input_device_abs_area_state_iterator_t
1617  **/
1618 typedef struct xcb_input_device_abs_area_state_iterator_t {
1619     xcb_input_device_abs_area_state_t *data; /**<  */
1620     int                                rem; /**<  */
1621     int                                index; /**<  */
1622 } xcb_input_device_abs_area_state_iterator_t;
1623 
1624 /**
1625  * @brief xcb_input_device_core_state_t
1626  **/
1627 typedef struct xcb_input_device_core_state_t {
1628     uint16_t control_id; /**<  */
1629     uint16_t len; /**<  */
1630     uint8_t  status; /**<  */
1631     uint8_t  iscore; /**<  */
1632     uint8_t  pad0[2]; /**<  */
1633 } xcb_input_device_core_state_t;
1634 
1635 /**
1636  * @brief xcb_input_device_core_state_iterator_t
1637  **/
1638 typedef struct xcb_input_device_core_state_iterator_t {
1639     xcb_input_device_core_state_t *data; /**<  */
1640     int                            rem; /**<  */
1641     int                            index; /**<  */
1642 } xcb_input_device_core_state_iterator_t;
1643 
1644 /**
1645  * @brief xcb_input_device_enable_state_t
1646  **/
1647 typedef struct xcb_input_device_enable_state_t {
1648     uint16_t control_id; /**<  */
1649     uint16_t len; /**<  */
1650     uint8_t  enable; /**<  */
1651     uint8_t  pad0[3]; /**<  */
1652 } xcb_input_device_enable_state_t;
1653 
1654 /**
1655  * @brief xcb_input_device_enable_state_iterator_t
1656  **/
1657 typedef struct xcb_input_device_enable_state_iterator_t {
1658     xcb_input_device_enable_state_t *data; /**<  */
1659     int                              rem; /**<  */
1660     int                              index; /**<  */
1661 } xcb_input_device_enable_state_iterator_t;
1662 
1663 /**
1664  * @brief xcb_input_device_state_t
1665  **/
1666 typedef struct xcb_input_device_state_t {
1667     uint16_t control_id; /**<  */
1668     uint16_t len; /**<  */
1669 } xcb_input_device_state_t;
1670 
1671 /**
1672  * @brief xcb_input_device_state_iterator_t
1673  **/
1674 typedef struct xcb_input_device_state_iterator_t {
1675     xcb_input_device_state_t *data; /**<  */
1676     int                       rem; /**<  */
1677     int                       index; /**<  */
1678 } xcb_input_device_state_iterator_t;
1679 
1680 /**
1681  * @brief xcb_input_get_device_control_cookie_t
1682  **/
1683 typedef struct xcb_input_get_device_control_cookie_t {
1684     unsigned int sequence; /**<  */
1685 } xcb_input_get_device_control_cookie_t;
1686 
1687 /** Opcode for xcb_input_get_device_control. */
1688 #define XCB_INPUT_GET_DEVICE_CONTROL 34
1689 
1690 /**
1691  * @brief xcb_input_get_device_control_request_t
1692  **/
1693 typedef struct xcb_input_get_device_control_request_t {
1694     uint8_t  major_opcode; /**<  */
1695     uint8_t  minor_opcode; /**<  */
1696     uint16_t length; /**<  */
1697     uint16_t control_id; /**<  */
1698     uint8_t  device_id; /**<  */
1699     uint8_t  pad0; /**<  */
1700 } xcb_input_get_device_control_request_t;
1701 
1702 /**
1703  * @brief xcb_input_get_device_control_reply_t
1704  **/
1705 typedef struct xcb_input_get_device_control_reply_t {
1706     uint8_t  response_type; /**<  */
1707     uint8_t  pad0; /**<  */
1708     uint16_t sequence; /**<  */
1709     uint32_t length; /**<  */
1710     uint8_t  status; /**<  */
1711     uint8_t  pad1[23]; /**<  */
1712 } xcb_input_get_device_control_reply_t;
1713 
1714 /**
1715  * @brief xcb_input_device_resolution_ctl_t
1716  **/
1717 typedef struct xcb_input_device_resolution_ctl_t {
1718     uint16_t control_id; /**<  */
1719     uint16_t len; /**<  */
1720     uint8_t  first_valuator; /**<  */
1721     uint8_t  num_valuators; /**<  */
1722     uint8_t  pad0[2]; /**<  */
1723 } xcb_input_device_resolution_ctl_t;
1724 
1725 /**
1726  * @brief xcb_input_device_resolution_ctl_iterator_t
1727  **/
1728 typedef struct xcb_input_device_resolution_ctl_iterator_t {
1729     xcb_input_device_resolution_ctl_t *data; /**<  */
1730     int                                rem; /**<  */
1731     int                                index; /**<  */
1732 } xcb_input_device_resolution_ctl_iterator_t;
1733 
1734 /**
1735  * @brief xcb_input_device_abs_calib_ctl_t
1736  **/
1737 typedef struct xcb_input_device_abs_calib_ctl_t {
1738     uint16_t control_id; /**<  */
1739     uint16_t len; /**<  */
1740     int32_t  min_x; /**<  */
1741     int32_t  max_x; /**<  */
1742     int32_t  min_y; /**<  */
1743     int32_t  max_y; /**<  */
1744     uint32_t flip_x; /**<  */
1745     uint32_t flip_y; /**<  */
1746     uint32_t rotation; /**<  */
1747     uint32_t button_threshold; /**<  */
1748 } xcb_input_device_abs_calib_ctl_t;
1749 
1750 /**
1751  * @brief xcb_input_device_abs_calib_ctl_iterator_t
1752  **/
1753 typedef struct xcb_input_device_abs_calib_ctl_iterator_t {
1754     xcb_input_device_abs_calib_ctl_t *data; /**<  */
1755     int                               rem; /**<  */
1756     int                               index; /**<  */
1757 } xcb_input_device_abs_calib_ctl_iterator_t;
1758 
1759 /**
1760  * @brief xcb_input_device_abs_area_ctrl_t
1761  **/
1762 typedef struct xcb_input_device_abs_area_ctrl_t {
1763     uint16_t control_id; /**<  */
1764     uint16_t len; /**<  */
1765     uint32_t offset_x; /**<  */
1766     uint32_t offset_y; /**<  */
1767     int32_t  width; /**<  */
1768     int32_t  height; /**<  */
1769     int32_t  screen; /**<  */
1770     uint32_t following; /**<  */
1771 } xcb_input_device_abs_area_ctrl_t;
1772 
1773 /**
1774  * @brief xcb_input_device_abs_area_ctrl_iterator_t
1775  **/
1776 typedef struct xcb_input_device_abs_area_ctrl_iterator_t {
1777     xcb_input_device_abs_area_ctrl_t *data; /**<  */
1778     int                               rem; /**<  */
1779     int                               index; /**<  */
1780 } xcb_input_device_abs_area_ctrl_iterator_t;
1781 
1782 /**
1783  * @brief xcb_input_device_core_ctrl_t
1784  **/
1785 typedef struct xcb_input_device_core_ctrl_t {
1786     uint16_t control_id; /**<  */
1787     uint16_t len; /**<  */
1788     uint8_t  status; /**<  */
1789     uint8_t  pad0[3]; /**<  */
1790 } xcb_input_device_core_ctrl_t;
1791 
1792 /**
1793  * @brief xcb_input_device_core_ctrl_iterator_t
1794  **/
1795 typedef struct xcb_input_device_core_ctrl_iterator_t {
1796     xcb_input_device_core_ctrl_t *data; /**<  */
1797     int                           rem; /**<  */
1798     int                           index; /**<  */
1799 } xcb_input_device_core_ctrl_iterator_t;
1800 
1801 /**
1802  * @brief xcb_input_device_enable_ctrl_t
1803  **/
1804 typedef struct xcb_input_device_enable_ctrl_t {
1805     uint16_t control_id; /**<  */
1806     uint16_t len; /**<  */
1807     uint8_t  enable; /**<  */
1808     uint8_t  pad0[3]; /**<  */
1809 } xcb_input_device_enable_ctrl_t;
1810 
1811 /**
1812  * @brief xcb_input_device_enable_ctrl_iterator_t
1813  **/
1814 typedef struct xcb_input_device_enable_ctrl_iterator_t {
1815     xcb_input_device_enable_ctrl_t *data; /**<  */
1816     int                             rem; /**<  */
1817     int                             index; /**<  */
1818 } xcb_input_device_enable_ctrl_iterator_t;
1819 
1820 /**
1821  * @brief xcb_input_device_ctl_t
1822  **/
1823 typedef struct xcb_input_device_ctl_t {
1824     uint16_t control_id; /**<  */
1825     uint16_t len; /**<  */
1826 } xcb_input_device_ctl_t;
1827 
1828 /**
1829  * @brief xcb_input_device_ctl_iterator_t
1830  **/
1831 typedef struct xcb_input_device_ctl_iterator_t {
1832     xcb_input_device_ctl_t *data; /**<  */
1833     int                     rem; /**<  */
1834     int                     index; /**<  */
1835 } xcb_input_device_ctl_iterator_t;
1836 
1837 /**
1838  * @brief xcb_input_change_device_control_cookie_t
1839  **/
1840 typedef struct xcb_input_change_device_control_cookie_t {
1841     unsigned int sequence; /**<  */
1842 } xcb_input_change_device_control_cookie_t;
1843 
1844 /** Opcode for xcb_input_change_device_control. */
1845 #define XCB_INPUT_CHANGE_DEVICE_CONTROL 35
1846 
1847 /**
1848  * @brief xcb_input_change_device_control_request_t
1849  **/
1850 typedef struct xcb_input_change_device_control_request_t {
1851     uint8_t  major_opcode; /**<  */
1852     uint8_t  minor_opcode; /**<  */
1853     uint16_t length; /**<  */
1854     uint16_t control_id; /**<  */
1855     uint8_t  device_id; /**<  */
1856     uint8_t  pad0; /**<  */
1857 } xcb_input_change_device_control_request_t;
1858 
1859 /**
1860  * @brief xcb_input_change_device_control_reply_t
1861  **/
1862 typedef struct xcb_input_change_device_control_reply_t {
1863     uint8_t  response_type; /**<  */
1864     uint8_t  pad0; /**<  */
1865     uint16_t sequence; /**<  */
1866     uint32_t length; /**<  */
1867     uint8_t  status; /**<  */
1868     uint8_t  pad1[23]; /**<  */
1869 } xcb_input_change_device_control_reply_t;
1870 
1871 /**
1872  * @brief xcb_input_list_device_properties_cookie_t
1873  **/
1874 typedef struct xcb_input_list_device_properties_cookie_t {
1875     unsigned int sequence; /**<  */
1876 } xcb_input_list_device_properties_cookie_t;
1877 
1878 /** Opcode for xcb_input_list_device_properties. */
1879 #define XCB_INPUT_LIST_DEVICE_PROPERTIES 36
1880 
1881 /**
1882  * @brief xcb_input_list_device_properties_request_t
1883  **/
1884 typedef struct xcb_input_list_device_properties_request_t {
1885     uint8_t  major_opcode; /**<  */
1886     uint8_t  minor_opcode; /**<  */
1887     uint16_t length; /**<  */
1888     uint8_t  device_id; /**<  */
1889     uint8_t  pad0[3]; /**<  */
1890 } xcb_input_list_device_properties_request_t;
1891 
1892 /**
1893  * @brief xcb_input_list_device_properties_reply_t
1894  **/
1895 typedef struct xcb_input_list_device_properties_reply_t {
1896     uint8_t  response_type; /**<  */
1897     uint8_t  pad0; /**<  */
1898     uint16_t sequence; /**<  */
1899     uint32_t length; /**<  */
1900     uint16_t num_atoms; /**<  */
1901     uint8_t  pad1[22]; /**<  */
1902 } xcb_input_list_device_properties_reply_t;
1903 
1904 typedef enum xcb_input_property_format_t {
1905     XCB_INPUT_PROPERTY_FORMAT_8_BITS = 8,
1906     XCB_INPUT_PROPERTY_FORMAT_16_BITS = 16,
1907     XCB_INPUT_PROPERTY_FORMAT_32_BITS = 32
1908 } xcb_input_property_format_t;
1909 
1910 /**
1911  * @brief xcb_input_change_device_property_items_t
1912  **/
1913 typedef struct xcb_input_change_device_property_items_t {
1914     uint8_t  *data8; /**<  */
1915     uint16_t *data16; /**<  */
1916     uint32_t *data32; /**<  */
1917 } xcb_input_change_device_property_items_t;
1918 
1919 /** Opcode for xcb_input_change_device_property. */
1920 #define XCB_INPUT_CHANGE_DEVICE_PROPERTY 37
1921 
1922 /**
1923  * @brief xcb_input_change_device_property_request_t
1924  **/
1925 typedef struct xcb_input_change_device_property_request_t {
1926     uint8_t    major_opcode; /**<  */
1927     uint8_t    minor_opcode; /**<  */
1928     uint16_t   length; /**<  */
1929     xcb_atom_t property; /**<  */
1930     xcb_atom_t type; /**<  */
1931     uint8_t    device_id; /**<  */
1932     uint8_t    format; /**<  */
1933     uint8_t    mode; /**<  */
1934     uint8_t    pad0; /**<  */
1935     uint32_t   num_items; /**<  */
1936 } xcb_input_change_device_property_request_t;
1937 
1938 /** Opcode for xcb_input_delete_device_property. */
1939 #define XCB_INPUT_DELETE_DEVICE_PROPERTY 38
1940 
1941 /**
1942  * @brief xcb_input_delete_device_property_request_t
1943  **/
1944 typedef struct xcb_input_delete_device_property_request_t {
1945     uint8_t    major_opcode; /**<  */
1946     uint8_t    minor_opcode; /**<  */
1947     uint16_t   length; /**<  */
1948     xcb_atom_t property; /**<  */
1949     uint8_t    device_id; /**<  */
1950     uint8_t    pad0[3]; /**<  */
1951 } xcb_input_delete_device_property_request_t;
1952 
1953 /**
1954  * @brief xcb_input_get_device_property_cookie_t
1955  **/
1956 typedef struct xcb_input_get_device_property_cookie_t {
1957     unsigned int sequence; /**<  */
1958 } xcb_input_get_device_property_cookie_t;
1959 
1960 /** Opcode for xcb_input_get_device_property. */
1961 #define XCB_INPUT_GET_DEVICE_PROPERTY 39
1962 
1963 /**
1964  * @brief xcb_input_get_device_property_request_t
1965  **/
1966 typedef struct xcb_input_get_device_property_request_t {
1967     uint8_t    major_opcode; /**<  */
1968     uint8_t    minor_opcode; /**<  */
1969     uint16_t   length; /**<  */
1970     xcb_atom_t property; /**<  */
1971     xcb_atom_t type; /**<  */
1972     uint32_t   offset; /**<  */
1973     uint32_t   len; /**<  */
1974     uint8_t    device_id; /**<  */
1975     uint8_t    _delete; /**<  */
1976     uint8_t    pad0[2]; /**<  */
1977 } xcb_input_get_device_property_request_t;
1978 
1979 /**
1980  * @brief xcb_input_get_device_property_items_t
1981  **/
1982 typedef struct xcb_input_get_device_property_items_t {
1983     uint8_t  *data8; /**<  */
1984     uint16_t *data16; /**<  */
1985     uint32_t *data32; /**<  */
1986 } xcb_input_get_device_property_items_t;
1987 
1988 /**
1989  * @brief xcb_input_get_device_property_reply_t
1990  **/
1991 typedef struct xcb_input_get_device_property_reply_t {
1992     uint8_t    response_type; /**<  */
1993     uint8_t    pad0; /**<  */
1994     uint16_t   sequence; /**<  */
1995     uint32_t   length; /**<  */
1996     xcb_atom_t type; /**<  */
1997     uint32_t   bytes_after; /**<  */
1998     uint32_t   num_items; /**<  */
1999     uint8_t    format; /**<  */
2000     uint8_t    device_id; /**<  */
2001     uint8_t    pad1[10]; /**<  */
2002 } xcb_input_get_device_property_reply_t;
2003 
2004 typedef enum xcb_input_device_t {
2005     XCB_INPUT_DEVICE_ALL = 0,
2006     XCB_INPUT_DEVICE_ALL_MASTER = 1
2007 } xcb_input_device_t;
2008 
2009 /**
2010  * @brief xcb_input_group_info_t
2011  **/
2012 typedef struct xcb_input_group_info_t {
2013     uint8_t base; /**<  */
2014     uint8_t latched; /**<  */
2015     uint8_t locked; /**<  */
2016     uint8_t effective; /**<  */
2017 } xcb_input_group_info_t;
2018 
2019 /**
2020  * @brief xcb_input_group_info_iterator_t
2021  **/
2022 typedef struct xcb_input_group_info_iterator_t {
2023     xcb_input_group_info_t *data; /**<  */
2024     int                     rem; /**<  */
2025     int                     index; /**<  */
2026 } xcb_input_group_info_iterator_t;
2027 
2028 /**
2029  * @brief xcb_input_modifier_info_t
2030  **/
2031 typedef struct xcb_input_modifier_info_t {
2032     uint32_t base; /**<  */
2033     uint32_t latched; /**<  */
2034     uint32_t locked; /**<  */
2035     uint32_t effective; /**<  */
2036 } xcb_input_modifier_info_t;
2037 
2038 /**
2039  * @brief xcb_input_modifier_info_iterator_t
2040  **/
2041 typedef struct xcb_input_modifier_info_iterator_t {
2042     xcb_input_modifier_info_t *data; /**<  */
2043     int                        rem; /**<  */
2044     int                        index; /**<  */
2045 } xcb_input_modifier_info_iterator_t;
2046 
2047 /**
2048  * @brief xcb_input_xi_query_pointer_cookie_t
2049  **/
2050 typedef struct xcb_input_xi_query_pointer_cookie_t {
2051     unsigned int sequence; /**<  */
2052 } xcb_input_xi_query_pointer_cookie_t;
2053 
2054 /** Opcode for xcb_input_xi_query_pointer. */
2055 #define XCB_INPUT_XI_QUERY_POINTER 40
2056 
2057 /**
2058  * @brief xcb_input_xi_query_pointer_request_t
2059  **/
2060 typedef struct xcb_input_xi_query_pointer_request_t {
2061     uint8_t               major_opcode; /**<  */
2062     uint8_t               minor_opcode; /**<  */
2063     uint16_t              length; /**<  */
2064     xcb_window_t          window; /**<  */
2065     xcb_input_device_id_t deviceid; /**<  */
2066     uint8_t               pad0[2]; /**<  */
2067 } xcb_input_xi_query_pointer_request_t;
2068 
2069 /**
2070  * @brief xcb_input_xi_query_pointer_reply_t
2071  **/
2072 typedef struct xcb_input_xi_query_pointer_reply_t {
2073     uint8_t                   response_type; /**<  */
2074     uint8_t                   pad0; /**<  */
2075     uint16_t                  sequence; /**<  */
2076     uint32_t                  length; /**<  */
2077     xcb_window_t              root; /**<  */
2078     xcb_window_t              child; /**<  */
2079     xcb_input_fp1616_t        root_x; /**<  */
2080     xcb_input_fp1616_t        root_y; /**<  */
2081     xcb_input_fp1616_t        win_x; /**<  */
2082     xcb_input_fp1616_t        win_y; /**<  */
2083     uint8_t                   same_screen; /**<  */
2084     uint8_t                   pad1; /**<  */
2085     uint16_t                  buttons_len; /**<  */
2086     xcb_input_modifier_info_t mods; /**<  */
2087     xcb_input_group_info_t    group; /**<  */
2088 } xcb_input_xi_query_pointer_reply_t;
2089 
2090 /** Opcode for xcb_input_xi_warp_pointer. */
2091 #define XCB_INPUT_XI_WARP_POINTER 41
2092 
2093 /**
2094  * @brief xcb_input_xi_warp_pointer_request_t
2095  **/
2096 typedef struct xcb_input_xi_warp_pointer_request_t {
2097     uint8_t               major_opcode; /**<  */
2098     uint8_t               minor_opcode; /**<  */
2099     uint16_t              length; /**<  */
2100     xcb_window_t          src_win; /**<  */
2101     xcb_window_t          dst_win; /**<  */
2102     xcb_input_fp1616_t    src_x; /**<  */
2103     xcb_input_fp1616_t    src_y; /**<  */
2104     uint16_t              src_width; /**<  */
2105     uint16_t              src_height; /**<  */
2106     xcb_input_fp1616_t    dst_x; /**<  */
2107     xcb_input_fp1616_t    dst_y; /**<  */
2108     xcb_input_device_id_t deviceid; /**<  */
2109     uint8_t               pad0[2]; /**<  */
2110 } xcb_input_xi_warp_pointer_request_t;
2111 
2112 /** Opcode for xcb_input_xi_change_cursor. */
2113 #define XCB_INPUT_XI_CHANGE_CURSOR 42
2114 
2115 /**
2116  * @brief xcb_input_xi_change_cursor_request_t
2117  **/
2118 typedef struct xcb_input_xi_change_cursor_request_t {
2119     uint8_t               major_opcode; /**<  */
2120     uint8_t               minor_opcode; /**<  */
2121     uint16_t              length; /**<  */
2122     xcb_window_t          window; /**<  */
2123     xcb_cursor_t          cursor; /**<  */
2124     xcb_input_device_id_t deviceid; /**<  */
2125     uint8_t               pad0[2]; /**<  */
2126 } xcb_input_xi_change_cursor_request_t;
2127 
2128 typedef enum xcb_input_hierarchy_change_type_t {
2129     XCB_INPUT_HIERARCHY_CHANGE_TYPE_ADD_MASTER = 1,
2130     XCB_INPUT_HIERARCHY_CHANGE_TYPE_REMOVE_MASTER = 2,
2131     XCB_INPUT_HIERARCHY_CHANGE_TYPE_ATTACH_SLAVE = 3,
2132     XCB_INPUT_HIERARCHY_CHANGE_TYPE_DETACH_SLAVE = 4
2133 } xcb_input_hierarchy_change_type_t;
2134 
2135 typedef enum xcb_input_change_mode_t {
2136     XCB_INPUT_CHANGE_MODE_ATTACH = 1,
2137     XCB_INPUT_CHANGE_MODE_FLOAT = 2
2138 } xcb_input_change_mode_t;
2139 
2140 /**
2141  * @brief xcb_input_add_master_t
2142  **/
2143 typedef struct xcb_input_add_master_t {
2144     uint16_t type; /**<  */
2145     uint16_t len; /**<  */
2146     uint16_t name_len; /**<  */
2147     uint8_t  send_core; /**<  */
2148     uint8_t  enable; /**<  */
2149 } xcb_input_add_master_t;
2150 
2151 /**
2152  * @brief xcb_input_add_master_iterator_t
2153  **/
2154 typedef struct xcb_input_add_master_iterator_t {
2155     xcb_input_add_master_t *data; /**<  */
2156     int                     rem; /**<  */
2157     int                     index; /**<  */
2158 } xcb_input_add_master_iterator_t;
2159 
2160 /**
2161  * @brief xcb_input_remove_master_t
2162  **/
2163 typedef struct xcb_input_remove_master_t {
2164     uint16_t              type; /**<  */
2165     uint16_t              len; /**<  */
2166     xcb_input_device_id_t deviceid; /**<  */
2167     uint8_t               return_mode; /**<  */
2168     uint8_t               pad0; /**<  */
2169     xcb_input_device_id_t return_pointer; /**<  */
2170     xcb_input_device_id_t return_keyboard; /**<  */
2171 } xcb_input_remove_master_t;
2172 
2173 /**
2174  * @brief xcb_input_remove_master_iterator_t
2175  **/
2176 typedef struct xcb_input_remove_master_iterator_t {
2177     xcb_input_remove_master_t *data; /**<  */
2178     int                        rem; /**<  */
2179     int                        index; /**<  */
2180 } xcb_input_remove_master_iterator_t;
2181 
2182 /**
2183  * @brief xcb_input_attach_slave_t
2184  **/
2185 typedef struct xcb_input_attach_slave_t {
2186     uint16_t              type; /**<  */
2187     uint16_t              len; /**<  */
2188     xcb_input_device_id_t deviceid; /**<  */
2189     xcb_input_device_id_t master; /**<  */
2190 } xcb_input_attach_slave_t;
2191 
2192 /**
2193  * @brief xcb_input_attach_slave_iterator_t
2194  **/
2195 typedef struct xcb_input_attach_slave_iterator_t {
2196     xcb_input_attach_slave_t *data; /**<  */
2197     int                       rem; /**<  */
2198     int                       index; /**<  */
2199 } xcb_input_attach_slave_iterator_t;
2200 
2201 /**
2202  * @brief xcb_input_detach_slave_t
2203  **/
2204 typedef struct xcb_input_detach_slave_t {
2205     uint16_t              type; /**<  */
2206     uint16_t              len; /**<  */
2207     xcb_input_device_id_t deviceid; /**<  */
2208     uint8_t               pad0[2]; /**<  */
2209 } xcb_input_detach_slave_t;
2210 
2211 /**
2212  * @brief xcb_input_detach_slave_iterator_t
2213  **/
2214 typedef struct xcb_input_detach_slave_iterator_t {
2215     xcb_input_detach_slave_t *data; /**<  */
2216     int                       rem; /**<  */
2217     int                       index; /**<  */
2218 } xcb_input_detach_slave_iterator_t;
2219 
2220 /**
2221  * @brief xcb_input_hierarchy_change_t
2222  **/
2223 typedef struct xcb_input_hierarchy_change_t {
2224     uint16_t type; /**<  */
2225     uint16_t len; /**<  */
2226 } xcb_input_hierarchy_change_t;
2227 
2228 /**
2229  * @brief xcb_input_hierarchy_change_iterator_t
2230  **/
2231 typedef struct xcb_input_hierarchy_change_iterator_t {
2232     xcb_input_hierarchy_change_t *data; /**<  */
2233     int                           rem; /**<  */
2234     int                           index; /**<  */
2235 } xcb_input_hierarchy_change_iterator_t;
2236 
2237 /** Opcode for xcb_input_xi_change_hierarchy. */
2238 #define XCB_INPUT_XI_CHANGE_HIERARCHY 43
2239 
2240 /**
2241  * @brief xcb_input_xi_change_hierarchy_request_t
2242  **/
2243 typedef struct xcb_input_xi_change_hierarchy_request_t {
2244     uint8_t  major_opcode; /**<  */
2245     uint8_t  minor_opcode; /**<  */
2246     uint16_t length; /**<  */
2247     uint8_t  num_changes; /**<  */
2248     uint8_t  pad0[3]; /**<  */
2249 } xcb_input_xi_change_hierarchy_request_t;
2250 
2251 /** Opcode for xcb_input_xi_set_client_pointer. */
2252 #define XCB_INPUT_XI_SET_CLIENT_POINTER 44
2253 
2254 /**
2255  * @brief xcb_input_xi_set_client_pointer_request_t
2256  **/
2257 typedef struct xcb_input_xi_set_client_pointer_request_t {
2258     uint8_t               major_opcode; /**<  */
2259     uint8_t               minor_opcode; /**<  */
2260     uint16_t              length; /**<  */
2261     xcb_window_t          window; /**<  */
2262     xcb_input_device_id_t deviceid; /**<  */
2263     uint8_t               pad0[2]; /**<  */
2264 } xcb_input_xi_set_client_pointer_request_t;
2265 
2266 /**
2267  * @brief xcb_input_xi_get_client_pointer_cookie_t
2268  **/
2269 typedef struct xcb_input_xi_get_client_pointer_cookie_t {
2270     unsigned int sequence; /**<  */
2271 } xcb_input_xi_get_client_pointer_cookie_t;
2272 
2273 /** Opcode for xcb_input_xi_get_client_pointer. */
2274 #define XCB_INPUT_XI_GET_CLIENT_POINTER 45
2275 
2276 /**
2277  * @brief xcb_input_xi_get_client_pointer_request_t
2278  **/
2279 typedef struct xcb_input_xi_get_client_pointer_request_t {
2280     uint8_t      major_opcode; /**<  */
2281     uint8_t      minor_opcode; /**<  */
2282     uint16_t     length; /**<  */
2283     xcb_window_t window; /**<  */
2284 } xcb_input_xi_get_client_pointer_request_t;
2285 
2286 /**
2287  * @brief xcb_input_xi_get_client_pointer_reply_t
2288  **/
2289 typedef struct xcb_input_xi_get_client_pointer_reply_t {
2290     uint8_t               response_type; /**<  */
2291     uint8_t               pad0; /**<  */
2292     uint16_t              sequence; /**<  */
2293     uint32_t              length; /**<  */
2294     uint8_t               set; /**<  */
2295     uint8_t               pad1; /**<  */
2296     xcb_input_device_id_t deviceid; /**<  */
2297     uint8_t               pad2[20]; /**<  */
2298 } xcb_input_xi_get_client_pointer_reply_t;
2299 
2300 typedef enum xcb_input_xi_event_mask_t {
2301     XCB_INPUT_XI_EVENT_MASK_DEVICE_CHANGED = 2,
2302     XCB_INPUT_XI_EVENT_MASK_KEY_PRESS = 4,
2303     XCB_INPUT_XI_EVENT_MASK_KEY_RELEASE = 8,
2304     XCB_INPUT_XI_EVENT_MASK_BUTTON_PRESS = 16,
2305     XCB_INPUT_XI_EVENT_MASK_BUTTON_RELEASE = 32,
2306     XCB_INPUT_XI_EVENT_MASK_MOTION = 64,
2307     XCB_INPUT_XI_EVENT_MASK_ENTER = 128,
2308     XCB_INPUT_XI_EVENT_MASK_LEAVE = 256,
2309     XCB_INPUT_XI_EVENT_MASK_FOCUS_IN = 512,
2310     XCB_INPUT_XI_EVENT_MASK_FOCUS_OUT = 1024,
2311     XCB_INPUT_XI_EVENT_MASK_HIERARCHY = 2048,
2312     XCB_INPUT_XI_EVENT_MASK_PROPERTY = 4096,
2313     XCB_INPUT_XI_EVENT_MASK_RAW_KEY_PRESS = 8192,
2314     XCB_INPUT_XI_EVENT_MASK_RAW_KEY_RELEASE = 16384,
2315     XCB_INPUT_XI_EVENT_MASK_RAW_BUTTON_PRESS = 32768,
2316     XCB_INPUT_XI_EVENT_MASK_RAW_BUTTON_RELEASE = 65536,
2317     XCB_INPUT_XI_EVENT_MASK_RAW_MOTION = 131072,
2318     XCB_INPUT_XI_EVENT_MASK_TOUCH_BEGIN = 262144,
2319     XCB_INPUT_XI_EVENT_MASK_TOUCH_UPDATE = 524288,
2320     XCB_INPUT_XI_EVENT_MASK_TOUCH_END = 1048576,
2321     XCB_INPUT_XI_EVENT_MASK_TOUCH_OWNERSHIP = 2097152,
2322     XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_BEGIN = 4194304,
2323     XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_UPDATE = 8388608,
2324     XCB_INPUT_XI_EVENT_MASK_RAW_TOUCH_END = 16777216,
2325     XCB_INPUT_XI_EVENT_MASK_BARRIER_HIT = 33554432,
2326     XCB_INPUT_XI_EVENT_MASK_BARRIER_LEAVE = 67108864
2327 } xcb_input_xi_event_mask_t;
2328 
2329 /**
2330  * @brief xcb_input_event_mask_t
2331  **/
2332 typedef struct xcb_input_event_mask_t {
2333     xcb_input_device_id_t deviceid; /**<  */
2334     uint16_t              mask_len; /**<  */
2335 } xcb_input_event_mask_t;
2336 
2337 /**
2338  * @brief xcb_input_event_mask_iterator_t
2339  **/
2340 typedef struct xcb_input_event_mask_iterator_t {
2341     xcb_input_event_mask_t *data; /**<  */
2342     int                     rem; /**<  */
2343     int                     index; /**<  */
2344 } xcb_input_event_mask_iterator_t;
2345 
2346 /** Opcode for xcb_input_xi_select_events. */
2347 #define XCB_INPUT_XI_SELECT_EVENTS 46
2348 
2349 /**
2350  * @brief xcb_input_xi_select_events_request_t
2351  **/
2352 typedef struct xcb_input_xi_select_events_request_t {
2353     uint8_t      major_opcode; /**<  */
2354     uint8_t      minor_opcode; /**<  */
2355     uint16_t     length; /**<  */
2356     xcb_window_t window; /**<  */
2357     uint16_t     num_mask; /**<  */
2358     uint8_t      pad0[2]; /**<  */
2359 } xcb_input_xi_select_events_request_t;
2360 
2361 /**
2362  * @brief xcb_input_xi_query_version_cookie_t
2363  **/
2364 typedef struct xcb_input_xi_query_version_cookie_t {
2365     unsigned int sequence; /**<  */
2366 } xcb_input_xi_query_version_cookie_t;
2367 
2368 /** Opcode for xcb_input_xi_query_version. */
2369 #define XCB_INPUT_XI_QUERY_VERSION 47
2370 
2371 /**
2372  * @brief xcb_input_xi_query_version_request_t
2373  **/
2374 typedef struct xcb_input_xi_query_version_request_t {
2375     uint8_t  major_opcode; /**<  */
2376     uint8_t  minor_opcode; /**<  */
2377     uint16_t length; /**<  */
2378     uint16_t major_version; /**<  */
2379     uint16_t minor_version; /**<  */
2380 } xcb_input_xi_query_version_request_t;
2381 
2382 /**
2383  * @brief xcb_input_xi_query_version_reply_t
2384  **/
2385 typedef struct xcb_input_xi_query_version_reply_t {
2386     uint8_t  response_type; /**<  */
2387     uint8_t  pad0; /**<  */
2388     uint16_t sequence; /**<  */
2389     uint32_t length; /**<  */
2390     uint16_t major_version; /**<  */
2391     uint16_t minor_version; /**<  */
2392     uint8_t  pad1[20]; /**<  */
2393 } xcb_input_xi_query_version_reply_t;
2394 
2395 typedef enum xcb_input_device_class_type_t {
2396     XCB_INPUT_DEVICE_CLASS_TYPE_KEY = 0,
2397     XCB_INPUT_DEVICE_CLASS_TYPE_BUTTON = 1,
2398     XCB_INPUT_DEVICE_CLASS_TYPE_VALUATOR = 2,
2399     XCB_INPUT_DEVICE_CLASS_TYPE_SCROLL = 3,
2400     XCB_INPUT_DEVICE_CLASS_TYPE_TOUCH = 8
2401 } xcb_input_device_class_type_t;
2402 
2403 typedef enum xcb_input_device_type_t {
2404     XCB_INPUT_DEVICE_TYPE_MASTER_POINTER = 1,
2405     XCB_INPUT_DEVICE_TYPE_MASTER_KEYBOARD = 2,
2406     XCB_INPUT_DEVICE_TYPE_SLAVE_POINTER = 3,
2407     XCB_INPUT_DEVICE_TYPE_SLAVE_KEYBOARD = 4,
2408     XCB_INPUT_DEVICE_TYPE_FLOATING_SLAVE = 5
2409 } xcb_input_device_type_t;
2410 
2411 typedef enum xcb_input_scroll_flags_t {
2412     XCB_INPUT_SCROLL_FLAGS_NO_EMULATION = 1,
2413     XCB_INPUT_SCROLL_FLAGS_PREFERRED = 2
2414 } xcb_input_scroll_flags_t;
2415 
2416 typedef enum xcb_input_scroll_type_t {
2417     XCB_INPUT_SCROLL_TYPE_VERTICAL = 1,
2418     XCB_INPUT_SCROLL_TYPE_HORIZONTAL = 2
2419 } xcb_input_scroll_type_t;
2420 
2421 typedef enum xcb_input_touch_mode_t {
2422     XCB_INPUT_TOUCH_MODE_DIRECT = 1,
2423     XCB_INPUT_TOUCH_MODE_DEPENDENT = 2
2424 } xcb_input_touch_mode_t;
2425 
2426 /**
2427  * @brief xcb_input_button_class_t
2428  **/
2429 typedef struct xcb_input_button_class_t {
2430     uint16_t              type; /**<  */
2431     uint16_t              len; /**<  */
2432     xcb_input_device_id_t sourceid; /**<  */
2433     uint16_t              num_buttons; /**<  */
2434 } xcb_input_button_class_t;
2435 
2436 /**
2437  * @brief xcb_input_button_class_iterator_t
2438  **/
2439 typedef struct xcb_input_button_class_iterator_t {
2440     xcb_input_button_class_t *data; /**<  */
2441     int                       rem; /**<  */
2442     int                       index; /**<  */
2443 } xcb_input_button_class_iterator_t;
2444 
2445 /**
2446  * @brief xcb_input_key_class_t
2447  **/
2448 typedef struct xcb_input_key_class_t {
2449     uint16_t              type; /**<  */
2450     uint16_t              len; /**<  */
2451     xcb_input_device_id_t sourceid; /**<  */
2452     uint16_t              num_keys; /**<  */
2453 } xcb_input_key_class_t;
2454 
2455 /**
2456  * @brief xcb_input_key_class_iterator_t
2457  **/
2458 typedef struct xcb_input_key_class_iterator_t {
2459     xcb_input_key_class_t *data; /**<  */
2460     int                    rem; /**<  */
2461     int                    index; /**<  */
2462 } xcb_input_key_class_iterator_t;
2463 
2464 /**
2465  * @brief xcb_input_scroll_class_t
2466  **/
2467 typedef struct xcb_input_scroll_class_t {
2468     uint16_t              type; /**<  */
2469     uint16_t              len; /**<  */
2470     xcb_input_device_id_t sourceid; /**<  */
2471     uint16_t              number; /**<  */
2472     uint16_t              scroll_type; /**<  */
2473     uint8_t               pad0[2]; /**<  */
2474     uint32_t              flags; /**<  */
2475     xcb_input_fp3232_t    increment; /**<  */
2476 } xcb_input_scroll_class_t;
2477 
2478 /**
2479  * @brief xcb_input_scroll_class_iterator_t
2480  **/
2481 typedef struct xcb_input_scroll_class_iterator_t {
2482     xcb_input_scroll_class_t *data; /**<  */
2483     int                       rem; /**<  */
2484     int                       index; /**<  */
2485 } xcb_input_scroll_class_iterator_t;
2486 
2487 /**
2488  * @brief xcb_input_touch_class_t
2489  **/
2490 typedef struct xcb_input_touch_class_t {
2491     uint16_t              type; /**<  */
2492     uint16_t              len; /**<  */
2493     xcb_input_device_id_t sourceid; /**<  */
2494     uint8_t               mode; /**<  */
2495     uint8_t               num_touches; /**<  */
2496 } xcb_input_touch_class_t;
2497 
2498 /**
2499  * @brief xcb_input_touch_class_iterator_t
2500  **/
2501 typedef struct xcb_input_touch_class_iterator_t {
2502     xcb_input_touch_class_t *data; /**<  */
2503     int                      rem; /**<  */
2504     int                      index; /**<  */
2505 } xcb_input_touch_class_iterator_t;
2506 
2507 /**
2508  * @brief xcb_input_valuator_class_t
2509  **/
2510 typedef struct xcb_input_valuator_class_t {
2511     uint16_t              type; /**<  */
2512     uint16_t              len; /**<  */
2513     xcb_input_device_id_t sourceid; /**<  */
2514     uint16_t              number; /**<  */
2515     xcb_atom_t            label; /**<  */
2516     xcb_input_fp3232_t    min; /**<  */
2517     xcb_input_fp3232_t    max; /**<  */
2518     xcb_input_fp3232_t    value; /**<  */
2519     uint32_t              resolution; /**<  */
2520     uint8_t               mode; /**<  */
2521     uint8_t               pad0[3]; /**<  */
2522 } xcb_input_valuator_class_t;
2523 
2524 /**
2525  * @brief xcb_input_valuator_class_iterator_t
2526  **/
2527 typedef struct xcb_input_valuator_class_iterator_t {
2528     xcb_input_valuator_class_t *data; /**<  */
2529     int                         rem; /**<  */
2530     int                         index; /**<  */
2531 } xcb_input_valuator_class_iterator_t;
2532 
2533 /**
2534  * @brief xcb_input_device_class_t
2535  **/
2536 typedef struct xcb_input_device_class_t {
2537     uint16_t              type; /**<  */
2538     uint16_t              len; /**<  */
2539     xcb_input_device_id_t sourceid; /**<  */
2540     uint8_t               pad0[2]; /**<  */
2541 } xcb_input_device_class_t;
2542 
2543 /**
2544  * @brief xcb_input_device_class_iterator_t
2545  **/
2546 typedef struct xcb_input_device_class_iterator_t {
2547     xcb_input_device_class_t *data; /**<  */
2548     int                       rem; /**<  */
2549     int                       index; /**<  */
2550 } xcb_input_device_class_iterator_t;
2551 
2552 /**
2553  * @brief xcb_input_xi_device_info_t
2554  **/
2555 typedef struct xcb_input_xi_device_info_t {
2556     xcb_input_device_id_t deviceid; /**<  */
2557     uint16_t              type; /**<  */
2558     xcb_input_device_id_t attachment; /**<  */
2559     uint16_t              num_classes; /**<  */
2560     uint16_t              name_len; /**<  */
2561     uint8_t               enabled; /**<  */
2562     uint8_t               pad0; /**<  */
2563 } xcb_input_xi_device_info_t;
2564 
2565 /**
2566  * @brief xcb_input_xi_device_info_iterator_t
2567  **/
2568 typedef struct xcb_input_xi_device_info_iterator_t {
2569     xcb_input_xi_device_info_t *data; /**<  */
2570     int                         rem; /**<  */
2571     int                         index; /**<  */
2572 } xcb_input_xi_device_info_iterator_t;
2573 
2574 /**
2575  * @brief xcb_input_xi_query_device_cookie_t
2576  **/
2577 typedef struct xcb_input_xi_query_device_cookie_t {
2578     unsigned int sequence; /**<  */
2579 } xcb_input_xi_query_device_cookie_t;
2580 
2581 /** Opcode for xcb_input_xi_query_device. */
2582 #define XCB_INPUT_XI_QUERY_DEVICE 48
2583 
2584 /**
2585  * @brief xcb_input_xi_query_device_request_t
2586  **/
2587 typedef struct xcb_input_xi_query_device_request_t {
2588     uint8_t               major_opcode; /**<  */
2589     uint8_t               minor_opcode; /**<  */
2590     uint16_t              length; /**<  */
2591     xcb_input_device_id_t deviceid; /**<  */
2592     uint8_t               pad0[2]; /**<  */
2593 } xcb_input_xi_query_device_request_t;
2594 
2595 /**
2596  * @brief xcb_input_xi_query_device_reply_t
2597  **/
2598 typedef struct xcb_input_xi_query_device_reply_t {
2599     uint8_t  response_type; /**<  */
2600     uint8_t  pad0; /**<  */
2601     uint16_t sequence; /**<  */
2602     uint32_t length; /**<  */
2603     uint16_t num_infos; /**<  */
2604     uint8_t  pad1[22]; /**<  */
2605 } xcb_input_xi_query_device_reply_t;
2606 
2607 /** Opcode for xcb_input_xi_set_focus. */
2608 #define XCB_INPUT_XI_SET_FOCUS 49
2609 
2610 /**
2611  * @brief xcb_input_xi_set_focus_request_t
2612  **/
2613 typedef struct xcb_input_xi_set_focus_request_t {
2614     uint8_t               major_opcode; /**<  */
2615     uint8_t               minor_opcode; /**<  */
2616     uint16_t              length; /**<  */
2617     xcb_window_t          window; /**<  */
2618     xcb_timestamp_t       time; /**<  */
2619     xcb_input_device_id_t deviceid; /**<  */
2620     uint8_t               pad0[2]; /**<  */
2621 } xcb_input_xi_set_focus_request_t;
2622 
2623 /**
2624  * @brief xcb_input_xi_get_focus_cookie_t
2625  **/
2626 typedef struct xcb_input_xi_get_focus_cookie_t {
2627     unsigned int sequence; /**<  */
2628 } xcb_input_xi_get_focus_cookie_t;
2629 
2630 /** Opcode for xcb_input_xi_get_focus. */
2631 #define XCB_INPUT_XI_GET_FOCUS 50
2632 
2633 /**
2634  * @brief xcb_input_xi_get_focus_request_t
2635  **/
2636 typedef struct xcb_input_xi_get_focus_request_t {
2637     uint8_t               major_opcode; /**<  */
2638     uint8_t               minor_opcode; /**<  */
2639     uint16_t              length; /**<  */
2640     xcb_input_device_id_t deviceid; /**<  */
2641     uint8_t               pad0[2]; /**<  */
2642 } xcb_input_xi_get_focus_request_t;
2643 
2644 /**
2645  * @brief xcb_input_xi_get_focus_reply_t
2646  **/
2647 typedef struct xcb_input_xi_get_focus_reply_t {
2648     uint8_t      response_type; /**<  */
2649     uint8_t      pad0; /**<  */
2650     uint16_t     sequence; /**<  */
2651     uint32_t     length; /**<  */
2652     xcb_window_t focus; /**<  */
2653     uint8_t      pad1[20]; /**<  */
2654 } xcb_input_xi_get_focus_reply_t;
2655 
2656 typedef enum xcb_input_grab_owner_t {
2657     XCB_INPUT_GRAB_OWNER_NO_OWNER = 0,
2658     XCB_INPUT_GRAB_OWNER_OWNER = 1
2659 } xcb_input_grab_owner_t;
2660 
2661 /**
2662  * @brief xcb_input_xi_grab_device_cookie_t
2663  **/
2664 typedef struct xcb_input_xi_grab_device_cookie_t {
2665     unsigned int sequence; /**<  */
2666 } xcb_input_xi_grab_device_cookie_t;
2667 
2668 /** Opcode for xcb_input_xi_grab_device. */
2669 #define XCB_INPUT_XI_GRAB_DEVICE 51
2670 
2671 /**
2672  * @brief xcb_input_xi_grab_device_request_t
2673  **/
2674 typedef struct xcb_input_xi_grab_device_request_t {
2675     uint8_t               major_opcode; /**<  */
2676     uint8_t               minor_opcode; /**<  */
2677     uint16_t              length; /**<  */
2678     xcb_window_t          window; /**<  */
2679     xcb_timestamp_t       time; /**<  */
2680     xcb_cursor_t          cursor; /**<  */
2681     xcb_input_device_id_t deviceid; /**<  */
2682     uint8_t               mode; /**<  */
2683     uint8_t               paired_device_mode; /**<  */
2684     uint8_t               owner_events; /**<  */
2685     uint8_t               pad0; /**<  */
2686     uint16_t              mask_len; /**<  */
2687 } xcb_input_xi_grab_device_request_t;
2688 
2689 /**
2690  * @brief xcb_input_xi_grab_device_reply_t
2691  **/
2692 typedef struct xcb_input_xi_grab_device_reply_t {
2693     uint8_t  response_type; /**<  */
2694     uint8_t  pad0; /**<  */
2695     uint16_t sequence; /**<  */
2696     uint32_t length; /**<  */
2697     uint8_t  status; /**<  */
2698     uint8_t  pad1[23]; /**<  */
2699 } xcb_input_xi_grab_device_reply_t;
2700 
2701 /** Opcode for xcb_input_xi_ungrab_device. */
2702 #define XCB_INPUT_XI_UNGRAB_DEVICE 52
2703 
2704 /**
2705  * @brief xcb_input_xi_ungrab_device_request_t
2706  **/
2707 typedef struct xcb_input_xi_ungrab_device_request_t {
2708     uint8_t               major_opcode; /**<  */
2709     uint8_t               minor_opcode; /**<  */
2710     uint16_t              length; /**<  */
2711     xcb_timestamp_t       time; /**<  */
2712     xcb_input_device_id_t deviceid; /**<  */
2713     uint8_t               pad0[2]; /**<  */
2714 } xcb_input_xi_ungrab_device_request_t;
2715 
2716 typedef enum xcb_input_event_mode_t {
2717     XCB_INPUT_EVENT_MODE_ASYNC_DEVICE = 0,
2718     XCB_INPUT_EVENT_MODE_SYNC_DEVICE = 1,
2719     XCB_INPUT_EVENT_MODE_REPLAY_DEVICE = 2,
2720     XCB_INPUT_EVENT_MODE_ASYNC_PAIRED_DEVICE = 3,
2721     XCB_INPUT_EVENT_MODE_ASYNC_PAIR = 4,
2722     XCB_INPUT_EVENT_MODE_SYNC_PAIR = 5,
2723     XCB_INPUT_EVENT_MODE_ACCEPT_TOUCH = 6,
2724     XCB_INPUT_EVENT_MODE_REJECT_TOUCH = 7
2725 } xcb_input_event_mode_t;
2726 
2727 /** Opcode for xcb_input_xi_allow_events. */
2728 #define XCB_INPUT_XI_ALLOW_EVENTS 53
2729 
2730 /**
2731  * @brief xcb_input_xi_allow_events_request_t
2732  **/
2733 typedef struct xcb_input_xi_allow_events_request_t {
2734     uint8_t               major_opcode; /**<  */
2735     uint8_t               minor_opcode; /**<  */
2736     uint16_t              length; /**<  */
2737     xcb_timestamp_t       time; /**<  */
2738     xcb_input_device_id_t deviceid; /**<  */
2739     uint8_t               event_mode; /**<  */
2740     uint8_t               pad0; /**<  */
2741     uint32_t              touchid; /**<  */
2742     xcb_window_t          grab_window; /**<  */
2743 } xcb_input_xi_allow_events_request_t;
2744 
2745 typedef enum xcb_input_grab_mode_22_t {
2746     XCB_INPUT_GRAB_MODE_22_SYNC = 0,
2747     XCB_INPUT_GRAB_MODE_22_ASYNC = 1,
2748     XCB_INPUT_GRAB_MODE_22_TOUCH = 2
2749 } xcb_input_grab_mode_22_t;
2750 
2751 typedef enum xcb_input_grab_type_t {
2752     XCB_INPUT_GRAB_TYPE_BUTTON = 0,
2753     XCB_INPUT_GRAB_TYPE_KEYCODE = 1,
2754     XCB_INPUT_GRAB_TYPE_ENTER = 2,
2755     XCB_INPUT_GRAB_TYPE_FOCUS_IN = 3,
2756     XCB_INPUT_GRAB_TYPE_TOUCH_BEGIN = 4
2757 } xcb_input_grab_type_t;
2758 
2759 typedef enum xcb_input_modifier_mask_t {
2760     XCB_INPUT_MODIFIER_MASK_ANY = 2147483648
2761 } xcb_input_modifier_mask_t;
2762 
2763 /**
2764  * @brief xcb_input_grab_modifier_info_t
2765  **/
2766 typedef struct xcb_input_grab_modifier_info_t {
2767     uint32_t modifiers; /**<  */
2768     uint8_t  status; /**<  */
2769     uint8_t  pad0[3]; /**<  */
2770 } xcb_input_grab_modifier_info_t;
2771 
2772 /**
2773  * @brief xcb_input_grab_modifier_info_iterator_t
2774  **/
2775 typedef struct xcb_input_grab_modifier_info_iterator_t {
2776     xcb_input_grab_modifier_info_t *data; /**<  */
2777     int                             rem; /**<  */
2778     int                             index; /**<  */
2779 } xcb_input_grab_modifier_info_iterator_t;
2780 
2781 /**
2782  * @brief xcb_input_xi_passive_grab_device_cookie_t
2783  **/
2784 typedef struct xcb_input_xi_passive_grab_device_cookie_t {
2785     unsigned int sequence; /**<  */
2786 } xcb_input_xi_passive_grab_device_cookie_t;
2787 
2788 /** Opcode for xcb_input_xi_passive_grab_device. */
2789 #define XCB_INPUT_XI_PASSIVE_GRAB_DEVICE 54
2790 
2791 /**
2792  * @brief xcb_input_xi_passive_grab_device_request_t
2793  **/
2794 typedef struct xcb_input_xi_passive_grab_device_request_t {
2795     uint8_t               major_opcode; /**<  */
2796     uint8_t               minor_opcode; /**<  */
2797     uint16_t              length; /**<  */
2798     xcb_timestamp_t       time; /**<  */
2799     xcb_window_t          grab_window; /**<  */
2800     xcb_cursor_t          cursor; /**<  */
2801     uint32_t              detail; /**<  */
2802     xcb_input_device_id_t deviceid; /**<  */
2803     uint16_t              num_modifiers; /**<  */
2804     uint16_t              mask_len; /**<  */
2805     uint8_t               grab_type; /**<  */
2806     uint8_t               grab_mode; /**<  */
2807     uint8_t               paired_device_mode; /**<  */
2808     uint8_t               owner_events; /**<  */
2809     uint8_t               pad0[2]; /**<  */
2810 } xcb_input_xi_passive_grab_device_request_t;
2811 
2812 /**
2813  * @brief xcb_input_xi_passive_grab_device_reply_t
2814  **/
2815 typedef struct xcb_input_xi_passive_grab_device_reply_t {
2816     uint8_t  response_type; /**<  */
2817     uint8_t  pad0; /**<  */
2818     uint16_t sequence; /**<  */
2819     uint32_t length; /**<  */
2820     uint16_t num_modifiers; /**<  */
2821     uint8_t  pad1[22]; /**<  */
2822 } xcb_input_xi_passive_grab_device_reply_t;
2823 
2824 /** Opcode for xcb_input_xi_passive_ungrab_device. */
2825 #define XCB_INPUT_XI_PASSIVE_UNGRAB_DEVICE 55
2826 
2827 /**
2828  * @brief xcb_input_xi_passive_ungrab_device_request_t
2829  **/
2830 typedef struct xcb_input_xi_passive_ungrab_device_request_t {
2831     uint8_t               major_opcode; /**<  */
2832     uint8_t               minor_opcode; /**<  */
2833     uint16_t              length; /**<  */
2834     xcb_window_t          grab_window; /**<  */
2835     uint32_t              detail; /**<  */
2836     xcb_input_device_id_t deviceid; /**<  */
2837     uint16_t              num_modifiers; /**<  */
2838     uint8_t               grab_type; /**<  */
2839     uint8_t               pad0[3]; /**<  */
2840 } xcb_input_xi_passive_ungrab_device_request_t;
2841 
2842 /**
2843  * @brief xcb_input_xi_list_properties_cookie_t
2844  **/
2845 typedef struct xcb_input_xi_list_properties_cookie_t {
2846     unsigned int sequence; /**<  */
2847 } xcb_input_xi_list_properties_cookie_t;
2848 
2849 /** Opcode for xcb_input_xi_list_properties. */
2850 #define XCB_INPUT_XI_LIST_PROPERTIES 56
2851 
2852 /**
2853  * @brief xcb_input_xi_list_properties_request_t
2854  **/
2855 typedef struct xcb_input_xi_list_properties_request_t {
2856     uint8_t               major_opcode; /**<  */
2857     uint8_t               minor_opcode; /**<  */
2858     uint16_t              length; /**<  */
2859     xcb_input_device_id_t deviceid; /**<  */
2860     uint8_t               pad0[2]; /**<  */
2861 } xcb_input_xi_list_properties_request_t;
2862 
2863 /**
2864  * @brief xcb_input_xi_list_properties_reply_t
2865  **/
2866 typedef struct xcb_input_xi_list_properties_reply_t {
2867     uint8_t  response_type; /**<  */
2868     uint8_t  pad0; /**<  */
2869     uint16_t sequence; /**<  */
2870     uint32_t length; /**<  */
2871     uint16_t num_properties; /**<  */
2872     uint8_t  pad1[22]; /**<  */
2873 } xcb_input_xi_list_properties_reply_t;
2874 
2875 /**
2876  * @brief xcb_input_xi_change_property_items_t
2877  **/
2878 typedef struct xcb_input_xi_change_property_items_t {
2879     uint8_t  *data8; /**<  */
2880     uint16_t *data16; /**<  */
2881     uint32_t *data32; /**<  */
2882 } xcb_input_xi_change_property_items_t;
2883 
2884 /** Opcode for xcb_input_xi_change_property. */
2885 #define XCB_INPUT_XI_CHANGE_PROPERTY 57
2886 
2887 /**
2888  * @brief xcb_input_xi_change_property_request_t
2889  **/
2890 typedef struct xcb_input_xi_change_property_request_t {
2891     uint8_t               major_opcode; /**<  */
2892     uint8_t               minor_opcode; /**<  */
2893     uint16_t              length; /**<  */
2894     xcb_input_device_id_t deviceid; /**<  */
2895     uint8_t               mode; /**<  */
2896     uint8_t               format; /**<  */
2897     xcb_atom_t            property; /**<  */
2898     xcb_atom_t            type; /**<  */
2899     uint32_t              num_items; /**<  */
2900 } xcb_input_xi_change_property_request_t;
2901 
2902 /** Opcode for xcb_input_xi_delete_property. */
2903 #define XCB_INPUT_XI_DELETE_PROPERTY 58
2904 
2905 /**
2906  * @brief xcb_input_xi_delete_property_request_t
2907  **/
2908 typedef struct xcb_input_xi_delete_property_request_t {
2909     uint8_t               major_opcode; /**<  */
2910     uint8_t               minor_opcode; /**<  */
2911     uint16_t              length; /**<  */
2912     xcb_input_device_id_t deviceid; /**<  */
2913     uint8_t               pad0[2]; /**<  */
2914     xcb_atom_t            property; /**<  */
2915 } xcb_input_xi_delete_property_request_t;
2916 
2917 /**
2918  * @brief xcb_input_xi_get_property_cookie_t
2919  **/
2920 typedef struct xcb_input_xi_get_property_cookie_t {
2921     unsigned int sequence; /**<  */
2922 } xcb_input_xi_get_property_cookie_t;
2923 
2924 /** Opcode for xcb_input_xi_get_property. */
2925 #define XCB_INPUT_XI_GET_PROPERTY 59
2926 
2927 /**
2928  * @brief xcb_input_xi_get_property_request_t
2929  **/
2930 typedef struct xcb_input_xi_get_property_request_t {
2931     uint8_t               major_opcode; /**<  */
2932     uint8_t               minor_opcode; /**<  */
2933     uint16_t              length; /**<  */
2934     xcb_input_device_id_t deviceid; /**<  */
2935     uint8_t               _delete; /**<  */
2936     uint8_t               pad0; /**<  */
2937     xcb_atom_t            property; /**<  */
2938     xcb_atom_t            type; /**<  */
2939     uint32_t              offset; /**<  */
2940     uint32_t              len; /**<  */
2941 } xcb_input_xi_get_property_request_t;
2942 
2943 /**
2944  * @brief xcb_input_xi_get_property_items_t
2945  **/
2946 typedef struct xcb_input_xi_get_property_items_t {
2947     uint8_t  *data8; /**<  */
2948     uint16_t *data16; /**<  */
2949     uint32_t *data32; /**<  */
2950 } xcb_input_xi_get_property_items_t;
2951 
2952 /**
2953  * @brief xcb_input_xi_get_property_reply_t
2954  **/
2955 typedef struct xcb_input_xi_get_property_reply_t {
2956     uint8_t    response_type; /**<  */
2957     uint8_t    pad0; /**<  */
2958     uint16_t   sequence; /**<  */
2959     uint32_t   length; /**<  */
2960     xcb_atom_t type; /**<  */
2961     uint32_t   bytes_after; /**<  */
2962     uint32_t   num_items; /**<  */
2963     uint8_t    format; /**<  */
2964     uint8_t    pad1[11]; /**<  */
2965 } xcb_input_xi_get_property_reply_t;
2966 
2967 /**
2968  * @brief xcb_input_xi_get_selected_events_cookie_t
2969  **/
2970 typedef struct xcb_input_xi_get_selected_events_cookie_t {
2971     unsigned int sequence; /**<  */
2972 } xcb_input_xi_get_selected_events_cookie_t;
2973 
2974 /** Opcode for xcb_input_xi_get_selected_events. */
2975 #define XCB_INPUT_XI_GET_SELECTED_EVENTS 60
2976 
2977 /**
2978  * @brief xcb_input_xi_get_selected_events_request_t
2979  **/
2980 typedef struct xcb_input_xi_get_selected_events_request_t {
2981     uint8_t      major_opcode; /**<  */
2982     uint8_t      minor_opcode; /**<  */
2983     uint16_t     length; /**<  */
2984     xcb_window_t window; /**<  */
2985 } xcb_input_xi_get_selected_events_request_t;
2986 
2987 /**
2988  * @brief xcb_input_xi_get_selected_events_reply_t
2989  **/
2990 typedef struct xcb_input_xi_get_selected_events_reply_t {
2991     uint8_t  response_type; /**<  */
2992     uint8_t  pad0; /**<  */
2993     uint16_t sequence; /**<  */
2994     uint32_t length; /**<  */
2995     uint16_t num_masks; /**<  */
2996     uint8_t  pad1[22]; /**<  */
2997 } xcb_input_xi_get_selected_events_reply_t;
2998 
2999 /**
3000  * @brief xcb_input_barrier_release_pointer_info_t
3001  **/
3002 typedef struct xcb_input_barrier_release_pointer_info_t {
3003     xcb_input_device_id_t deviceid; /**<  */
3004     uint8_t               pad0[2]; /**<  */
3005     xcb_xfixes_barrier_t  barrier; /**<  */
3006     uint32_t              eventid; /**<  */
3007 } xcb_input_barrier_release_pointer_info_t;
3008 
3009 /**
3010  * @brief xcb_input_barrier_release_pointer_info_iterator_t
3011  **/
3012 typedef struct xcb_input_barrier_release_pointer_info_iterator_t {
3013     xcb_input_barrier_release_pointer_info_t *data; /**<  */
3014     int                                       rem; /**<  */
3015     int                                       index; /**<  */
3016 } xcb_input_barrier_release_pointer_info_iterator_t;
3017 
3018 /** Opcode for xcb_input_xi_barrier_release_pointer. */
3019 #define XCB_INPUT_XI_BARRIER_RELEASE_POINTER 61
3020 
3021 /**
3022  * @brief xcb_input_xi_barrier_release_pointer_request_t
3023  **/
3024 typedef struct xcb_input_xi_barrier_release_pointer_request_t {
3025     uint8_t  major_opcode; /**<  */
3026     uint8_t  minor_opcode; /**<  */
3027     uint16_t length; /**<  */
3028     uint32_t num_barriers; /**<  */
3029 } xcb_input_xi_barrier_release_pointer_request_t;
3030 
3031 /** Opcode for xcb_input_device_valuator. */
3032 #define XCB_INPUT_DEVICE_VALUATOR 0
3033 
3034 /**
3035  * @brief xcb_input_device_valuator_event_t
3036  **/
3037 typedef struct xcb_input_device_valuator_event_t {
3038     uint8_t  response_type; /**<  */
3039     uint8_t  device_id; /**<  */
3040     uint16_t sequence; /**<  */
3041     uint16_t device_state; /**<  */
3042     uint8_t  num_valuators; /**<  */
3043     uint8_t  first_valuator; /**<  */
3044     int32_t  valuators[6]; /**<  */
3045 } xcb_input_device_valuator_event_t;
3046 
3047 /** Opcode for xcb_input_device_key_press. */
3048 #define XCB_INPUT_DEVICE_KEY_PRESS 1
3049 
3050 /**
3051  * @brief xcb_input_device_key_press_event_t
3052  **/
3053 typedef struct xcb_input_device_key_press_event_t {
3054     uint8_t         response_type; /**<  */
3055     uint8_t         detail; /**<  */
3056     uint16_t        sequence; /**<  */
3057     xcb_timestamp_t time; /**<  */
3058     xcb_window_t    root; /**<  */
3059     xcb_window_t    event; /**<  */
3060     xcb_window_t    child; /**<  */
3061     int16_t         root_x; /**<  */
3062     int16_t         root_y; /**<  */
3063     int16_t         event_x; /**<  */
3064     int16_t         event_y; /**<  */
3065     uint16_t        state; /**<  */
3066     uint8_t         same_screen; /**<  */
3067     uint8_t         device_id; /**<  */
3068 } xcb_input_device_key_press_event_t;
3069 
3070 /** Opcode for xcb_input_device_key_release. */
3071 #define XCB_INPUT_DEVICE_KEY_RELEASE 2
3072 
3073 typedef xcb_input_device_key_press_event_t xcb_input_device_key_release_event_t;
3074 
3075 /** Opcode for xcb_input_device_button_press. */
3076 #define XCB_INPUT_DEVICE_BUTTON_PRESS 3
3077 
3078 typedef xcb_input_device_key_press_event_t xcb_input_device_button_press_event_t;
3079 
3080 /** Opcode for xcb_input_device_button_release. */
3081 #define XCB_INPUT_DEVICE_BUTTON_RELEASE 4
3082 
3083 typedef xcb_input_device_key_press_event_t xcb_input_device_button_release_event_t;
3084 
3085 /** Opcode for xcb_input_device_motion_notify. */
3086 #define XCB_INPUT_DEVICE_MOTION_NOTIFY 5
3087 
3088 typedef xcb_input_device_key_press_event_t xcb_input_device_motion_notify_event_t;
3089 
3090 /** Opcode for xcb_input_device_focus_in. */
3091 #define XCB_INPUT_DEVICE_FOCUS_IN 6
3092 
3093 /**
3094  * @brief xcb_input_device_focus_in_event_t
3095  **/
3096 typedef struct xcb_input_device_focus_in_event_t {
3097     uint8_t         response_type; /**<  */
3098     uint8_t         detail; /**<  */
3099     uint16_t        sequence; /**<  */
3100     xcb_timestamp_t time; /**<  */
3101     xcb_window_t    window; /**<  */
3102     uint8_t         mode; /**<  */
3103     uint8_t         device_id; /**<  */
3104     uint8_t         pad0[18]; /**<  */
3105 } xcb_input_device_focus_in_event_t;
3106 
3107 /** Opcode for xcb_input_device_focus_out. */
3108 #define XCB_INPUT_DEVICE_FOCUS_OUT 7
3109 
3110 typedef xcb_input_device_focus_in_event_t xcb_input_device_focus_out_event_t;
3111 
3112 /** Opcode for xcb_input_proximity_in. */
3113 #define XCB_INPUT_PROXIMITY_IN 8
3114 
3115 typedef xcb_input_device_key_press_event_t xcb_input_proximity_in_event_t;
3116 
3117 /** Opcode for xcb_input_proximity_out. */
3118 #define XCB_INPUT_PROXIMITY_OUT 9
3119 
3120 typedef xcb_input_device_key_press_event_t xcb_input_proximity_out_event_t;
3121 
3122 /** Opcode for xcb_input_device_state_notify. */
3123 #define XCB_INPUT_DEVICE_STATE_NOTIFY 10
3124 
3125 /**
3126  * @brief xcb_input_device_state_notify_event_t
3127  **/
3128 typedef struct xcb_input_device_state_notify_event_t {
3129     uint8_t         response_type; /**<  */
3130     uint8_t         device_id; /**<  */
3131     uint16_t        sequence; /**<  */
3132     xcb_timestamp_t time; /**<  */
3133     uint8_t         num_keys; /**<  */
3134     uint8_t         num_buttons; /**<  */
3135     uint8_t         num_valuators; /**<  */
3136     uint8_t         classes_reported; /**<  */
3137     uint8_t         buttons[4]; /**<  */
3138     uint8_t         keys[4]; /**<  */
3139     uint32_t        valuators[3]; /**<  */
3140 } xcb_input_device_state_notify_event_t;
3141 
3142 /** Opcode for xcb_input_device_mapping_notify. */
3143 #define XCB_INPUT_DEVICE_MAPPING_NOTIFY 11
3144 
3145 /**
3146  * @brief xcb_input_device_mapping_notify_event_t
3147  **/
3148 typedef struct xcb_input_device_mapping_notify_event_t {
3149     uint8_t              response_type; /**<  */
3150     uint8_t              device_id; /**<  */
3151     uint16_t             sequence; /**<  */
3152     uint8_t              request; /**<  */
3153     xcb_input_key_code_t first_keycode; /**<  */
3154     uint8_t              count; /**<  */
3155     uint8_t              pad0; /**<  */
3156     xcb_timestamp_t      time; /**<  */
3157     uint8_t              pad1[20]; /**<  */
3158 } xcb_input_device_mapping_notify_event_t;
3159 
3160 /** Opcode for xcb_input_change_device_notify. */
3161 #define XCB_INPUT_CHANGE_DEVICE_NOTIFY 12
3162 
3163 /**
3164  * @brief xcb_input_change_device_notify_event_t
3165  **/
3166 typedef struct xcb_input_change_device_notify_event_t {
3167     uint8_t         response_type; /**<  */
3168     uint8_t         device_id; /**<  */
3169     uint16_t        sequence; /**<  */
3170     xcb_timestamp_t time; /**<  */
3171     uint8_t         request; /**<  */
3172     uint8_t         pad0[23]; /**<  */
3173 } xcb_input_change_device_notify_event_t;
3174 
3175 /** Opcode for xcb_input_device_key_state_notify. */
3176 #define XCB_INPUT_DEVICE_KEY_STATE_NOTIFY 13
3177 
3178 /**
3179  * @brief xcb_input_device_key_state_notify_event_t
3180  **/
3181 typedef struct xcb_input_device_key_state_notify_event_t {
3182     uint8_t  response_type; /**<  */
3183     uint8_t  device_id; /**<  */
3184     uint16_t sequence; /**<  */
3185     uint8_t  keys[28]; /**<  */
3186 } xcb_input_device_key_state_notify_event_t;
3187 
3188 /** Opcode for xcb_input_device_button_state_notify. */
3189 #define XCB_INPUT_DEVICE_BUTTON_STATE_NOTIFY 14
3190 
3191 /**
3192  * @brief xcb_input_device_button_state_notify_event_t
3193  **/
3194 typedef struct xcb_input_device_button_state_notify_event_t {
3195     uint8_t  response_type; /**<  */
3196     uint8_t  device_id; /**<  */
3197     uint16_t sequence; /**<  */
3198     uint8_t  buttons[28]; /**<  */
3199 } xcb_input_device_button_state_notify_event_t;
3200 
3201 typedef enum xcb_input_device_change_t {
3202     XCB_INPUT_DEVICE_CHANGE_ADDED = 0,
3203     XCB_INPUT_DEVICE_CHANGE_REMOVED = 1,
3204     XCB_INPUT_DEVICE_CHANGE_ENABLED = 2,
3205     XCB_INPUT_DEVICE_CHANGE_DISABLED = 3,
3206     XCB_INPUT_DEVICE_CHANGE_UNRECOVERABLE = 4,
3207     XCB_INPUT_DEVICE_CHANGE_CONTROL_CHANGED = 5
3208 } xcb_input_device_change_t;
3209 
3210 /** Opcode for xcb_input_device_presence_notify. */
3211 #define XCB_INPUT_DEVICE_PRESENCE_NOTIFY 15
3212 
3213 /**
3214  * @brief xcb_input_device_presence_notify_event_t
3215  **/
3216 typedef struct xcb_input_device_presence_notify_event_t {
3217     uint8_t         response_type; /**<  */
3218     uint8_t         pad0; /**<  */
3219     uint16_t        sequence; /**<  */
3220     xcb_timestamp_t time; /**<  */
3221     uint8_t         devchange; /**<  */
3222     uint8_t         device_id; /**<  */
3223     uint16_t        control; /**<  */
3224     uint8_t         pad1[20]; /**<  */
3225 } xcb_input_device_presence_notify_event_t;
3226 
3227 /** Opcode for xcb_input_device_property_notify. */
3228 #define XCB_INPUT_DEVICE_PROPERTY_NOTIFY 16
3229 
3230 /**
3231  * @brief xcb_input_device_property_notify_event_t
3232  **/
3233 typedef struct xcb_input_device_property_notify_event_t {
3234     uint8_t         response_type; /**<  */
3235     uint8_t         state; /**<  */
3236     uint16_t        sequence; /**<  */
3237     xcb_timestamp_t time; /**<  */
3238     xcb_atom_t      property; /**<  */
3239     uint8_t         pad0[19]; /**<  */
3240     uint8_t         device_id; /**<  */
3241 } xcb_input_device_property_notify_event_t;
3242 
3243 typedef enum xcb_input_change_reason_t {
3244     XCB_INPUT_CHANGE_REASON_SLAVE_SWITCH = 1,
3245     XCB_INPUT_CHANGE_REASON_DEVICE_CHANGE = 2
3246 } xcb_input_change_reason_t;
3247 
3248 /** Opcode for xcb_input_device_changed. */
3249 #define XCB_INPUT_DEVICE_CHANGED 1
3250 
3251 /**
3252  * @brief xcb_input_device_changed_event_t
3253  **/
3254 typedef struct xcb_input_device_changed_event_t {
3255     uint8_t               response_type; /**<  */
3256     uint8_t               extension; /**<  */
3257     uint16_t              sequence; /**<  */
3258     uint32_t              length; /**<  */
3259     uint16_t              event_type; /**<  */
3260     xcb_input_device_id_t deviceid; /**<  */
3261     xcb_timestamp_t       time; /**<  */
3262     uint16_t              num_classes; /**<  */
3263     xcb_input_device_id_t sourceid; /**<  */
3264     uint8_t               reason; /**<  */
3265     uint8_t               pad0[11]; /**<  */
3266     uint32_t              full_sequence; /**<  */
3267 } xcb_input_device_changed_event_t;
3268 
3269 typedef enum xcb_input_key_event_flags_t {
3270     XCB_INPUT_KEY_EVENT_FLAGS_KEY_REPEAT = 65536
3271 } xcb_input_key_event_flags_t;
3272 
3273 /** Opcode for xcb_input_key_press. */
3274 #define XCB_INPUT_KEY_PRESS 2
3275 
3276 /**
3277  * @brief xcb_input_key_press_event_t
3278  **/
3279 typedef struct xcb_input_key_press_event_t {
3280     uint8_t                   response_type; /**<  */
3281     uint8_t                   extension; /**<  */
3282     uint16_t                  sequence; /**<  */
3283     uint32_t                  length; /**<  */
3284     uint16_t                  event_type; /**<  */
3285     xcb_input_device_id_t     deviceid; /**<  */
3286     xcb_timestamp_t           time; /**<  */
3287     uint32_t                  detail; /**<  */
3288     xcb_window_t              root; /**<  */
3289     xcb_window_t              event; /**<  */
3290     xcb_window_t              child; /**<  */
3291     uint32_t                  full_sequence; /**<  */
3292     xcb_input_fp1616_t        root_x; /**<  */
3293     xcb_input_fp1616_t        root_y; /**<  */
3294     xcb_input_fp1616_t        event_x; /**<  */
3295     xcb_input_fp1616_t        event_y; /**<  */
3296     uint16_t                  buttons_len; /**<  */
3297     uint16_t                  valuators_len; /**<  */
3298     xcb_input_device_id_t     sourceid; /**<  */
3299     uint8_t                   pad0[2]; /**<  */
3300     uint32_t                  flags; /**<  */
3301     xcb_input_modifier_info_t mods; /**<  */
3302     xcb_input_group_info_t    group; /**<  */
3303 } xcb_input_key_press_event_t;
3304 
3305 /** Opcode for xcb_input_key_release. */
3306 #define XCB_INPUT_KEY_RELEASE 3
3307 
3308 typedef xcb_input_key_press_event_t xcb_input_key_release_event_t;
3309 
3310 typedef enum xcb_input_pointer_event_flags_t {
3311     XCB_INPUT_POINTER_EVENT_FLAGS_POINTER_EMULATED = 65536
3312 } xcb_input_pointer_event_flags_t;
3313 
3314 /** Opcode for xcb_input_button_press. */
3315 #define XCB_INPUT_BUTTON_PRESS 4
3316 
3317 /**
3318  * @brief xcb_input_button_press_event_t
3319  **/
3320 typedef struct xcb_input_button_press_event_t {
3321     uint8_t                   response_type; /**<  */
3322     uint8_t                   extension; /**<  */
3323     uint16_t                  sequence; /**<  */
3324     uint32_t                  length; /**<  */
3325     uint16_t                  event_type; /**<  */
3326     xcb_input_device_id_t     deviceid; /**<  */
3327     xcb_timestamp_t           time; /**<  */
3328     uint32_t                  detail; /**<  */
3329     xcb_window_t              root; /**<  */
3330     xcb_window_t              event; /**<  */
3331     xcb_window_t              child; /**<  */
3332     uint32_t                  full_sequence; /**<  */
3333     xcb_input_fp1616_t        root_x; /**<  */
3334     xcb_input_fp1616_t        root_y; /**<  */
3335     xcb_input_fp1616_t        event_x; /**<  */
3336     xcb_input_fp1616_t        event_y; /**<  */
3337     uint16_t                  buttons_len; /**<  */
3338     uint16_t                  valuators_len; /**<  */
3339     xcb_input_device_id_t     sourceid; /**<  */
3340     uint8_t                   pad0[2]; /**<  */
3341     uint32_t                  flags; /**<  */
3342     xcb_input_modifier_info_t mods; /**<  */
3343     xcb_input_group_info_t    group; /**<  */
3344 } xcb_input_button_press_event_t;
3345 
3346 /** Opcode for xcb_input_button_release. */
3347 #define XCB_INPUT_BUTTON_RELEASE 5
3348 
3349 typedef xcb_input_button_press_event_t xcb_input_button_release_event_t;
3350 
3351 /** Opcode for xcb_input_motion. */
3352 #define XCB_INPUT_MOTION 6
3353 
3354 typedef xcb_input_button_press_event_t xcb_input_motion_event_t;
3355 
3356 typedef enum xcb_input_notify_mode_t {
3357     XCB_INPUT_NOTIFY_MODE_NORMAL = 0,
3358     XCB_INPUT_NOTIFY_MODE_GRAB = 1,
3359     XCB_INPUT_NOTIFY_MODE_UNGRAB = 2,
3360     XCB_INPUT_NOTIFY_MODE_WHILE_GRABBED = 3,
3361     XCB_INPUT_NOTIFY_MODE_PASSIVE_GRAB = 4,
3362     XCB_INPUT_NOTIFY_MODE_PASSIVE_UNGRAB = 5
3363 } xcb_input_notify_mode_t;
3364 
3365 typedef enum xcb_input_notify_detail_t {
3366     XCB_INPUT_NOTIFY_DETAIL_ANCESTOR = 0,
3367     XCB_INPUT_NOTIFY_DETAIL_VIRTUAL = 1,
3368     XCB_INPUT_NOTIFY_DETAIL_INFERIOR = 2,
3369     XCB_INPUT_NOTIFY_DETAIL_NONLINEAR = 3,
3370     XCB_INPUT_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
3371     XCB_INPUT_NOTIFY_DETAIL_POINTER = 5,
3372     XCB_INPUT_NOTIFY_DETAIL_POINTER_ROOT = 6,
3373     XCB_INPUT_NOTIFY_DETAIL_NONE = 7
3374 } xcb_input_notify_detail_t;
3375 
3376 /** Opcode for xcb_input_enter. */
3377 #define XCB_INPUT_ENTER 7
3378 
3379 /**
3380  * @brief xcb_input_enter_event_t
3381  **/
3382 typedef struct xcb_input_enter_event_t {
3383     uint8_t                   response_type; /**<  */
3384     uint8_t                   extension; /**<  */
3385     uint16_t                  sequence; /**<  */
3386     uint32_t                  length; /**<  */
3387     uint16_t                  event_type; /**<  */
3388     xcb_input_device_id_t     deviceid; /**<  */
3389     xcb_timestamp_t           time; /**<  */
3390     xcb_input_device_id_t     sourceid; /**<  */
3391     uint8_t                   mode; /**<  */
3392     uint8_t                   detail; /**<  */
3393     xcb_window_t              root; /**<  */
3394     xcb_window_t              event; /**<  */
3395     xcb_window_t              child; /**<  */
3396     uint32_t                  full_sequence; /**<  */
3397     xcb_input_fp1616_t        root_x; /**<  */
3398     xcb_input_fp1616_t        root_y; /**<  */
3399     xcb_input_fp1616_t        event_x; /**<  */
3400     xcb_input_fp1616_t        event_y; /**<  */
3401     uint8_t                   same_screen; /**<  */
3402     uint8_t                   focus; /**<  */
3403     uint16_t                  buttons_len; /**<  */
3404     xcb_input_modifier_info_t mods; /**<  */
3405     xcb_input_group_info_t    group; /**<  */
3406 } xcb_input_enter_event_t;
3407 
3408 /** Opcode for xcb_input_leave. */
3409 #define XCB_INPUT_LEAVE 8
3410 
3411 typedef xcb_input_enter_event_t xcb_input_leave_event_t;
3412 
3413 /** Opcode for xcb_input_focus_in. */
3414 #define XCB_INPUT_FOCUS_IN 9
3415 
3416 typedef xcb_input_enter_event_t xcb_input_focus_in_event_t;
3417 
3418 /** Opcode for xcb_input_focus_out. */
3419 #define XCB_INPUT_FOCUS_OUT 10
3420 
3421 typedef xcb_input_enter_event_t xcb_input_focus_out_event_t;
3422 
3423 typedef enum xcb_input_hierarchy_mask_t {
3424     XCB_INPUT_HIERARCHY_MASK_MASTER_ADDED = 1,
3425     XCB_INPUT_HIERARCHY_MASK_MASTER_REMOVED = 2,
3426     XCB_INPUT_HIERARCHY_MASK_SLAVE_ADDED = 4,
3427     XCB_INPUT_HIERARCHY_MASK_SLAVE_REMOVED = 8,
3428     XCB_INPUT_HIERARCHY_MASK_SLAVE_ATTACHED = 16,
3429     XCB_INPUT_HIERARCHY_MASK_SLAVE_DETACHED = 32,
3430     XCB_INPUT_HIERARCHY_MASK_DEVICE_ENABLED = 64,
3431     XCB_INPUT_HIERARCHY_MASK_DEVICE_DISABLED = 128
3432 } xcb_input_hierarchy_mask_t;
3433 
3434 /**
3435  * @brief xcb_input_hierarchy_info_t
3436  **/
3437 typedef struct xcb_input_hierarchy_info_t {
3438     xcb_input_device_id_t deviceid; /**<  */
3439     xcb_input_device_id_t attachment; /**<  */
3440     uint8_t               type; /**<  */
3441     uint8_t               enabled; /**<  */
3442     uint8_t               pad0[2]; /**<  */
3443     uint32_t              flags; /**<  */
3444 } xcb_input_hierarchy_info_t;
3445 
3446 /**
3447  * @brief xcb_input_hierarchy_info_iterator_t
3448  **/
3449 typedef struct xcb_input_hierarchy_info_iterator_t {
3450     xcb_input_hierarchy_info_t *data; /**<  */
3451     int                         rem; /**<  */
3452     int                         index; /**<  */
3453 } xcb_input_hierarchy_info_iterator_t;
3454 
3455 /** Opcode for xcb_input_hierarchy. */
3456 #define XCB_INPUT_HIERARCHY 11
3457 
3458 /**
3459  * @brief xcb_input_hierarchy_event_t
3460  **/
3461 typedef struct xcb_input_hierarchy_event_t {
3462     uint8_t               response_type; /**<  */
3463     uint8_t               extension; /**<  */
3464     uint16_t              sequence; /**<  */
3465     uint32_t              length; /**<  */
3466     uint16_t              event_type; /**<  */
3467     xcb_input_device_id_t deviceid; /**<  */
3468     xcb_timestamp_t       time; /**<  */
3469     uint32_t              flags; /**<  */
3470     uint16_t              num_infos; /**<  */
3471     uint8_t               pad0[10]; /**<  */
3472     uint32_t              full_sequence; /**<  */
3473 } xcb_input_hierarchy_event_t;
3474 
3475 typedef enum xcb_input_property_flag_t {
3476     XCB_INPUT_PROPERTY_FLAG_DELETED = 0,
3477     XCB_INPUT_PROPERTY_FLAG_CREATED = 1,
3478     XCB_INPUT_PROPERTY_FLAG_MODIFIED = 2
3479 } xcb_input_property_flag_t;
3480 
3481 /** Opcode for xcb_input_property. */
3482 #define XCB_INPUT_PROPERTY 12
3483 
3484 /**
3485  * @brief xcb_input_property_event_t
3486  **/
3487 typedef struct xcb_input_property_event_t {
3488     uint8_t               response_type; /**<  */
3489     uint8_t               extension; /**<  */
3490     uint16_t              sequence; /**<  */
3491     uint32_t              length; /**<  */
3492     uint16_t              event_type; /**<  */
3493     xcb_input_device_id_t deviceid; /**<  */
3494     xcb_timestamp_t       time; /**<  */
3495     xcb_atom_t            property; /**<  */
3496     uint8_t               what; /**<  */
3497     uint8_t               pad0[11]; /**<  */
3498     uint32_t              full_sequence; /**<  */
3499 } xcb_input_property_event_t;
3500 
3501 /** Opcode for xcb_input_raw_key_press. */
3502 #define XCB_INPUT_RAW_KEY_PRESS 13
3503 
3504 /**
3505  * @brief xcb_input_raw_key_press_event_t
3506  **/
3507 typedef struct xcb_input_raw_key_press_event_t {
3508     uint8_t               response_type; /**<  */
3509     uint8_t               extension; /**<  */
3510     uint16_t              sequence; /**<  */
3511     uint32_t              length; /**<  */
3512     uint16_t              event_type; /**<  */
3513     xcb_input_device_id_t deviceid; /**<  */
3514     xcb_timestamp_t       time; /**<  */
3515     uint32_t              detail; /**<  */
3516     xcb_input_device_id_t sourceid; /**<  */
3517     uint16_t              valuators_len; /**<  */
3518     uint32_t              flags; /**<  */
3519     uint8_t               pad0[4]; /**<  */
3520     uint32_t              full_sequence; /**<  */
3521 } xcb_input_raw_key_press_event_t;
3522 
3523 /** Opcode for xcb_input_raw_key_release. */
3524 #define XCB_INPUT_RAW_KEY_RELEASE 14
3525 
3526 typedef xcb_input_raw_key_press_event_t xcb_input_raw_key_release_event_t;
3527 
3528 /** Opcode for xcb_input_raw_button_press. */
3529 #define XCB_INPUT_RAW_BUTTON_PRESS 15
3530 
3531 /**
3532  * @brief xcb_input_raw_button_press_event_t
3533  **/
3534 typedef struct xcb_input_raw_button_press_event_t {
3535     uint8_t               response_type; /**<  */
3536     uint8_t               extension; /**<  */
3537     uint16_t              sequence; /**<  */
3538     uint32_t              length; /**<  */
3539     uint16_t              event_type; /**<  */
3540     xcb_input_device_id_t deviceid; /**<  */
3541     xcb_timestamp_t       time; /**<  */
3542     uint32_t              detail; /**<  */
3543     xcb_input_device_id_t sourceid; /**<  */
3544     uint16_t              valuators_len; /**<  */
3545     uint32_t              flags; /**<  */
3546     uint8_t               pad0[4]; /**<  */
3547     uint32_t              full_sequence; /**<  */
3548 } xcb_input_raw_button_press_event_t;
3549 
3550 /** Opcode for xcb_input_raw_button_release. */
3551 #define XCB_INPUT_RAW_BUTTON_RELEASE 16
3552 
3553 typedef xcb_input_raw_button_press_event_t xcb_input_raw_button_release_event_t;
3554 
3555 /** Opcode for xcb_input_raw_motion. */
3556 #define XCB_INPUT_RAW_MOTION 17
3557 
3558 typedef xcb_input_raw_button_press_event_t xcb_input_raw_motion_event_t;
3559 
3560 typedef enum xcb_input_touch_event_flags_t {
3561     XCB_INPUT_TOUCH_EVENT_FLAGS_TOUCH_PENDING_END = 65536,
3562     XCB_INPUT_TOUCH_EVENT_FLAGS_TOUCH_EMULATING_POINTER = 131072
3563 } xcb_input_touch_event_flags_t;
3564 
3565 /** Opcode for xcb_input_touch_begin. */
3566 #define XCB_INPUT_TOUCH_BEGIN 18
3567 
3568 /**
3569  * @brief xcb_input_touch_begin_event_t
3570  **/
3571 typedef struct xcb_input_touch_begin_event_t {
3572     uint8_t                   response_type; /**<  */
3573     uint8_t                   extension; /**<  */
3574     uint16_t                  sequence; /**<  */
3575     uint32_t                  length; /**<  */
3576     uint16_t                  event_type; /**<  */
3577     xcb_input_device_id_t     deviceid; /**<  */
3578     xcb_timestamp_t           time; /**<  */
3579     uint32_t                  detail; /**<  */
3580     xcb_window_t              root; /**<  */
3581     xcb_window_t              event; /**<  */
3582     xcb_window_t              child; /**<  */
3583     uint32_t                  full_sequence; /**<  */
3584     xcb_input_fp1616_t        root_x; /**<  */
3585     xcb_input_fp1616_t        root_y; /**<  */
3586     xcb_input_fp1616_t        event_x; /**<  */
3587     xcb_input_fp1616_t        event_y; /**<  */
3588     uint16_t                  buttons_len; /**<  */
3589     uint16_t                  valuators_len; /**<  */
3590     xcb_input_device_id_t     sourceid; /**<  */
3591     uint8_t                   pad0[2]; /**<  */
3592     uint32_t                  flags; /**<  */
3593     xcb_input_modifier_info_t mods; /**<  */
3594     xcb_input_group_info_t    group; /**<  */
3595 } xcb_input_touch_begin_event_t;
3596 
3597 /** Opcode for xcb_input_touch_update. */
3598 #define XCB_INPUT_TOUCH_UPDATE 19
3599 
3600 typedef xcb_input_touch_begin_event_t xcb_input_touch_update_event_t;
3601 
3602 /** Opcode for xcb_input_touch_end. */
3603 #define XCB_INPUT_TOUCH_END 20
3604 
3605 typedef xcb_input_touch_begin_event_t xcb_input_touch_end_event_t;
3606 
3607 typedef enum xcb_input_touch_ownership_flags_t {
3608     XCB_INPUT_TOUCH_OWNERSHIP_FLAGS_NONE = 0
3609 } xcb_input_touch_ownership_flags_t;
3610 
3611 /** Opcode for xcb_input_touch_ownership. */
3612 #define XCB_INPUT_TOUCH_OWNERSHIP 21
3613 
3614 /**
3615  * @brief xcb_input_touch_ownership_event_t
3616  **/
3617 typedef struct xcb_input_touch_ownership_event_t {
3618     uint8_t               response_type; /**<  */
3619     uint8_t               extension; /**<  */
3620     uint16_t              sequence; /**<  */
3621     uint32_t              length; /**<  */
3622     uint16_t              event_type; /**<  */
3623     xcb_input_device_id_t deviceid; /**<  */
3624     xcb_timestamp_t       time; /**<  */
3625     uint32_t              touchid; /**<  */
3626     xcb_window_t          root; /**<  */
3627     xcb_window_t          event; /**<  */
3628     xcb_window_t          child; /**<  */
3629     uint32_t              full_sequence; /**<  */
3630     xcb_input_device_id_t sourceid; /**<  */
3631     uint8_t               pad0[2]; /**<  */
3632     uint32_t              flags; /**<  */
3633     uint8_t               pad1[8]; /**<  */
3634 } xcb_input_touch_ownership_event_t;
3635 
3636 /** Opcode for xcb_input_raw_touch_begin. */
3637 #define XCB_INPUT_RAW_TOUCH_BEGIN 22
3638 
3639 /**
3640  * @brief xcb_input_raw_touch_begin_event_t
3641  **/
3642 typedef struct xcb_input_raw_touch_begin_event_t {
3643     uint8_t               response_type; /**<  */
3644     uint8_t               extension; /**<  */
3645     uint16_t              sequence; /**<  */
3646     uint32_t              length; /**<  */
3647     uint16_t              event_type; /**<  */
3648     xcb_input_device_id_t deviceid; /**<  */
3649     xcb_timestamp_t       time; /**<  */
3650     uint32_t              detail; /**<  */
3651     xcb_input_device_id_t sourceid; /**<  */
3652     uint16_t              valuators_len; /**<  */
3653     uint32_t              flags; /**<  */
3654     uint8_t               pad0[4]; /**<  */
3655     uint32_t              full_sequence; /**<  */
3656 } xcb_input_raw_touch_begin_event_t;
3657 
3658 /** Opcode for xcb_input_raw_touch_update. */
3659 #define XCB_INPUT_RAW_TOUCH_UPDATE 23
3660 
3661 typedef xcb_input_raw_touch_begin_event_t xcb_input_raw_touch_update_event_t;
3662 
3663 /** Opcode for xcb_input_raw_touch_end. */
3664 #define XCB_INPUT_RAW_TOUCH_END 24
3665 
3666 typedef xcb_input_raw_touch_begin_event_t xcb_input_raw_touch_end_event_t;
3667 
3668 /** Opcode for xcb_input_barrier_hit. */
3669 #define XCB_INPUT_BARRIER_HIT 25
3670 
3671 /**
3672  * @brief xcb_input_barrier_hit_event_t
3673  **/
3674 typedef struct xcb_input_barrier_hit_event_t {
3675     uint8_t               response_type; /**<  */
3676     uint8_t               extension; /**<  */
3677     uint16_t              sequence; /**<  */
3678     uint32_t              length; /**<  */
3679     uint16_t              event_type; /**<  */
3680     xcb_input_device_id_t deviceid; /**<  */
3681     xcb_timestamp_t       time; /**<  */
3682     uint32_t              eventid; /**<  */
3683     xcb_window_t          root; /**<  */
3684     xcb_window_t          event; /**<  */
3685     xcb_xfixes_barrier_t  barrier; /**<  */
3686     uint32_t              full_sequence; /**<  */
3687     uint32_t              dtime; /**<  */
3688     uint32_t              flags; /**<  */
3689     xcb_input_device_id_t sourceid; /**<  */
3690     uint8_t               pad0[2]; /**<  */
3691     xcb_input_fp1616_t    root_x; /**<  */
3692     xcb_input_fp1616_t    root_y; /**<  */
3693     xcb_input_fp3232_t    dx; /**<  */
3694     xcb_input_fp3232_t    dy; /**<  */
3695 } xcb_input_barrier_hit_event_t;
3696 
3697 /** Opcode for xcb_input_barrier_leave. */
3698 #define XCB_INPUT_BARRIER_LEAVE 26
3699 
3700 typedef xcb_input_barrier_hit_event_t xcb_input_barrier_leave_event_t;
3701 
3702 /** Opcode for xcb_input_device. */
3703 #define XCB_INPUT_DEVICE 0
3704 
3705 /**
3706  * @brief xcb_input_device_error_t
3707  **/
3708 typedef struct xcb_input_device_error_t {
3709     uint8_t  response_type; /**<  */
3710     uint8_t  error_code; /**<  */
3711     uint16_t sequence; /**<  */
3712 } xcb_input_device_error_t;
3713 
3714 /** Opcode for xcb_input_event. */
3715 #define XCB_INPUT_EVENT 1
3716 
3717 /**
3718  * @brief xcb_input_event_error_t
3719  **/
3720 typedef struct xcb_input_event_error_t {
3721     uint8_t  response_type; /**<  */
3722     uint8_t  error_code; /**<  */
3723     uint16_t sequence; /**<  */
3724 } xcb_input_event_error_t;
3725 
3726 /** Opcode for xcb_input_mode. */
3727 #define XCB_INPUT_MODE 2
3728 
3729 /**
3730  * @brief xcb_input_mode_error_t
3731  **/
3732 typedef struct xcb_input_mode_error_t {
3733     uint8_t  response_type; /**<  */
3734     uint8_t  error_code; /**<  */
3735     uint16_t sequence; /**<  */
3736 } xcb_input_mode_error_t;
3737 
3738 /** Opcode for xcb_input_device_busy. */
3739 #define XCB_INPUT_DEVICE_BUSY 3
3740 
3741 /**
3742  * @brief xcb_input_device_busy_error_t
3743  **/
3744 typedef struct xcb_input_device_busy_error_t {
3745     uint8_t  response_type; /**<  */
3746     uint8_t  error_code; /**<  */
3747     uint16_t sequence; /**<  */
3748 } xcb_input_device_busy_error_t;
3749 
3750 /** Opcode for xcb_input_class. */
3751 #define XCB_INPUT_CLASS 4
3752 
3753 /**
3754  * @brief xcb_input_class_error_t
3755  **/
3756 typedef struct xcb_input_class_error_t {
3757     uint8_t  response_type; /**<  */
3758     uint8_t  error_code; /**<  */
3759     uint16_t sequence; /**<  */
3760 } xcb_input_class_error_t;
3761 
3762 /**
3763  * Get the next element of the iterator
3764  * @param i Pointer to a xcb_input_event_class_iterator_t
3765  *
3766  * Get the next element in the iterator. The member rem is
3767  * decreased by one. The member data points to the next
3768  * element. The member index is increased by sizeof(xcb_input_event_class_t)
3769  */
3770 void
3771 xcb_input_event_class_next (xcb_input_event_class_iterator_t *i  /**< */);
3772 
3773 /**
3774  * Return the iterator pointing to the last element
3775  * @param i An xcb_input_event_class_iterator_t
3776  * @return  The iterator pointing to the last element
3777  *
3778  * Set the current element in the iterator to the last element.
3779  * The member rem is set to 0. The member data points to the
3780  * last element.
3781  */
3782 xcb_generic_iterator_t
3783 xcb_input_event_class_end (xcb_input_event_class_iterator_t i  /**< */);
3784 
3785 /**
3786  * Get the next element of the iterator
3787  * @param i Pointer to a xcb_input_key_code_iterator_t
3788  *
3789  * Get the next element in the iterator. The member rem is
3790  * decreased by one. The member data points to the next
3791  * element. The member index is increased by sizeof(xcb_input_key_code_t)
3792  */
3793 void
3794 xcb_input_key_code_next (xcb_input_key_code_iterator_t *i  /**< */);
3795 
3796 /**
3797  * Return the iterator pointing to the last element
3798  * @param i An xcb_input_key_code_iterator_t
3799  * @return  The iterator pointing to the last element
3800  *
3801  * Set the current element in the iterator to the last element.
3802  * The member rem is set to 0. The member data points to the
3803  * last element.
3804  */
3805 xcb_generic_iterator_t
3806 xcb_input_key_code_end (xcb_input_key_code_iterator_t i  /**< */);
3807 
3808 /**
3809  * Get the next element of the iterator
3810  * @param i Pointer to a xcb_input_device_id_iterator_t
3811  *
3812  * Get the next element in the iterator. The member rem is
3813  * decreased by one. The member data points to the next
3814  * element. The member index is increased by sizeof(xcb_input_device_id_t)
3815  */
3816 void
3817 xcb_input_device_id_next (xcb_input_device_id_iterator_t *i  /**< */);
3818 
3819 /**
3820  * Return the iterator pointing to the last element
3821  * @param i An xcb_input_device_id_iterator_t
3822  * @return  The iterator pointing to the last element
3823  *
3824  * Set the current element in the iterator to the last element.
3825  * The member rem is set to 0. The member data points to the
3826  * last element.
3827  */
3828 xcb_generic_iterator_t
3829 xcb_input_device_id_end (xcb_input_device_id_iterator_t i  /**< */);
3830 
3831 /**
3832  * Get the next element of the iterator
3833  * @param i Pointer to a xcb_input_fp1616_iterator_t
3834  *
3835  * Get the next element in the iterator. The member rem is
3836  * decreased by one. The member data points to the next
3837  * element. The member index is increased by sizeof(xcb_input_fp1616_t)
3838  */
3839 void
3840 xcb_input_fp1616_next (xcb_input_fp1616_iterator_t *i  /**< */);
3841 
3842 /**
3843  * Return the iterator pointing to the last element
3844  * @param i An xcb_input_fp1616_iterator_t
3845  * @return  The iterator pointing to the last element
3846  *
3847  * Set the current element in the iterator to the last element.
3848  * The member rem is set to 0. The member data points to the
3849  * last element.
3850  */
3851 xcb_generic_iterator_t
3852 xcb_input_fp1616_end (xcb_input_fp1616_iterator_t i  /**< */);
3853 
3854 /**
3855  * Get the next element of the iterator
3856  * @param i Pointer to a xcb_input_fp3232_iterator_t
3857  *
3858  * Get the next element in the iterator. The member rem is
3859  * decreased by one. The member data points to the next
3860  * element. The member index is increased by sizeof(xcb_input_fp3232_t)
3861  */
3862 void
3863 xcb_input_fp3232_next (xcb_input_fp3232_iterator_t *i  /**< */);
3864 
3865 /**
3866  * Return the iterator pointing to the last element
3867  * @param i An xcb_input_fp3232_iterator_t
3868  * @return  The iterator pointing to the last element
3869  *
3870  * Set the current element in the iterator to the last element.
3871  * The member rem is set to 0. The member data points to the
3872  * last element.
3873  */
3874 xcb_generic_iterator_t
3875 xcb_input_fp3232_end (xcb_input_fp3232_iterator_t i  /**< */);
3876 
3877 int
3878 xcb_input_get_extension_version_sizeof (const void  *_buffer  /**< */);
3879 
3880 /**
3881  *
3882  * @param c The connection
3883  * @return A cookie
3884  *
3885  * Delivers a request to the X server.
3886  *
3887  */
3888 xcb_input_get_extension_version_cookie_t
3889 xcb_input_get_extension_version (xcb_connection_t *c  /**< */,
3890                                  uint16_t          name_len  /**< */,
3891                                  const char       *name  /**< */);
3892 
3893 /**
3894  *
3895  * @param c The connection
3896  * @return A cookie
3897  *
3898  * Delivers a request to the X server.
3899  *
3900  * This form can be used only if the request will cause
3901  * a reply to be generated. Any returned error will be
3902  * placed in the event queue.
3903  */
3904 xcb_input_get_extension_version_cookie_t
3905 xcb_input_get_extension_version_unchecked (xcb_connection_t *c  /**< */,
3906                                            uint16_t          name_len  /**< */,
3907                                            const char       *name  /**< */);
3908 
3909 /**
3910  * Return the reply
3911  * @param c      The connection
3912  * @param cookie The cookie
3913  * @param e      The xcb_generic_error_t supplied
3914  *
3915  * Returns the reply of the request asked by
3916  *
3917  * The parameter @p e supplied to this function must be NULL if
3918  * xcb_input_get_extension_version_unchecked(). is used.
3919  * Otherwise, it stores the error if any.
3920  *
3921  * The returned value must be freed by the caller using free().
3922  */
3923 xcb_input_get_extension_version_reply_t *
3924 xcb_input_get_extension_version_reply (xcb_connection_t                          *c  /**< */,
3925                                        xcb_input_get_extension_version_cookie_t   cookie  /**< */,
3926                                        xcb_generic_error_t                      **e  /**< */);
3927 
3928 /**
3929  * Get the next element of the iterator
3930  * @param i Pointer to a xcb_input_device_info_iterator_t
3931  *
3932  * Get the next element in the iterator. The member rem is
3933  * decreased by one. The member data points to the next
3934  * element. The member index is increased by sizeof(xcb_input_device_info_t)
3935  */
3936 void
3937 xcb_input_device_info_next (xcb_input_device_info_iterator_t *i  /**< */);
3938 
3939 /**
3940  * Return the iterator pointing to the last element
3941  * @param i An xcb_input_device_info_iterator_t
3942  * @return  The iterator pointing to the last element
3943  *
3944  * Set the current element in the iterator to the last element.
3945  * The member rem is set to 0. The member data points to the
3946  * last element.
3947  */
3948 xcb_generic_iterator_t
3949 xcb_input_device_info_end (xcb_input_device_info_iterator_t i  /**< */);
3950 
3951 /**
3952  * Get the next element of the iterator
3953  * @param i Pointer to a xcb_input_key_info_iterator_t
3954  *
3955  * Get the next element in the iterator. The member rem is
3956  * decreased by one. The member data points to the next
3957  * element. The member index is increased by sizeof(xcb_input_key_info_t)
3958  */
3959 void
3960 xcb_input_key_info_next (xcb_input_key_info_iterator_t *i  /**< */);
3961 
3962 /**
3963  * Return the iterator pointing to the last element
3964  * @param i An xcb_input_key_info_iterator_t
3965  * @return  The iterator pointing to the last element
3966  *
3967  * Set the current element in the iterator to the last element.
3968  * The member rem is set to 0. The member data points to the
3969  * last element.
3970  */
3971 xcb_generic_iterator_t
3972 xcb_input_key_info_end (xcb_input_key_info_iterator_t i  /**< */);
3973 
3974 /**
3975  * Get the next element of the iterator
3976  * @param i Pointer to a xcb_input_button_info_iterator_t
3977  *
3978  * Get the next element in the iterator. The member rem is
3979  * decreased by one. The member data points to the next
3980  * element. The member index is increased by sizeof(xcb_input_button_info_t)
3981  */
3982 void
3983 xcb_input_button_info_next (xcb_input_button_info_iterator_t *i  /**< */);
3984 
3985 /**
3986  * Return the iterator pointing to the last element
3987  * @param i An xcb_input_button_info_iterator_t
3988  * @return  The iterator pointing to the last element
3989  *
3990  * Set the current element in the iterator to the last element.
3991  * The member rem is set to 0. The member data points to the
3992  * last element.
3993  */
3994 xcb_generic_iterator_t
3995 xcb_input_button_info_end (xcb_input_button_info_iterator_t i  /**< */);
3996 
3997 /**
3998  * Get the next element of the iterator
3999  * @param i Pointer to a xcb_input_axis_info_iterator_t
4000  *
4001  * Get the next element in the iterator. The member rem is
4002  * decreased by one. The member data points to the next
4003  * element. The member index is increased by sizeof(xcb_input_axis_info_t)
4004  */
4005 void
4006 xcb_input_axis_info_next (xcb_input_axis_info_iterator_t *i  /**< */);
4007 
4008 /**
4009  * Return the iterator pointing to the last element
4010  * @param i An xcb_input_axis_info_iterator_t
4011  * @return  The iterator pointing to the last element
4012  *
4013  * Set the current element in the iterator to the last element.
4014  * The member rem is set to 0. The member data points to the
4015  * last element.
4016  */
4017 xcb_generic_iterator_t
4018 xcb_input_axis_info_end (xcb_input_axis_info_iterator_t i  /**< */);
4019 
4020 int
4021 xcb_input_valuator_info_sizeof (const void  *_buffer  /**< */);
4022 
4023 xcb_input_axis_info_t *
4024 xcb_input_valuator_info_axes (const xcb_input_valuator_info_t *R  /**< */);
4025 
4026 int
4027 xcb_input_valuator_info_axes_length (const xcb_input_valuator_info_t *R  /**< */);
4028 
4029 xcb_input_axis_info_iterator_t
4030 xcb_input_valuator_info_axes_iterator (const xcb_input_valuator_info_t *R  /**< */);
4031 
4032 /**
4033  * Get the next element of the iterator
4034  * @param i Pointer to a xcb_input_valuator_info_iterator_t
4035  *
4036  * Get the next element in the iterator. The member rem is
4037  * decreased by one. The member data points to the next
4038  * element. The member index is increased by sizeof(xcb_input_valuator_info_t)
4039  */
4040 void
4041 xcb_input_valuator_info_next (xcb_input_valuator_info_iterator_t *i  /**< */);
4042 
4043 /**
4044  * Return the iterator pointing to the last element
4045  * @param i An xcb_input_valuator_info_iterator_t
4046  * @return  The iterator pointing to the last element
4047  *
4048  * Set the current element in the iterator to the last element.
4049  * The member rem is set to 0. The member data points to the
4050  * last element.
4051  */
4052 xcb_generic_iterator_t
4053 xcb_input_valuator_info_end (xcb_input_valuator_info_iterator_t i  /**< */);
4054 
4055 /**
4056  * Get the next element of the iterator
4057  * @param i Pointer to a xcb_input_input_info_iterator_t
4058  *
4059  * Get the next element in the iterator. The member rem is
4060  * decreased by one. The member data points to the next
4061  * element. The member index is increased by sizeof(xcb_input_input_info_t)
4062  */
4063 void
4064 xcb_input_input_info_next (xcb_input_input_info_iterator_t *i  /**< */);
4065 
4066 /**
4067  * Return the iterator pointing to the last element
4068  * @param i An xcb_input_input_info_iterator_t
4069  * @return  The iterator pointing to the last element
4070  *
4071  * Set the current element in the iterator to the last element.
4072  * The member rem is set to 0. The member data points to the
4073  * last element.
4074  */
4075 xcb_generic_iterator_t
4076 xcb_input_input_info_end (xcb_input_input_info_iterator_t i  /**< */);
4077 
4078 int
4079 xcb_input_device_name_sizeof (const void  *_buffer  /**< */);
4080 
4081 char *
4082 xcb_input_device_name_string (const xcb_input_device_name_t *R  /**< */);
4083 
4084 int
4085 xcb_input_device_name_string_length (const xcb_input_device_name_t *R  /**< */);
4086 
4087 xcb_generic_iterator_t
4088 xcb_input_device_name_string_end (const xcb_input_device_name_t *R  /**< */);
4089 
4090 /**
4091  * Get the next element of the iterator
4092  * @param i Pointer to a xcb_input_device_name_iterator_t
4093  *
4094  * Get the next element in the iterator. The member rem is
4095  * decreased by one. The member data points to the next
4096  * element. The member index is increased by sizeof(xcb_input_device_name_t)
4097  */
4098 void
4099 xcb_input_device_name_next (xcb_input_device_name_iterator_t *i  /**< */);
4100 
4101 /**
4102  * Return the iterator pointing to the last element
4103  * @param i An xcb_input_device_name_iterator_t
4104  * @return  The iterator pointing to the last element
4105  *
4106  * Set the current element in the iterator to the last element.
4107  * The member rem is set to 0. The member data points to the
4108  * last element.
4109  */
4110 xcb_generic_iterator_t
4111 xcb_input_device_name_end (xcb_input_device_name_iterator_t i  /**< */);
4112 
4113 int
4114 xcb_input_list_input_devices_sizeof (const void  *_buffer  /**< */);
4115 
4116 /**
4117  *
4118  * @param c The connection
4119  * @return A cookie
4120  *
4121  * Delivers a request to the X server.
4122  *
4123  */
4124 xcb_input_list_input_devices_cookie_t
4125 xcb_input_list_input_devices (xcb_connection_t *c  /**< */);
4126 
4127 /**
4128  *
4129  * @param c The connection
4130  * @return A cookie
4131  *
4132  * Delivers a request to the X server.
4133  *
4134  * This form can be used only if the request will cause
4135  * a reply to be generated. Any returned error will be
4136  * placed in the event queue.
4137  */
4138 xcb_input_list_input_devices_cookie_t
4139 xcb_input_list_input_devices_unchecked (xcb_connection_t *c  /**< */);
4140 
4141 xcb_input_device_info_t *
4142 xcb_input_list_input_devices_devices (const xcb_input_list_input_devices_reply_t *R  /**< */);
4143 
4144 int
4145 xcb_input_list_input_devices_devices_length (const xcb_input_list_input_devices_reply_t *R  /**< */);
4146 
4147 xcb_input_device_info_iterator_t
4148 xcb_input_list_input_devices_devices_iterator (const xcb_input_list_input_devices_reply_t *R  /**< */);
4149 
4150 /**
4151  * Return the reply
4152  * @param c      The connection
4153  * @param cookie The cookie
4154  * @param e      The xcb_generic_error_t supplied
4155  *
4156  * Returns the reply of the request asked by
4157  *
4158  * The parameter @p e supplied to this function must be NULL if
4159  * xcb_input_list_input_devices_unchecked(). is used.
4160  * Otherwise, it stores the error if any.
4161  *
4162  * The returned value must be freed by the caller using free().
4163  */
4164 xcb_input_list_input_devices_reply_t *
4165 xcb_input_list_input_devices_reply (xcb_connection_t                       *c  /**< */,
4166                                     xcb_input_list_input_devices_cookie_t   cookie  /**< */,
4167                                     xcb_generic_error_t                   **e  /**< */);
4168 
4169 /**
4170  * Get the next element of the iterator
4171  * @param i Pointer to a xcb_input_input_class_info_iterator_t
4172  *
4173  * Get the next element in the iterator. The member rem is
4174  * decreased by one. The member data points to the next
4175  * element. The member index is increased by sizeof(xcb_input_input_class_info_t)
4176  */
4177 void
4178 xcb_input_input_class_info_next (xcb_input_input_class_info_iterator_t *i  /**< */);
4179 
4180 /**
4181  * Return the iterator pointing to the last element
4182  * @param i An xcb_input_input_class_info_iterator_t
4183  * @return  The iterator pointing to the last element
4184  *
4185  * Set the current element in the iterator to the last element.
4186  * The member rem is set to 0. The member data points to the
4187  * last element.
4188  */
4189 xcb_generic_iterator_t
4190 xcb_input_input_class_info_end (xcb_input_input_class_info_iterator_t i  /**< */);
4191 
4192 int
4193 xcb_input_open_device_sizeof (const void  *_buffer  /**< */);
4194 
4195 /**
4196  *
4197  * @param c The connection
4198  * @return A cookie
4199  *
4200  * Delivers a request to the X server.
4201  *
4202  */
4203 xcb_input_open_device_cookie_t
4204 xcb_input_open_device (xcb_connection_t *c  /**< */,
4205                        uint8_t           device_id  /**< */);
4206 
4207 /**
4208  *
4209  * @param c The connection
4210  * @return A cookie
4211  *
4212  * Delivers a request to the X server.
4213  *
4214  * This form can be used only if the request will cause
4215  * a reply to be generated. Any returned error will be
4216  * placed in the event queue.
4217  */
4218 xcb_input_open_device_cookie_t
4219 xcb_input_open_device_unchecked (xcb_connection_t *c  /**< */,
4220                                  uint8_t           device_id  /**< */);
4221 
4222 xcb_input_input_class_info_t *
4223 xcb_input_open_device_class_info (const xcb_input_open_device_reply_t *R  /**< */);
4224 
4225 int
4226 xcb_input_open_device_class_info_length (const xcb_input_open_device_reply_t *R  /**< */);
4227 
4228 xcb_input_input_class_info_iterator_t
4229 xcb_input_open_device_class_info_iterator (const xcb_input_open_device_reply_t *R  /**< */);
4230 
4231 /**
4232  * Return the reply
4233  * @param c      The connection
4234  * @param cookie The cookie
4235  * @param e      The xcb_generic_error_t supplied
4236  *
4237  * Returns the reply of the request asked by
4238  *
4239  * The parameter @p e supplied to this function must be NULL if
4240  * xcb_input_open_device_unchecked(). is used.
4241  * Otherwise, it stores the error if any.
4242  *
4243  * The returned value must be freed by the caller using free().
4244  */
4245 xcb_input_open_device_reply_t *
4246 xcb_input_open_device_reply (xcb_connection_t                *c  /**< */,
4247                              xcb_input_open_device_cookie_t   cookie  /**< */,
4248                              xcb_generic_error_t            **e  /**< */);
4249 
4250 /**
4251  *
4252  * @param c The connection
4253  * @return A cookie
4254  *
4255  * Delivers a request to the X server.
4256  *
4257  * This form can be used only if the request will not cause
4258  * a reply to be generated. Any returned error will be
4259  * saved for handling by xcb_request_check().
4260  */
4261 xcb_void_cookie_t
4262 xcb_input_close_device_checked (xcb_connection_t *c  /**< */,
4263                                 uint8_t           device_id  /**< */);
4264 
4265 /**
4266  *
4267  * @param c The connection
4268  * @return A cookie
4269  *
4270  * Delivers a request to the X server.
4271  *
4272  */
4273 xcb_void_cookie_t
4274 xcb_input_close_device (xcb_connection_t *c  /**< */,
4275                         uint8_t           device_id  /**< */);
4276 
4277 /**
4278  *
4279  * @param c The connection
4280  * @return A cookie
4281  *
4282  * Delivers a request to the X server.
4283  *
4284  */
4285 xcb_input_set_device_mode_cookie_t
4286 xcb_input_set_device_mode (xcb_connection_t *c  /**< */,
4287                            uint8_t           device_id  /**< */,
4288                            uint8_t           mode  /**< */);
4289 
4290 /**
4291  *
4292  * @param c The connection
4293  * @return A cookie
4294  *
4295  * Delivers a request to the X server.
4296  *
4297  * This form can be used only if the request will cause
4298  * a reply to be generated. Any returned error will be
4299  * placed in the event queue.
4300  */
4301 xcb_input_set_device_mode_cookie_t
4302 xcb_input_set_device_mode_unchecked (xcb_connection_t *c  /**< */,
4303                                      uint8_t           device_id  /**< */,
4304                                      uint8_t           mode  /**< */);
4305 
4306 /**
4307  * Return the reply
4308  * @param c      The connection
4309  * @param cookie The cookie
4310  * @param e      The xcb_generic_error_t supplied
4311  *
4312  * Returns the reply of the request asked by
4313  *
4314  * The parameter @p e supplied to this function must be NULL if
4315  * xcb_input_set_device_mode_unchecked(). is used.
4316  * Otherwise, it stores the error if any.
4317  *
4318  * The returned value must be freed by the caller using free().
4319  */
4320 xcb_input_set_device_mode_reply_t *
4321 xcb_input_set_device_mode_reply (xcb_connection_t                    *c  /**< */,
4322                                  xcb_input_set_device_mode_cookie_t   cookie  /**< */,
4323                                  xcb_generic_error_t                **e  /**< */);
4324 
4325 int
4326 xcb_input_select_extension_event_sizeof (const void  *_buffer  /**< */);
4327 
4328 /**
4329  *
4330  * @param c The connection
4331  * @return A cookie
4332  *
4333  * Delivers a request to the X server.
4334  *
4335  * This form can be used only if the request will not cause
4336  * a reply to be generated. Any returned error will be
4337  * saved for handling by xcb_request_check().
4338  */
4339 xcb_void_cookie_t
4340 xcb_input_select_extension_event_checked (xcb_connection_t              *c  /**< */,
4341                                           xcb_window_t                   window  /**< */,
4342                                           uint16_t                       num_classes  /**< */,
4343                                           const xcb_input_event_class_t *classes  /**< */);
4344 
4345 /**
4346  *
4347  * @param c The connection
4348  * @return A cookie
4349  *
4350  * Delivers a request to the X server.
4351  *
4352  */
4353 xcb_void_cookie_t
4354 xcb_input_select_extension_event (xcb_connection_t              *c  /**< */,
4355                                   xcb_window_t                   window  /**< */,
4356                                   uint16_t                       num_classes  /**< */,
4357                                   const xcb_input_event_class_t *classes  /**< */);
4358 
4359 int
4360 xcb_input_get_selected_extension_events_sizeof (const void  *_buffer  /**< */);
4361 
4362 /**
4363  *
4364  * @param c The connection
4365  * @return A cookie
4366  *
4367  * Delivers a request to the X server.
4368  *
4369  */
4370 xcb_input_get_selected_extension_events_cookie_t
4371 xcb_input_get_selected_extension_events (xcb_connection_t *c  /**< */,
4372                                          xcb_window_t      window  /**< */);
4373 
4374 /**
4375  *
4376  * @param c The connection
4377  * @return A cookie
4378  *
4379  * Delivers a request to the X server.
4380  *
4381  * This form can be used only if the request will cause
4382  * a reply to be generated. Any returned error will be
4383  * placed in the event queue.
4384  */
4385 xcb_input_get_selected_extension_events_cookie_t
4386 xcb_input_get_selected_extension_events_unchecked (xcb_connection_t *c  /**< */,
4387                                                    xcb_window_t      window  /**< */);
4388 
4389 xcb_input_event_class_t *
4390 xcb_input_get_selected_extension_events_this_classes (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4391 
4392 int
4393 xcb_input_get_selected_extension_events_this_classes_length (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4394 
4395 xcb_generic_iterator_t
4396 xcb_input_get_selected_extension_events_this_classes_end (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4397 
4398 xcb_input_event_class_t *
4399 xcb_input_get_selected_extension_events_all_classes (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4400 
4401 int
4402 xcb_input_get_selected_extension_events_all_classes_length (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4403 
4404 xcb_generic_iterator_t
4405 xcb_input_get_selected_extension_events_all_classes_end (const xcb_input_get_selected_extension_events_reply_t *R  /**< */);
4406 
4407 /**
4408  * Return the reply
4409  * @param c      The connection
4410  * @param cookie The cookie
4411  * @param e      The xcb_generic_error_t supplied
4412  *
4413  * Returns the reply of the request asked by
4414  *
4415  * The parameter @p e supplied to this function must be NULL if
4416  * xcb_input_get_selected_extension_events_unchecked(). is used.
4417  * Otherwise, it stores the error if any.
4418  *
4419  * The returned value must be freed by the caller using free().
4420  */
4421 xcb_input_get_selected_extension_events_reply_t *
4422 xcb_input_get_selected_extension_events_reply (xcb_connection_t                                  *c  /**< */,
4423                                                xcb_input_get_selected_extension_events_cookie_t   cookie  /**< */,
4424                                                xcb_generic_error_t                              **e  /**< */);
4425 
4426 int
4427 xcb_input_change_device_dont_propagate_list_sizeof (const void  *_buffer  /**< */);
4428 
4429 /**
4430  *
4431  * @param c The connection
4432  * @return A cookie
4433  *
4434  * Delivers a request to the X server.
4435  *
4436  * This form can be used only if the request will not cause
4437  * a reply to be generated. Any returned error will be
4438  * saved for handling by xcb_request_check().
4439  */
4440 xcb_void_cookie_t
4441 xcb_input_change_device_dont_propagate_list_checked (xcb_connection_t              *c  /**< */,
4442                                                      xcb_window_t                   window  /**< */,
4443                                                      uint16_t                       num_classes  /**< */,
4444                                                      uint8_t                        mode  /**< */,
4445                                                      const xcb_input_event_class_t *classes  /**< */);
4446 
4447 /**
4448  *
4449  * @param c The connection
4450  * @return A cookie
4451  *
4452  * Delivers a request to the X server.
4453  *
4454  */
4455 xcb_void_cookie_t
4456 xcb_input_change_device_dont_propagate_list (xcb_connection_t              *c  /**< */,
4457                                              xcb_window_t                   window  /**< */,
4458                                              uint16_t                       num_classes  /**< */,
4459                                              uint8_t                        mode  /**< */,
4460                                              const xcb_input_event_class_t *classes  /**< */);
4461 
4462 int
4463 xcb_input_get_device_dont_propagate_list_sizeof (const void  *_buffer  /**< */);
4464 
4465 /**
4466  *
4467  * @param c The connection
4468  * @return A cookie
4469  *
4470  * Delivers a request to the X server.
4471  *
4472  */
4473 xcb_input_get_device_dont_propagate_list_cookie_t
4474 xcb_input_get_device_dont_propagate_list (xcb_connection_t *c  /**< */,
4475                                           xcb_window_t      window  /**< */);
4476 
4477 /**
4478  *
4479  * @param c The connection
4480  * @return A cookie
4481  *
4482  * Delivers a request to the X server.
4483  *
4484  * This form can be used only if the request will cause
4485  * a reply to be generated. Any returned error will be
4486  * placed in the event queue.
4487  */
4488 xcb_input_get_device_dont_propagate_list_cookie_t
4489 xcb_input_get_device_dont_propagate_list_unchecked (xcb_connection_t *c  /**< */,
4490                                                     xcb_window_t      window  /**< */);
4491 
4492 xcb_input_event_class_t *
4493 xcb_input_get_device_dont_propagate_list_classes (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */);
4494 
4495 int
4496 xcb_input_get_device_dont_propagate_list_classes_length (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */);
4497 
4498 xcb_generic_iterator_t
4499 xcb_input_get_device_dont_propagate_list_classes_end (const xcb_input_get_device_dont_propagate_list_reply_t *R  /**< */);
4500 
4501 /**
4502  * Return the reply
4503  * @param c      The connection
4504  * @param cookie The cookie
4505  * @param e      The xcb_generic_error_t supplied
4506  *
4507  * Returns the reply of the request asked by
4508  *
4509  * The parameter @p e supplied to this function must be NULL if
4510  * xcb_input_get_device_dont_propagate_list_unchecked(). is used.
4511  * Otherwise, it stores the error if any.
4512  *
4513  * The returned value must be freed by the caller using free().
4514  */
4515 xcb_input_get_device_dont_propagate_list_reply_t *
4516 xcb_input_get_device_dont_propagate_list_reply (xcb_connection_t                                   *c  /**< */,
4517                                                 xcb_input_get_device_dont_propagate_list_cookie_t   cookie  /**< */,
4518                                                 xcb_generic_error_t                               **e  /**< */);
4519 
4520 /**
4521  * Get the next element of the iterator
4522  * @param i Pointer to a xcb_input_device_time_coord_iterator_t
4523  *
4524  * Get the next element in the iterator. The member rem is
4525  * decreased by one. The member data points to the next
4526  * element. The member index is increased by sizeof(xcb_input_device_time_coord_t)
4527  */
4528 void
4529 xcb_input_device_time_coord_next (xcb_input_device_time_coord_iterator_t *i  /**< */);
4530 
4531 /**
4532  * Return the iterator pointing to the last element
4533  * @param i An xcb_input_device_time_coord_iterator_t
4534  * @return  The iterator pointing to the last element
4535  *
4536  * Set the current element in the iterator to the last element.
4537  * The member rem is set to 0. The member data points to the
4538  * last element.
4539  */
4540 xcb_generic_iterator_t
4541 xcb_input_device_time_coord_end (xcb_input_device_time_coord_iterator_t i  /**< */);
4542 
4543 /**
4544  *
4545  * @param c The connection
4546  * @return A cookie
4547  *
4548  * Delivers a request to the X server.
4549  *
4550  */
4551 xcb_input_get_device_motion_events_cookie_t
4552 xcb_input_get_device_motion_events (xcb_connection_t *c  /**< */,
4553                                     xcb_timestamp_t   start  /**< */,
4554                                     xcb_timestamp_t   stop  /**< */,
4555                                     uint8_t           device_id  /**< */);
4556 
4557 /**
4558  *
4559  * @param c The connection
4560  * @return A cookie
4561  *
4562  * Delivers a request to the X server.
4563  *
4564  * This form can be used only if the request will cause
4565  * a reply to be generated. Any returned error will be
4566  * placed in the event queue.
4567  */
4568 xcb_input_get_device_motion_events_cookie_t
4569 xcb_input_get_device_motion_events_unchecked (xcb_connection_t *c  /**< */,
4570                                               xcb_timestamp_t   start  /**< */,
4571                                               xcb_timestamp_t   stop  /**< */,
4572                                               uint8_t           device_id  /**< */);
4573 
4574 /**
4575  * Return the reply
4576  * @param c      The connection
4577  * @param cookie The cookie
4578  * @param e      The xcb_generic_error_t supplied
4579  *
4580  * Returns the reply of the request asked by
4581  *
4582  * The parameter @p e supplied to this function must be NULL if
4583  * xcb_input_get_device_motion_events_unchecked(). is used.
4584  * Otherwise, it stores the error if any.
4585  *
4586  * The returned value must be freed by the caller using free().
4587  */
4588 xcb_input_get_device_motion_events_reply_t *
4589 xcb_input_get_device_motion_events_reply (xcb_connection_t                             *c  /**< */,
4590                                           xcb_input_get_device_motion_events_cookie_t   cookie  /**< */,
4591                                           xcb_generic_error_t                         **e  /**< */);
4592 
4593 /**
4594  *
4595  * @param c The connection
4596  * @return A cookie
4597  *
4598  * Delivers a request to the X server.
4599  *
4600  */
4601 xcb_input_change_keyboard_device_cookie_t
4602 xcb_input_change_keyboard_device (xcb_connection_t *c  /**< */,
4603                                   uint8_t           device_id  /**< */);
4604 
4605 /**
4606  *
4607  * @param c The connection
4608  * @return A cookie
4609  *
4610  * Delivers a request to the X server.
4611  *
4612  * This form can be used only if the request will cause
4613  * a reply to be generated. Any returned error will be
4614  * placed in the event queue.
4615  */
4616 xcb_input_change_keyboard_device_cookie_t
4617 xcb_input_change_keyboard_device_unchecked (xcb_connection_t *c  /**< */,
4618                                             uint8_t           device_id  /**< */);
4619 
4620 /**
4621  * Return the reply
4622  * @param c      The connection
4623  * @param cookie The cookie
4624  * @param e      The xcb_generic_error_t supplied
4625  *
4626  * Returns the reply of the request asked by
4627  *
4628  * The parameter @p e supplied to this function must be NULL if
4629  * xcb_input_change_keyboard_device_unchecked(). is used.
4630  * Otherwise, it stores the error if any.
4631  *
4632  * The returned value must be freed by the caller using free().
4633  */
4634 xcb_input_change_keyboard_device_reply_t *
4635 xcb_input_change_keyboard_device_reply (xcb_connection_t                           *c  /**< */,
4636                                         xcb_input_change_keyboard_device_cookie_t   cookie  /**< */,
4637                                         xcb_generic_error_t                       **e  /**< */);
4638 
4639 /**
4640  *
4641  * @param c The connection
4642  * @return A cookie
4643  *
4644  * Delivers a request to the X server.
4645  *
4646  */
4647 xcb_input_change_pointer_device_cookie_t
4648 xcb_input_change_pointer_device (xcb_connection_t *c  /**< */,
4649                                  uint8_t           x_axis  /**< */,
4650                                  uint8_t           y_axis  /**< */,
4651                                  uint8_t           device_id  /**< */);
4652 
4653 /**
4654  *
4655  * @param c The connection
4656  * @return A cookie
4657  *
4658  * Delivers a request to the X server.
4659  *
4660  * This form can be used only if the request will cause
4661  * a reply to be generated. Any returned error will be
4662  * placed in the event queue.
4663  */
4664 xcb_input_change_pointer_device_cookie_t
4665 xcb_input_change_pointer_device_unchecked (xcb_connection_t *c  /**< */,
4666                                            uint8_t           x_axis  /**< */,
4667                                            uint8_t           y_axis  /**< */,
4668                                            uint8_t           device_id  /**< */);
4669 
4670 /**
4671  * Return the reply
4672  * @param c      The connection
4673  * @param cookie The cookie
4674  * @param e      The xcb_generic_error_t supplied
4675  *
4676  * Returns the reply of the request asked by
4677  *
4678  * The parameter @p e supplied to this function must be NULL if
4679  * xcb_input_change_pointer_device_unchecked(). is used.
4680  * Otherwise, it stores the error if any.
4681  *
4682  * The returned value must be freed by the caller using free().
4683  */
4684 xcb_input_change_pointer_device_reply_t *
4685 xcb_input_change_pointer_device_reply (xcb_connection_t                          *c  /**< */,
4686                                        xcb_input_change_pointer_device_cookie_t   cookie  /**< */,
4687                                        xcb_generic_error_t                      **e  /**< */);
4688 
4689 int
4690 xcb_input_grab_device_sizeof (const void  *_buffer  /**< */);
4691 
4692 /**
4693  *
4694  * @param c The connection
4695  * @return A cookie
4696  *
4697  * Delivers a request to the X server.
4698  *
4699  */
4700 xcb_input_grab_device_cookie_t
4701 xcb_input_grab_device (xcb_connection_t              *c  /**< */,
4702                        xcb_window_t                   grab_window  /**< */,
4703                        xcb_timestamp_t                time  /**< */,
4704                        uint16_t                       num_classes  /**< */,
4705                        uint8_t                        this_device_mode  /**< */,
4706                        uint8_t                        other_device_mode  /**< */,
4707                        uint8_t                        owner_events  /**< */,
4708                        uint8_t                        device_id  /**< */,
4709                        const xcb_input_event_class_t *classes  /**< */);
4710 
4711 /**
4712  *
4713  * @param c The connection
4714  * @return A cookie
4715  *
4716  * Delivers a request to the X server.
4717  *
4718  * This form can be used only if the request will cause
4719  * a reply to be generated. Any returned error will be
4720  * placed in the event queue.
4721  */
4722 xcb_input_grab_device_cookie_t
4723 xcb_input_grab_device_unchecked (xcb_connection_t              *c  /**< */,
4724                                  xcb_window_t                   grab_window  /**< */,
4725                                  xcb_timestamp_t                time  /**< */,
4726                                  uint16_t                       num_classes  /**< */,
4727                                  uint8_t                        this_device_mode  /**< */,
4728                                  uint8_t                        other_device_mode  /**< */,
4729                                  uint8_t                        owner_events  /**< */,
4730                                  uint8_t                        device_id  /**< */,
4731                                  const xcb_input_event_class_t *classes  /**< */);
4732 
4733 /**
4734  * Return the reply
4735  * @param c      The connection
4736  * @param cookie The cookie
4737  * @param e      The xcb_generic_error_t supplied
4738  *
4739  * Returns the reply of the request asked by
4740  *
4741  * The parameter @p e supplied to this function must be NULL if
4742  * xcb_input_grab_device_unchecked(). is used.
4743  * Otherwise, it stores the error if any.
4744  *
4745  * The returned value must be freed by the caller using free().
4746  */
4747 xcb_input_grab_device_reply_t *
4748 xcb_input_grab_device_reply (xcb_connection_t                *c  /**< */,
4749                              xcb_input_grab_device_cookie_t   cookie  /**< */,
4750                              xcb_generic_error_t            **e  /**< */);
4751 
4752 /**
4753  *
4754  * @param c The connection
4755  * @return A cookie
4756  *
4757  * Delivers a request to the X server.
4758  *
4759  * This form can be used only if the request will not cause
4760  * a reply to be generated. Any returned error will be
4761  * saved for handling by xcb_request_check().
4762  */
4763 xcb_void_cookie_t
4764 xcb_input_ungrab_device_checked (xcb_connection_t *c  /**< */,
4765                                  xcb_timestamp_t   time  /**< */,
4766                                  uint8_t           device_id  /**< */);
4767 
4768 /**
4769  *
4770  * @param c The connection
4771  * @return A cookie
4772  *
4773  * Delivers a request to the X server.
4774  *
4775  */
4776 xcb_void_cookie_t
4777 xcb_input_ungrab_device (xcb_connection_t *c  /**< */,
4778                          xcb_timestamp_t   time  /**< */,
4779                          uint8_t           device_id  /**< */);
4780 
4781 int
4782 xcb_input_grab_device_key_sizeof (const void  *_buffer  /**< */);
4783 
4784 /**
4785  *
4786  * @param c The connection
4787  * @return A cookie
4788  *
4789  * Delivers a request to the X server.
4790  *
4791  * This form can be used only if the request will not cause
4792  * a reply to be generated. Any returned error will be
4793  * saved for handling by xcb_request_check().
4794  */
4795 xcb_void_cookie_t
4796 xcb_input_grab_device_key_checked (xcb_connection_t              *c  /**< */,
4797                                    xcb_window_t                   grab_window  /**< */,
4798                                    uint16_t                       num_classes  /**< */,
4799                                    uint16_t                       modifiers  /**< */,
4800                                    uint8_t                        modifier_device  /**< */,
4801                                    uint8_t                        grabbed_device  /**< */,
4802                                    uint8_t                        key  /**< */,
4803                                    uint8_t                        this_device_mode  /**< */,
4804                                    uint8_t                        other_device_mode  /**< */,
4805                                    uint8_t                        owner_events  /**< */,
4806                                    const xcb_input_event_class_t *classes  /**< */);
4807 
4808 /**
4809  *
4810  * @param c The connection
4811  * @return A cookie
4812  *
4813  * Delivers a request to the X server.
4814  *
4815  */
4816 xcb_void_cookie_t
4817 xcb_input_grab_device_key (xcb_connection_t              *c  /**< */,
4818                            xcb_window_t                   grab_window  /**< */,
4819                            uint16_t                       num_classes  /**< */,
4820                            uint16_t                       modifiers  /**< */,
4821                            uint8_t                        modifier_device  /**< */,
4822                            uint8_t                        grabbed_device  /**< */,
4823                            uint8_t                        key  /**< */,
4824                            uint8_t                        this_device_mode  /**< */,
4825                            uint8_t                        other_device_mode  /**< */,
4826                            uint8_t                        owner_events  /**< */,
4827                            const xcb_input_event_class_t *classes  /**< */);
4828 
4829 /**
4830  *
4831  * @param c The connection
4832  * @return A cookie
4833  *
4834  * Delivers a request to the X server.
4835  *
4836  * This form can be used only if the request will not cause
4837  * a reply to be generated. Any returned error will be
4838  * saved for handling by xcb_request_check().
4839  */
4840 xcb_void_cookie_t
4841 xcb_input_ungrab_device_key_checked (xcb_connection_t *c  /**< */,
4842                                      xcb_window_t      grabWindow  /**< */,
4843                                      uint16_t          modifiers  /**< */,
4844                                      uint8_t           modifier_device  /**< */,
4845                                      uint8_t           key  /**< */,
4846                                      uint8_t           grabbed_device  /**< */);
4847 
4848 /**
4849  *
4850  * @param c The connection
4851  * @return A cookie
4852  *
4853  * Delivers a request to the X server.
4854  *
4855  */
4856 xcb_void_cookie_t
4857 xcb_input_ungrab_device_key (xcb_connection_t *c  /**< */,
4858                              xcb_window_t      grabWindow  /**< */,
4859                              uint16_t          modifiers  /**< */,
4860                              uint8_t           modifier_device  /**< */,
4861                              uint8_t           key  /**< */,
4862                              uint8_t           grabbed_device  /**< */);
4863 
4864 int
4865 xcb_input_grab_device_button_sizeof (const void  *_buffer  /**< */);
4866 
4867 /**
4868  *
4869  * @param c The connection
4870  * @return A cookie
4871  *
4872  * Delivers a request to the X server.
4873  *
4874  * This form can be used only if the request will not cause
4875  * a reply to be generated. Any returned error will be
4876  * saved for handling by xcb_request_check().
4877  */
4878 xcb_void_cookie_t
4879 xcb_input_grab_device_button_checked (xcb_connection_t              *c  /**< */,
4880                                       xcb_window_t                   grab_window  /**< */,
4881                                       uint8_t                        grabbed_device  /**< */,
4882                                       uint8_t                        modifier_device  /**< */,
4883                                       uint16_t                       num_classes  /**< */,
4884                                       uint16_t                       modifiers  /**< */,
4885                                       uint8_t                        this_device_mode  /**< */,
4886                                       uint8_t                        other_device_mode  /**< */,
4887                                       uint8_t                        button  /**< */,
4888                                       uint8_t                        owner_events  /**< */,
4889                                       const xcb_input_event_class_t *classes  /**< */);
4890 
4891 /**
4892  *
4893  * @param c The connection
4894  * @return A cookie
4895  *
4896  * Delivers a request to the X server.
4897  *
4898  */
4899 xcb_void_cookie_t
4900 xcb_input_grab_device_button (xcb_connection_t              *c  /**< */,
4901                               xcb_window_t                   grab_window  /**< */,
4902                               uint8_t                        grabbed_device  /**< */,
4903                               uint8_t                        modifier_device  /**< */,
4904                               uint16_t                       num_classes  /**< */,
4905                               uint16_t                       modifiers  /**< */,
4906                               uint8_t                        this_device_mode  /**< */,
4907                               uint8_t                        other_device_mode  /**< */,
4908                               uint8_t                        button  /**< */,
4909                               uint8_t                        owner_events  /**< */,
4910                               const xcb_input_event_class_t *classes  /**< */);
4911 
4912 /**
4913  *
4914  * @param c The connection
4915  * @return A cookie
4916  *
4917  * Delivers a request to the X server.
4918  *
4919  * This form can be used only if the request will not cause
4920  * a reply to be generated. Any returned error will be
4921  * saved for handling by xcb_request_check().
4922  */
4923 xcb_void_cookie_t
4924 xcb_input_ungrab_device_button_checked (xcb_connection_t *c  /**< */,
4925                                         xcb_window_t      grab_window  /**< */,
4926                                         uint16_t          modifiers  /**< */,
4927                                         uint8_t           modifier_device  /**< */,
4928                                         uint8_t           button  /**< */,
4929                                         uint8_t           grabbed_device  /**< */);
4930 
4931 /**
4932  *
4933  * @param c The connection
4934  * @return A cookie
4935  *
4936  * Delivers a request to the X server.
4937  *
4938  */
4939 xcb_void_cookie_t
4940 xcb_input_ungrab_device_button (xcb_connection_t *c  /**< */,
4941                                 xcb_window_t      grab_window  /**< */,
4942                                 uint16_t          modifiers  /**< */,
4943                                 uint8_t           modifier_device  /**< */,
4944                                 uint8_t           button  /**< */,
4945                                 uint8_t           grabbed_device  /**< */);
4946 
4947 /**
4948  *
4949  * @param c The connection
4950  * @return A cookie
4951  *
4952  * Delivers a request to the X server.
4953  *
4954  * This form can be used only if the request will not cause
4955  * a reply to be generated. Any returned error will be
4956  * saved for handling by xcb_request_check().
4957  */
4958 xcb_void_cookie_t
4959 xcb_input_allow_device_events_checked (xcb_connection_t *c  /**< */,
4960                                        xcb_timestamp_t   time  /**< */,
4961                                        uint8_t           mode  /**< */,
4962                                        uint8_t           device_id  /**< */);
4963 
4964 /**
4965  *
4966  * @param c The connection
4967  * @return A cookie
4968  *
4969  * Delivers a request to the X server.
4970  *
4971  */
4972 xcb_void_cookie_t
4973 xcb_input_allow_device_events (xcb_connection_t *c  /**< */,
4974                                xcb_timestamp_t   time  /**< */,
4975                                uint8_t           mode  /**< */,
4976                                uint8_t           device_id  /**< */);
4977 
4978 /**
4979  *
4980  * @param c The connection
4981  * @return A cookie
4982  *
4983  * Delivers a request to the X server.
4984  *
4985  */
4986 xcb_input_get_device_focus_cookie_t
4987 xcb_input_get_device_focus (xcb_connection_t *c  /**< */,
4988                             uint8_t           device_id  /**< */);
4989 
4990 /**
4991  *
4992  * @param c The connection
4993  * @return A cookie
4994  *
4995  * Delivers a request to the X server.
4996  *
4997  * This form can be used only if the request will cause
4998  * a reply to be generated. Any returned error will be
4999  * placed in the event queue.
5000  */
5001 xcb_input_get_device_focus_cookie_t
5002 xcb_input_get_device_focus_unchecked (xcb_connection_t *c  /**< */,
5003                                       uint8_t           device_id  /**< */);
5004 
5005 /**
5006  * Return the reply
5007  * @param c      The connection
5008  * @param cookie The cookie
5009  * @param e      The xcb_generic_error_t supplied
5010  *
5011  * Returns the reply of the request asked by
5012  *
5013  * The parameter @p e supplied to this function must be NULL if
5014  * xcb_input_get_device_focus_unchecked(). is used.
5015  * Otherwise, it stores the error if any.
5016  *
5017  * The returned value must be freed by the caller using free().
5018  */
5019 xcb_input_get_device_focus_reply_t *
5020 xcb_input_get_device_focus_reply (xcb_connection_t                     *c  /**< */,
5021                                   xcb_input_get_device_focus_cookie_t   cookie  /**< */,
5022                                   xcb_generic_error_t                 **e  /**< */);
5023 
5024 /**
5025  *
5026  * @param c The connection
5027  * @return A cookie
5028  *
5029  * Delivers a request to the X server.
5030  *
5031  * This form can be used only if the request will not cause
5032  * a reply to be generated. Any returned error will be
5033  * saved for handling by xcb_request_check().
5034  */
5035 xcb_void_cookie_t
5036 xcb_input_set_device_focus_checked (xcb_connection_t *c  /**< */,
5037                                     xcb_window_t      focus  /**< */,
5038                                     xcb_timestamp_t   time  /**< */,
5039                                     uint8_t           revert_to  /**< */,
5040                                     uint8_t           device_id  /**< */);
5041 
5042 /**
5043  *
5044  * @param c The connection
5045  * @return A cookie
5046  *
5047  * Delivers a request to the X server.
5048  *
5049  */
5050 xcb_void_cookie_t
5051 xcb_input_set_device_focus (xcb_connection_t *c  /**< */,
5052                             xcb_window_t      focus  /**< */,
5053                             xcb_timestamp_t   time  /**< */,
5054                             uint8_t           revert_to  /**< */,
5055                             uint8_t           device_id  /**< */);
5056 
5057 /**
5058  * Get the next element of the iterator
5059  * @param i Pointer to a xcb_input_kbd_feedback_state_iterator_t
5060  *
5061  * Get the next element in the iterator. The member rem is
5062  * decreased by one. The member data points to the next
5063  * element. The member index is increased by sizeof(xcb_input_kbd_feedback_state_t)
5064  */
5065 void
5066 xcb_input_kbd_feedback_state_next (xcb_input_kbd_feedback_state_iterator_t *i  /**< */);
5067 
5068 /**
5069  * Return the iterator pointing to the last element
5070  * @param i An xcb_input_kbd_feedback_state_iterator_t
5071  * @return  The iterator pointing to the last element
5072  *
5073  * Set the current element in the iterator to the last element.
5074  * The member rem is set to 0. The member data points to the
5075  * last element.
5076  */
5077 xcb_generic_iterator_t
5078 xcb_input_kbd_feedback_state_end (xcb_input_kbd_feedback_state_iterator_t i  /**< */);
5079 
5080 /**
5081  * Get the next element of the iterator
5082  * @param i Pointer to a xcb_input_ptr_feedback_state_iterator_t
5083  *
5084  * Get the next element in the iterator. The member rem is
5085  * decreased by one. The member data points to the next
5086  * element. The member index is increased by sizeof(xcb_input_ptr_feedback_state_t)
5087  */
5088 void
5089 xcb_input_ptr_feedback_state_next (xcb_input_ptr_feedback_state_iterator_t *i  /**< */);
5090 
5091 /**
5092  * Return the iterator pointing to the last element
5093  * @param i An xcb_input_ptr_feedback_state_iterator_t
5094  * @return  The iterator pointing to the last element
5095  *
5096  * Set the current element in the iterator to the last element.
5097  * The member rem is set to 0. The member data points to the
5098  * last element.
5099  */
5100 xcb_generic_iterator_t
5101 xcb_input_ptr_feedback_state_end (xcb_input_ptr_feedback_state_iterator_t i  /**< */);
5102 
5103 /**
5104  * Get the next element of the iterator
5105  * @param i Pointer to a xcb_input_integer_feedback_state_iterator_t
5106  *
5107  * Get the next element in the iterator. The member rem is
5108  * decreased by one. The member data points to the next
5109  * element. The member index is increased by sizeof(xcb_input_integer_feedback_state_t)
5110  */
5111 void
5112 xcb_input_integer_feedback_state_next (xcb_input_integer_feedback_state_iterator_t *i  /**< */);
5113 
5114 /**
5115  * Return the iterator pointing to the last element
5116  * @param i An xcb_input_integer_feedback_state_iterator_t
5117  * @return  The iterator pointing to the last element
5118  *
5119  * Set the current element in the iterator to the last element.
5120  * The member rem is set to 0. The member data points to the
5121  * last element.
5122  */
5123 xcb_generic_iterator_t
5124 xcb_input_integer_feedback_state_end (xcb_input_integer_feedback_state_iterator_t i  /**< */);
5125 
5126 int
5127 xcb_input_string_feedback_state_sizeof (const void  *_buffer  /**< */);
5128 
5129 xcb_keysym_t *
5130 xcb_input_string_feedback_state_keysyms (const xcb_input_string_feedback_state_t *R  /**< */);
5131 
5132 int
5133 xcb_input_string_feedback_state_keysyms_length (const xcb_input_string_feedback_state_t *R  /**< */);
5134 
5135 xcb_generic_iterator_t
5136 xcb_input_string_feedback_state_keysyms_end (const xcb_input_string_feedback_state_t *R  /**< */);
5137 
5138 /**
5139  * Get the next element of the iterator
5140  * @param i Pointer to a xcb_input_string_feedback_state_iterator_t
5141  *
5142  * Get the next element in the iterator. The member rem is
5143  * decreased by one. The member data points to the next
5144  * element. The member index is increased by sizeof(xcb_input_string_feedback_state_t)
5145  */
5146 void
5147 xcb_input_string_feedback_state_next (xcb_input_string_feedback_state_iterator_t *i  /**< */);
5148 
5149 /**
5150  * Return the iterator pointing to the last element
5151  * @param i An xcb_input_string_feedback_state_iterator_t
5152  * @return  The iterator pointing to the last element
5153  *
5154  * Set the current element in the iterator to the last element.
5155  * The member rem is set to 0. The member data points to the
5156  * last element.
5157  */
5158 xcb_generic_iterator_t
5159 xcb_input_string_feedback_state_end (xcb_input_string_feedback_state_iterator_t i  /**< */);
5160 
5161 /**
5162  * Get the next element of the iterator
5163  * @param i Pointer to a xcb_input_bell_feedback_state_iterator_t
5164  *
5165  * Get the next element in the iterator. The member rem is
5166  * decreased by one. The member data points to the next
5167  * element. The member index is increased by sizeof(xcb_input_bell_feedback_state_t)
5168  */
5169 void
5170 xcb_input_bell_feedback_state_next (xcb_input_bell_feedback_state_iterator_t *i  /**< */);
5171 
5172 /**
5173  * Return the iterator pointing to the last element
5174  * @param i An xcb_input_bell_feedback_state_iterator_t
5175  * @return  The iterator pointing to the last element
5176  *
5177  * Set the current element in the iterator to the last element.
5178  * The member rem is set to 0. The member data points to the
5179  * last element.
5180  */
5181 xcb_generic_iterator_t
5182 xcb_input_bell_feedback_state_end (xcb_input_bell_feedback_state_iterator_t i  /**< */);
5183 
5184 /**
5185  * Get the next element of the iterator
5186  * @param i Pointer to a xcb_input_led_feedback_state_iterator_t
5187  *
5188  * Get the next element in the iterator. The member rem is
5189  * decreased by one. The member data points to the next
5190  * element. The member index is increased by sizeof(xcb_input_led_feedback_state_t)
5191  */
5192 void
5193 xcb_input_led_feedback_state_next (xcb_input_led_feedback_state_iterator_t *i  /**< */);
5194 
5195 /**
5196  * Return the iterator pointing to the last element
5197  * @param i An xcb_input_led_feedback_state_iterator_t
5198  * @return  The iterator pointing to the last element
5199  *
5200  * Set the current element in the iterator to the last element.
5201  * The member rem is set to 0. The member data points to the
5202  * last element.
5203  */
5204 xcb_generic_iterator_t
5205 xcb_input_led_feedback_state_end (xcb_input_led_feedback_state_iterator_t i  /**< */);
5206 
5207 int
5208 xcb_input_feedback_state_sizeof (const void  *_buffer  /**< */);
5209 
5210 uint8_t *
5211 xcb_input_feedback_state_uninterpreted_data (const xcb_input_feedback_state_t *R  /**< */);
5212 
5213 int
5214 xcb_input_feedback_state_uninterpreted_data_length (const xcb_input_feedback_state_t *R  /**< */);
5215 
5216 xcb_generic_iterator_t
5217 xcb_input_feedback_state_uninterpreted_data_end (const xcb_input_feedback_state_t *R  /**< */);
5218 
5219 /**
5220  * Get the next element of the iterator
5221  * @param i Pointer to a xcb_input_feedback_state_iterator_t
5222  *
5223  * Get the next element in the iterator. The member rem is
5224  * decreased by one. The member data points to the next
5225  * element. The member index is increased by sizeof(xcb_input_feedback_state_t)
5226  */
5227 void
5228 xcb_input_feedback_state_next (xcb_input_feedback_state_iterator_t *i  /**< */);
5229 
5230 /**
5231  * Return the iterator pointing to the last element
5232  * @param i An xcb_input_feedback_state_iterator_t
5233  * @return  The iterator pointing to the last element
5234  *
5235  * Set the current element in the iterator to the last element.
5236  * The member rem is set to 0. The member data points to the
5237  * last element.
5238  */
5239 xcb_generic_iterator_t
5240 xcb_input_feedback_state_end (xcb_input_feedback_state_iterator_t i  /**< */);
5241 
5242 int
5243 xcb_input_get_feedback_control_sizeof (const void  *_buffer  /**< */);
5244 
5245 /**
5246  *
5247  * @param c The connection
5248  * @return A cookie
5249  *
5250  * Delivers a request to the X server.
5251  *
5252  */
5253 xcb_input_get_feedback_control_cookie_t
5254 xcb_input_get_feedback_control (xcb_connection_t *c  /**< */,
5255                                 uint8_t           device_id  /**< */);
5256 
5257 /**
5258  *
5259  * @param c The connection
5260  * @return A cookie
5261  *
5262  * Delivers a request to the X server.
5263  *
5264  * This form can be used only if the request will cause
5265  * a reply to be generated. Any returned error will be
5266  * placed in the event queue.
5267  */
5268 xcb_input_get_feedback_control_cookie_t
5269 xcb_input_get_feedback_control_unchecked (xcb_connection_t *c  /**< */,
5270                                           uint8_t           device_id  /**< */);
5271 
5272 int
5273 xcb_input_get_feedback_control_feedbacks_length (const xcb_input_get_feedback_control_reply_t *R  /**< */);
5274 
5275 xcb_input_feedback_state_iterator_t
5276 xcb_input_get_feedback_control_feedbacks_iterator (const xcb_input_get_feedback_control_reply_t *R  /**< */);
5277 
5278 /**
5279  * Return the reply
5280  * @param c      The connection
5281  * @param cookie The cookie
5282  * @param e      The xcb_generic_error_t supplied
5283  *
5284  * Returns the reply of the request asked by
5285  *
5286  * The parameter @p e supplied to this function must be NULL if
5287  * xcb_input_get_feedback_control_unchecked(). is used.
5288  * Otherwise, it stores the error if any.
5289  *
5290  * The returned value must be freed by the caller using free().
5291  */
5292 xcb_input_get_feedback_control_reply_t *
5293 xcb_input_get_feedback_control_reply (xcb_connection_t                         *c  /**< */,
5294                                       xcb_input_get_feedback_control_cookie_t   cookie  /**< */,
5295                                       xcb_generic_error_t                     **e  /**< */);
5296 
5297 /**
5298  * Get the next element of the iterator
5299  * @param i Pointer to a xcb_input_kbd_feedback_ctl_iterator_t
5300  *
5301  * Get the next element in the iterator. The member rem is
5302  * decreased by one. The member data points to the next
5303  * element. The member index is increased by sizeof(xcb_input_kbd_feedback_ctl_t)
5304  */
5305 void
5306 xcb_input_kbd_feedback_ctl_next (xcb_input_kbd_feedback_ctl_iterator_t *i  /**< */);
5307 
5308 /**
5309  * Return the iterator pointing to the last element
5310  * @param i An xcb_input_kbd_feedback_ctl_iterator_t
5311  * @return  The iterator pointing to the last element
5312  *
5313  * Set the current element in the iterator to the last element.
5314  * The member rem is set to 0. The member data points to the
5315  * last element.
5316  */
5317 xcb_generic_iterator_t
5318 xcb_input_kbd_feedback_ctl_end (xcb_input_kbd_feedback_ctl_iterator_t i  /**< */);
5319 
5320 /**
5321  * Get the next element of the iterator
5322  * @param i Pointer to a xcb_input_ptr_feedback_ctl_iterator_t
5323  *
5324  * Get the next element in the iterator. The member rem is
5325  * decreased by one. The member data points to the next
5326  * element. The member index is increased by sizeof(xcb_input_ptr_feedback_ctl_t)
5327  */
5328 void
5329 xcb_input_ptr_feedback_ctl_next (xcb_input_ptr_feedback_ctl_iterator_t *i  /**< */);
5330 
5331 /**
5332  * Return the iterator pointing to the last element
5333  * @param i An xcb_input_ptr_feedback_ctl_iterator_t
5334  * @return  The iterator pointing to the last element
5335  *
5336  * Set the current element in the iterator to the last element.
5337  * The member rem is set to 0. The member data points to the
5338  * last element.
5339  */
5340 xcb_generic_iterator_t
5341 xcb_input_ptr_feedback_ctl_end (xcb_input_ptr_feedback_ctl_iterator_t i  /**< */);
5342 
5343 /**
5344  * Get the next element of the iterator
5345  * @param i Pointer to a xcb_input_integer_feedback_ctl_iterator_t
5346  *
5347  * Get the next element in the iterator. The member rem is
5348  * decreased by one. The member data points to the next
5349  * element. The member index is increased by sizeof(xcb_input_integer_feedback_ctl_t)
5350  */
5351 void
5352 xcb_input_integer_feedback_ctl_next (xcb_input_integer_feedback_ctl_iterator_t *i  /**< */);
5353 
5354 /**
5355  * Return the iterator pointing to the last element
5356  * @param i An xcb_input_integer_feedback_ctl_iterator_t
5357  * @return  The iterator pointing to the last element
5358  *
5359  * Set the current element in the iterator to the last element.
5360  * The member rem is set to 0. The member data points to the
5361  * last element.
5362  */
5363 xcb_generic_iterator_t
5364 xcb_input_integer_feedback_ctl_end (xcb_input_integer_feedback_ctl_iterator_t i  /**< */);
5365 
5366 int
5367 xcb_input_string_feedback_ctl_sizeof (const void  *_buffer  /**< */);
5368 
5369 xcb_keysym_t *
5370 xcb_input_string_feedback_ctl_keysyms (const xcb_input_string_feedback_ctl_t *R  /**< */);
5371 
5372 int
5373 xcb_input_string_feedback_ctl_keysyms_length (const xcb_input_string_feedback_ctl_t *R  /**< */);
5374 
5375 xcb_generic_iterator_t
5376 xcb_input_string_feedback_ctl_keysyms_end (const xcb_input_string_feedback_ctl_t *R  /**< */);
5377 
5378 /**
5379  * Get the next element of the iterator
5380  * @param i Pointer to a xcb_input_string_feedback_ctl_iterator_t
5381  *
5382  * Get the next element in the iterator. The member rem is
5383  * decreased by one. The member data points to the next
5384  * element. The member index is increased by sizeof(xcb_input_string_feedback_ctl_t)
5385  */
5386 void
5387 xcb_input_string_feedback_ctl_next (xcb_input_string_feedback_ctl_iterator_t *i  /**< */);
5388 
5389 /**
5390  * Return the iterator pointing to the last element
5391  * @param i An xcb_input_string_feedback_ctl_iterator_t
5392  * @return  The iterator pointing to the last element
5393  *
5394  * Set the current element in the iterator to the last element.
5395  * The member rem is set to 0. The member data points to the
5396  * last element.
5397  */
5398 xcb_generic_iterator_t
5399 xcb_input_string_feedback_ctl_end (xcb_input_string_feedback_ctl_iterator_t i  /**< */);
5400 
5401 /**
5402  * Get the next element of the iterator
5403  * @param i Pointer to a xcb_input_bell_feedback_ctl_iterator_t
5404  *
5405  * Get the next element in the iterator. The member rem is
5406  * decreased by one. The member data points to the next
5407  * element. The member index is increased by sizeof(xcb_input_bell_feedback_ctl_t)
5408  */
5409 void
5410 xcb_input_bell_feedback_ctl_next (xcb_input_bell_feedback_ctl_iterator_t *i  /**< */);
5411 
5412 /**
5413  * Return the iterator pointing to the last element
5414  * @param i An xcb_input_bell_feedback_ctl_iterator_t
5415  * @return  The iterator pointing to the last element
5416  *
5417  * Set the current element in the iterator to the last element.
5418  * The member rem is set to 0. The member data points to the
5419  * last element.
5420  */
5421 xcb_generic_iterator_t
5422 xcb_input_bell_feedback_ctl_end (xcb_input_bell_feedback_ctl_iterator_t i  /**< */);
5423 
5424 /**
5425  * Get the next element of the iterator
5426  * @param i Pointer to a xcb_input_led_feedback_ctl_iterator_t
5427  *
5428  * Get the next element in the iterator. The member rem is
5429  * decreased by one. The member data points to the next
5430  * element. The member index is increased by sizeof(xcb_input_led_feedback_ctl_t)
5431  */
5432 void
5433 xcb_input_led_feedback_ctl_next (xcb_input_led_feedback_ctl_iterator_t *i  /**< */);
5434 
5435 /**
5436  * Return the iterator pointing to the last element
5437  * @param i An xcb_input_led_feedback_ctl_iterator_t
5438  * @return  The iterator pointing to the last element
5439  *
5440  * Set the current element in the iterator to the last element.
5441  * The member rem is set to 0. The member data points to the
5442  * last element.
5443  */
5444 xcb_generic_iterator_t
5445 xcb_input_led_feedback_ctl_end (xcb_input_led_feedback_ctl_iterator_t i  /**< */);
5446 
5447 int
5448 xcb_input_feedback_ctl_sizeof (const void  *_buffer  /**< */);
5449 
5450 uint8_t *
5451 xcb_input_feedback_ctl_uninterpreted_data (const xcb_input_feedback_ctl_t *R  /**< */);
5452 
5453 int
5454 xcb_input_feedback_ctl_uninterpreted_data_length (const xcb_input_feedback_ctl_t *R  /**< */);
5455 
5456 xcb_generic_iterator_t
5457 xcb_input_feedback_ctl_uninterpreted_data_end (const xcb_input_feedback_ctl_t *R  /**< */);
5458 
5459 /**
5460  * Get the next element of the iterator
5461  * @param i Pointer to a xcb_input_feedback_ctl_iterator_t
5462  *
5463  * Get the next element in the iterator. The member rem is
5464  * decreased by one. The member data points to the next
5465  * element. The member index is increased by sizeof(xcb_input_feedback_ctl_t)
5466  */
5467 void
5468 xcb_input_feedback_ctl_next (xcb_input_feedback_ctl_iterator_t *i  /**< */);
5469 
5470 /**
5471  * Return the iterator pointing to the last element
5472  * @param i An xcb_input_feedback_ctl_iterator_t
5473  * @return  The iterator pointing to the last element
5474  *
5475  * Set the current element in the iterator to the last element.
5476  * The member rem is set to 0. The member data points to the
5477  * last element.
5478  */
5479 xcb_generic_iterator_t
5480 xcb_input_feedback_ctl_end (xcb_input_feedback_ctl_iterator_t i  /**< */);
5481 
5482 int
5483 xcb_input_change_feedback_control_sizeof (const void  *_buffer  /**< */);
5484 
5485 /**
5486  *
5487  * @param c The connection
5488  * @return A cookie
5489  *
5490  * Delivers a request to the X server.
5491  *
5492  * This form can be used only if the request will not cause
5493  * a reply to be generated. Any returned error will be
5494  * saved for handling by xcb_request_check().
5495  */
5496 xcb_void_cookie_t
5497 xcb_input_change_feedback_control_checked (xcb_connection_t         *c  /**< */,
5498                                            uint32_t                  mask  /**< */,
5499                                            uint8_t                   device_id  /**< */,
5500                                            uint8_t                   feedback_id  /**< */,
5501                                            xcb_input_feedback_ctl_t *feedback  /**< */);
5502 
5503 /**
5504  *
5505  * @param c The connection
5506  * @return A cookie
5507  *
5508  * Delivers a request to the X server.
5509  *
5510  */
5511 xcb_void_cookie_t
5512 xcb_input_change_feedback_control (xcb_connection_t         *c  /**< */,
5513                                    uint32_t                  mask  /**< */,
5514                                    uint8_t                   device_id  /**< */,
5515                                    uint8_t                   feedback_id  /**< */,
5516                                    xcb_input_feedback_ctl_t *feedback  /**< */);
5517 
5518 int
5519 xcb_input_get_device_key_mapping_sizeof (const void  *_buffer  /**< */);
5520 
5521 /**
5522  *
5523  * @param c The connection
5524  * @return A cookie
5525  *
5526  * Delivers a request to the X server.
5527  *
5528  */
5529 xcb_input_get_device_key_mapping_cookie_t
5530 xcb_input_get_device_key_mapping (xcb_connection_t     *c  /**< */,
5531                                   uint8_t               device_id  /**< */,
5532                                   xcb_input_key_code_t  first_keycode  /**< */,
5533                                   uint8_t               count  /**< */);
5534 
5535 /**
5536  *
5537  * @param c The connection
5538  * @return A cookie
5539  *
5540  * Delivers a request to the X server.
5541  *
5542  * This form can be used only if the request will cause
5543  * a reply to be generated. Any returned error will be
5544  * placed in the event queue.
5545  */
5546 xcb_input_get_device_key_mapping_cookie_t
5547 xcb_input_get_device_key_mapping_unchecked (xcb_connection_t     *c  /**< */,
5548                                             uint8_t               device_id  /**< */,
5549                                             xcb_input_key_code_t  first_keycode  /**< */,
5550                                             uint8_t               count  /**< */);
5551 
5552 xcb_keysym_t *
5553 xcb_input_get_device_key_mapping_keysyms (const xcb_input_get_device_key_mapping_reply_t *R  /**< */);
5554 
5555 int
5556 xcb_input_get_device_key_mapping_keysyms_length (const xcb_input_get_device_key_mapping_reply_t *R  /**< */);
5557 
5558 xcb_generic_iterator_t
5559 xcb_input_get_device_key_mapping_keysyms_end (const xcb_input_get_device_key_mapping_reply_t *R  /**< */);
5560 
5561 /**
5562  * Return the reply
5563  * @param c      The connection
5564  * @param cookie The cookie
5565  * @param e      The xcb_generic_error_t supplied
5566  *
5567  * Returns the reply of the request asked by
5568  *
5569  * The parameter @p e supplied to this function must be NULL if
5570  * xcb_input_get_device_key_mapping_unchecked(). is used.
5571  * Otherwise, it stores the error if any.
5572  *
5573  * The returned value must be freed by the caller using free().
5574  */
5575 xcb_input_get_device_key_mapping_reply_t *
5576 xcb_input_get_device_key_mapping_reply (xcb_connection_t                           *c  /**< */,
5577                                         xcb_input_get_device_key_mapping_cookie_t   cookie  /**< */,
5578                                         xcb_generic_error_t                       **e  /**< */);
5579 
5580 int
5581 xcb_input_change_device_key_mapping_sizeof (const void  *_buffer  /**< */);
5582 
5583 /**
5584  *
5585  * @param c The connection
5586  * @return A cookie
5587  *
5588  * Delivers a request to the X server.
5589  *
5590  * This form can be used only if the request will not cause
5591  * a reply to be generated. Any returned error will be
5592  * saved for handling by xcb_request_check().
5593  */
5594 xcb_void_cookie_t
5595 xcb_input_change_device_key_mapping_checked (xcb_connection_t     *c  /**< */,
5596                                              uint8_t               device_id  /**< */,
5597                                              xcb_input_key_code_t  first_keycode  /**< */,
5598                                              uint8_t               keysyms_per_keycode  /**< */,
5599                                              uint8_t               keycode_count  /**< */,
5600                                              const xcb_keysym_t   *keysyms  /**< */);
5601 
5602 /**
5603  *
5604  * @param c The connection
5605  * @return A cookie
5606  *
5607  * Delivers a request to the X server.
5608  *
5609  */
5610 xcb_void_cookie_t
5611 xcb_input_change_device_key_mapping (xcb_connection_t     *c  /**< */,
5612                                      uint8_t               device_id  /**< */,
5613                                      xcb_input_key_code_t  first_keycode  /**< */,
5614                                      uint8_t               keysyms_per_keycode  /**< */,
5615                                      uint8_t               keycode_count  /**< */,
5616                                      const xcb_keysym_t   *keysyms  /**< */);
5617 
5618 int
5619 xcb_input_get_device_modifier_mapping_sizeof (const void  *_buffer  /**< */);
5620 
5621 /**
5622  *
5623  * @param c The connection
5624  * @return A cookie
5625  *
5626  * Delivers a request to the X server.
5627  *
5628  */
5629 xcb_input_get_device_modifier_mapping_cookie_t
5630 xcb_input_get_device_modifier_mapping (xcb_connection_t *c  /**< */,
5631                                        uint8_t           device_id  /**< */);
5632 
5633 /**
5634  *
5635  * @param c The connection
5636  * @return A cookie
5637  *
5638  * Delivers a request to the X server.
5639  *
5640  * This form can be used only if the request will cause
5641  * a reply to be generated. Any returned error will be
5642  * placed in the event queue.
5643  */
5644 xcb_input_get_device_modifier_mapping_cookie_t
5645 xcb_input_get_device_modifier_mapping_unchecked (xcb_connection_t *c  /**< */,
5646                                                  uint8_t           device_id  /**< */);
5647 
5648 uint8_t *
5649 xcb_input_get_device_modifier_mapping_keymaps (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */);
5650 
5651 int
5652 xcb_input_get_device_modifier_mapping_keymaps_length (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */);
5653 
5654 xcb_generic_iterator_t
5655 xcb_input_get_device_modifier_mapping_keymaps_end (const xcb_input_get_device_modifier_mapping_reply_t *R  /**< */);
5656 
5657 /**
5658  * Return the reply
5659  * @param c      The connection
5660  * @param cookie The cookie
5661  * @param e      The xcb_generic_error_t supplied
5662  *
5663  * Returns the reply of the request asked by
5664  *
5665  * The parameter @p e supplied to this function must be NULL if
5666  * xcb_input_get_device_modifier_mapping_unchecked(). is used.
5667  * Otherwise, it stores the error if any.
5668  *
5669  * The returned value must be freed by the caller using free().
5670  */
5671 xcb_input_get_device_modifier_mapping_reply_t *
5672 xcb_input_get_device_modifier_mapping_reply (xcb_connection_t                                *c  /**< */,
5673                                              xcb_input_get_device_modifier_mapping_cookie_t   cookie  /**< */,
5674                                              xcb_generic_error_t                            **e  /**< */);
5675 
5676 int
5677 xcb_input_set_device_modifier_mapping_sizeof (const void  *_buffer  /**< */);
5678 
5679 /**
5680  *
5681  * @param c The connection
5682  * @return A cookie
5683  *
5684  * Delivers a request to the X server.
5685  *
5686  */
5687 xcb_input_set_device_modifier_mapping_cookie_t
5688 xcb_input_set_device_modifier_mapping (xcb_connection_t *c  /**< */,
5689                                        uint8_t           device_id  /**< */,
5690                                        uint8_t           keycodes_per_modifier  /**< */,
5691                                        const uint8_t    *keymaps  /**< */);
5692 
5693 /**
5694  *
5695  * @param c The connection
5696  * @return A cookie
5697  *
5698  * Delivers a request to the X server.
5699  *
5700  * This form can be used only if the request will cause
5701  * a reply to be generated. Any returned error will be
5702  * placed in the event queue.
5703  */
5704 xcb_input_set_device_modifier_mapping_cookie_t
5705 xcb_input_set_device_modifier_mapping_unchecked (xcb_connection_t *c  /**< */,
5706                                                  uint8_t           device_id  /**< */,
5707                                                  uint8_t           keycodes_per_modifier  /**< */,
5708                                                  const uint8_t    *keymaps  /**< */);
5709 
5710 /**
5711  * Return the reply
5712  * @param c      The connection
5713  * @param cookie The cookie
5714  * @param e      The xcb_generic_error_t supplied
5715  *
5716  * Returns the reply of the request asked by
5717  *
5718  * The parameter @p e supplied to this function must be NULL if
5719  * xcb_input_set_device_modifier_mapping_unchecked(). is used.
5720  * Otherwise, it stores the error if any.
5721  *
5722  * The returned value must be freed by the caller using free().
5723  */
5724 xcb_input_set_device_modifier_mapping_reply_t *
5725 xcb_input_set_device_modifier_mapping_reply (xcb_connection_t                                *c  /**< */,
5726                                              xcb_input_set_device_modifier_mapping_cookie_t   cookie  /**< */,
5727                                              xcb_generic_error_t                            **e  /**< */);
5728 
5729 int
5730 xcb_input_get_device_button_mapping_sizeof (const void  *_buffer  /**< */);
5731 
5732 /**
5733  *
5734  * @param c The connection
5735  * @return A cookie
5736  *
5737  * Delivers a request to the X server.
5738  *
5739  */
5740 xcb_input_get_device_button_mapping_cookie_t
5741 xcb_input_get_device_button_mapping (xcb_connection_t *c  /**< */,
5742                                      uint8_t           device_id  /**< */);
5743 
5744 /**
5745  *
5746  * @param c The connection
5747  * @return A cookie
5748  *
5749  * Delivers a request to the X server.
5750  *
5751  * This form can be used only if the request will cause
5752  * a reply to be generated. Any returned error will be
5753  * placed in the event queue.
5754  */
5755 xcb_input_get_device_button_mapping_cookie_t
5756 xcb_input_get_device_button_mapping_unchecked (xcb_connection_t *c  /**< */,
5757                                                uint8_t           device_id  /**< */);
5758 
5759 uint8_t *
5760 xcb_input_get_device_button_mapping_map (const xcb_input_get_device_button_mapping_reply_t *R  /**< */);
5761 
5762 int
5763 xcb_input_get_device_button_mapping_map_length (const xcb_input_get_device_button_mapping_reply_t *R  /**< */);
5764 
5765 xcb_generic_iterator_t
5766 xcb_input_get_device_button_mapping_map_end (const xcb_input_get_device_button_mapping_reply_t *R  /**< */);
5767 
5768 /**
5769  * Return the reply
5770  * @param c      The connection
5771  * @param cookie The cookie
5772  * @param e      The xcb_generic_error_t supplied
5773  *
5774  * Returns the reply of the request asked by
5775  *
5776  * The parameter @p e supplied to this function must be NULL if
5777  * xcb_input_get_device_button_mapping_unchecked(). is used.
5778  * Otherwise, it stores the error if any.
5779  *
5780  * The returned value must be freed by the caller using free().
5781  */
5782 xcb_input_get_device_button_mapping_reply_t *
5783 xcb_input_get_device_button_mapping_reply (xcb_connection_t                              *c  /**< */,
5784                                            xcb_input_get_device_button_mapping_cookie_t   cookie  /**< */,
5785                                            xcb_generic_error_t                          **e  /**< */);
5786 
5787 int
5788 xcb_input_set_device_button_mapping_sizeof (const void  *_buffer  /**< */);
5789 
5790 /**
5791  *
5792  * @param c The connection
5793  * @return A cookie
5794  *
5795  * Delivers a request to the X server.
5796  *
5797  */
5798 xcb_input_set_device_button_mapping_cookie_t
5799 xcb_input_set_device_button_mapping (xcb_connection_t *c  /**< */,
5800                                      uint8_t           device_id  /**< */,
5801                                      uint8_t           map_size  /**< */,
5802                                      const uint8_t    *map  /**< */);
5803 
5804 /**
5805  *
5806  * @param c The connection
5807  * @return A cookie
5808  *
5809  * Delivers a request to the X server.
5810  *
5811  * This form can be used only if the request will cause
5812  * a reply to be generated. Any returned error will be
5813  * placed in the event queue.
5814  */
5815 xcb_input_set_device_button_mapping_cookie_t
5816 xcb_input_set_device_button_mapping_unchecked (xcb_connection_t *c  /**< */,
5817                                                uint8_t           device_id  /**< */,
5818                                                uint8_t           map_size  /**< */,
5819                                                const uint8_t    *map  /**< */);
5820 
5821 /**
5822  * Return the reply
5823  * @param c      The connection
5824  * @param cookie The cookie
5825  * @param e      The xcb_generic_error_t supplied
5826  *
5827  * Returns the reply of the request asked by
5828  *
5829  * The parameter @p e supplied to this function must be NULL if
5830  * xcb_input_set_device_button_mapping_unchecked(). is used.
5831  * Otherwise, it stores the error if any.
5832  *
5833  * The returned value must be freed by the caller using free().
5834  */
5835 xcb_input_set_device_button_mapping_reply_t *
5836 xcb_input_set_device_button_mapping_reply (xcb_connection_t                              *c  /**< */,
5837                                            xcb_input_set_device_button_mapping_cookie_t   cookie  /**< */,
5838                                            xcb_generic_error_t                          **e  /**< */);
5839 
5840 /**
5841  * Get the next element of the iterator
5842  * @param i Pointer to a xcb_input_key_state_iterator_t
5843  *
5844  * Get the next element in the iterator. The member rem is
5845  * decreased by one. The member data points to the next
5846  * element. The member index is increased by sizeof(xcb_input_key_state_t)
5847  */
5848 void
5849 xcb_input_key_state_next (xcb_input_key_state_iterator_t *i  /**< */);
5850 
5851 /**
5852  * Return the iterator pointing to the last element
5853  * @param i An xcb_input_key_state_iterator_t
5854  * @return  The iterator pointing to the last element
5855  *
5856  * Set the current element in the iterator to the last element.
5857  * The member rem is set to 0. The member data points to the
5858  * last element.
5859  */
5860 xcb_generic_iterator_t
5861 xcb_input_key_state_end (xcb_input_key_state_iterator_t i  /**< */);
5862 
5863 /**
5864  * Get the next element of the iterator
5865  * @param i Pointer to a xcb_input_button_state_iterator_t
5866  *
5867  * Get the next element in the iterator. The member rem is
5868  * decreased by one. The member data points to the next
5869  * element. The member index is increased by sizeof(xcb_input_button_state_t)
5870  */
5871 void
5872 xcb_input_button_state_next (xcb_input_button_state_iterator_t *i  /**< */);
5873 
5874 /**
5875  * Return the iterator pointing to the last element
5876  * @param i An xcb_input_button_state_iterator_t
5877  * @return  The iterator pointing to the last element
5878  *
5879  * Set the current element in the iterator to the last element.
5880  * The member rem is set to 0. The member data points to the
5881  * last element.
5882  */
5883 xcb_generic_iterator_t
5884 xcb_input_button_state_end (xcb_input_button_state_iterator_t i  /**< */);
5885 
5886 int
5887 xcb_input_valuator_state_sizeof (const void  *_buffer  /**< */);
5888 
5889 uint32_t *
5890 xcb_input_valuator_state_valuators (const xcb_input_valuator_state_t *R  /**< */);
5891 
5892 int
5893 xcb_input_valuator_state_valuators_length (const xcb_input_valuator_state_t *R  /**< */);
5894 
5895 xcb_generic_iterator_t
5896 xcb_input_valuator_state_valuators_end (const xcb_input_valuator_state_t *R  /**< */);
5897 
5898 /**
5899  * Get the next element of the iterator
5900  * @param i Pointer to a xcb_input_valuator_state_iterator_t
5901  *
5902  * Get the next element in the iterator. The member rem is
5903  * decreased by one. The member data points to the next
5904  * element. The member index is increased by sizeof(xcb_input_valuator_state_t)
5905  */
5906 void
5907 xcb_input_valuator_state_next (xcb_input_valuator_state_iterator_t *i  /**< */);
5908 
5909 /**
5910  * Return the iterator pointing to the last element
5911  * @param i An xcb_input_valuator_state_iterator_t
5912  * @return  The iterator pointing to the last element
5913  *
5914  * Set the current element in the iterator to the last element.
5915  * The member rem is set to 0. The member data points to the
5916  * last element.
5917  */
5918 xcb_generic_iterator_t
5919 xcb_input_valuator_state_end (xcb_input_valuator_state_iterator_t i  /**< */);
5920 
5921 int
5922 xcb_input_input_state_sizeof (const void  *_buffer  /**< */);
5923 
5924 uint8_t *
5925 xcb_input_input_state_uninterpreted_data (const xcb_input_input_state_t *R  /**< */);
5926 
5927 int
5928 xcb_input_input_state_uninterpreted_data_length (const xcb_input_input_state_t *R  /**< */);
5929 
5930 xcb_generic_iterator_t
5931 xcb_input_input_state_uninterpreted_data_end (const xcb_input_input_state_t *R  /**< */);
5932 
5933 /**
5934  * Get the next element of the iterator
5935  * @param i Pointer to a xcb_input_input_state_iterator_t
5936  *
5937  * Get the next element in the iterator. The member rem is
5938  * decreased by one. The member data points to the next
5939  * element. The member index is increased by sizeof(xcb_input_input_state_t)
5940  */
5941 void
5942 xcb_input_input_state_next (xcb_input_input_state_iterator_t *i  /**< */);
5943 
5944 /**
5945  * Return the iterator pointing to the last element
5946  * @param i An xcb_input_input_state_iterator_t
5947  * @return  The iterator pointing to the last element
5948  *
5949  * Set the current element in the iterator to the last element.
5950  * The member rem is set to 0. The member data points to the
5951  * last element.
5952  */
5953 xcb_generic_iterator_t
5954 xcb_input_input_state_end (xcb_input_input_state_iterator_t i  /**< */);
5955 
5956 int
5957 xcb_input_query_device_state_sizeof (const void  *_buffer  /**< */);
5958 
5959 /**
5960  *
5961  * @param c The connection
5962  * @return A cookie
5963  *
5964  * Delivers a request to the X server.
5965  *
5966  */
5967 xcb_input_query_device_state_cookie_t
5968 xcb_input_query_device_state (xcb_connection_t *c  /**< */,
5969                               uint8_t           device_id  /**< */);
5970 
5971 /**
5972  *
5973  * @param c The connection
5974  * @return A cookie
5975  *
5976  * Delivers a request to the X server.
5977  *
5978  * This form can be used only if the request will cause
5979  * a reply to be generated. Any returned error will be
5980  * placed in the event queue.
5981  */
5982 xcb_input_query_device_state_cookie_t
5983 xcb_input_query_device_state_unchecked (xcb_connection_t *c  /**< */,
5984                                         uint8_t           device_id  /**< */);
5985 
5986 int
5987 xcb_input_query_device_state_classes_length (const xcb_input_query_device_state_reply_t *R  /**< */);
5988 
5989 xcb_input_input_state_iterator_t
5990 xcb_input_query_device_state_classes_iterator (const xcb_input_query_device_state_reply_t *R  /**< */);
5991 
5992 /**
5993  * Return the reply
5994  * @param c      The connection
5995  * @param cookie The cookie
5996  * @param e      The xcb_generic_error_t supplied
5997  *
5998  * Returns the reply of the request asked by
5999  *
6000  * The parameter @p e supplied to this function must be NULL if
6001  * xcb_input_query_device_state_unchecked(). is used.
6002  * Otherwise, it stores the error if any.
6003  *
6004  * The returned value must be freed by the caller using free().
6005  */
6006 xcb_input_query_device_state_reply_t *
6007 xcb_input_query_device_state_reply (xcb_connection_t                       *c  /**< */,
6008                                     xcb_input_query_device_state_cookie_t   cookie  /**< */,
6009                                     xcb_generic_error_t                   **e  /**< */);
6010 
6011 int
6012 xcb_input_send_extension_event_sizeof (const void  *_buffer  /**< */);
6013 
6014 /**
6015  *
6016  * @param c The connection
6017  * @return A cookie
6018  *
6019  * Delivers a request to the X server.
6020  *
6021  * This form can be used only if the request will not cause
6022  * a reply to be generated. Any returned error will be
6023  * saved for handling by xcb_request_check().
6024  */
6025 xcb_void_cookie_t
6026 xcb_input_send_extension_event_checked (xcb_connection_t              *c  /**< */,
6027                                         xcb_window_t                   destination  /**< */,
6028                                         uint8_t                        device_id  /**< */,
6029                                         uint8_t                        propagate  /**< */,
6030                                         uint16_t                       num_classes  /**< */,
6031                                         uint8_t                        num_events  /**< */,
6032                                         const uint8_t                 *events  /**< */,
6033                                         const xcb_input_event_class_t *classes  /**< */);
6034 
6035 /**
6036  *
6037  * @param c The connection
6038  * @return A cookie
6039  *
6040  * Delivers a request to the X server.
6041  *
6042  */
6043 xcb_void_cookie_t
6044 xcb_input_send_extension_event (xcb_connection_t              *c  /**< */,
6045                                 xcb_window_t                   destination  /**< */,
6046                                 uint8_t                        device_id  /**< */,
6047                                 uint8_t                        propagate  /**< */,
6048                                 uint16_t                       num_classes  /**< */,
6049                                 uint8_t                        num_events  /**< */,
6050                                 const uint8_t                 *events  /**< */,
6051                                 const xcb_input_event_class_t *classes  /**< */);
6052 
6053 /**
6054  *
6055  * @param c The connection
6056  * @return A cookie
6057  *
6058  * Delivers a request to the X server.
6059  *
6060  * This form can be used only if the request will not cause
6061  * a reply to be generated. Any returned error will be
6062  * saved for handling by xcb_request_check().
6063  */
6064 xcb_void_cookie_t
6065 xcb_input_device_bell_checked (xcb_connection_t *c  /**< */,
6066                                uint8_t           device_id  /**< */,
6067                                uint8_t           feedback_id  /**< */,
6068                                uint8_t           feedback_class  /**< */,
6069                                int8_t            percent  /**< */);
6070 
6071 /**
6072  *
6073  * @param c The connection
6074  * @return A cookie
6075  *
6076  * Delivers a request to the X server.
6077  *
6078  */
6079 xcb_void_cookie_t
6080 xcb_input_device_bell (xcb_connection_t *c  /**< */,
6081                        uint8_t           device_id  /**< */,
6082                        uint8_t           feedback_id  /**< */,
6083                        uint8_t           feedback_class  /**< */,
6084                        int8_t            percent  /**< */);
6085 
6086 int
6087 xcb_input_set_device_valuators_sizeof (const void  *_buffer  /**< */);
6088 
6089 /**
6090  *
6091  * @param c The connection
6092  * @return A cookie
6093  *
6094  * Delivers a request to the X server.
6095  *
6096  */
6097 xcb_input_set_device_valuators_cookie_t
6098 xcb_input_set_device_valuators (xcb_connection_t *c  /**< */,
6099                                 uint8_t           device_id  /**< */,
6100                                 uint8_t           first_valuator  /**< */,
6101                                 uint8_t           num_valuators  /**< */,
6102                                 const int32_t    *valuators  /**< */);
6103 
6104 /**
6105  *
6106  * @param c The connection
6107  * @return A cookie
6108  *
6109  * Delivers a request to the X server.
6110  *
6111  * This form can be used only if the request will cause
6112  * a reply to be generated. Any returned error will be
6113  * placed in the event queue.
6114  */
6115 xcb_input_set_device_valuators_cookie_t
6116 xcb_input_set_device_valuators_unchecked (xcb_connection_t *c  /**< */,
6117                                           uint8_t           device_id  /**< */,
6118                                           uint8_t           first_valuator  /**< */,
6119                                           uint8_t           num_valuators  /**< */,
6120                                           const int32_t    *valuators  /**< */);
6121 
6122 /**
6123  * Return the reply
6124  * @param c      The connection
6125  * @param cookie The cookie
6126  * @param e      The xcb_generic_error_t supplied
6127  *
6128  * Returns the reply of the request asked by
6129  *
6130  * The parameter @p e supplied to this function must be NULL if
6131  * xcb_input_set_device_valuators_unchecked(). is used.
6132  * Otherwise, it stores the error if any.
6133  *
6134  * The returned value must be freed by the caller using free().
6135  */
6136 xcb_input_set_device_valuators_reply_t *
6137 xcb_input_set_device_valuators_reply (xcb_connection_t                         *c  /**< */,
6138                                       xcb_input_set_device_valuators_cookie_t   cookie  /**< */,
6139                                       xcb_generic_error_t                     **e  /**< */);
6140 
6141 int
6142 xcb_input_device_resolution_state_sizeof (const void  *_buffer  /**< */);
6143 
6144 uint32_t *
6145 xcb_input_device_resolution_state_resolution_values (const xcb_input_device_resolution_state_t *R  /**< */);
6146 
6147 int
6148 xcb_input_device_resolution_state_resolution_values_length (const xcb_input_device_resolution_state_t *R  /**< */);
6149 
6150 xcb_generic_iterator_t
6151 xcb_input_device_resolution_state_resolution_values_end (const xcb_input_device_resolution_state_t *R  /**< */);
6152 
6153 uint32_t *
6154 xcb_input_device_resolution_state_resolution_min (const xcb_input_device_resolution_state_t *R  /**< */);
6155 
6156 int
6157 xcb_input_device_resolution_state_resolution_min_length (const xcb_input_device_resolution_state_t *R  /**< */);
6158 
6159 xcb_generic_iterator_t
6160 xcb_input_device_resolution_state_resolution_min_end (const xcb_input_device_resolution_state_t *R  /**< */);
6161 
6162 uint32_t *
6163 xcb_input_device_resolution_state_resolution_max (const xcb_input_device_resolution_state_t *R  /**< */);
6164 
6165 int
6166 xcb_input_device_resolution_state_resolution_max_length (const xcb_input_device_resolution_state_t *R  /**< */);
6167 
6168 xcb_generic_iterator_t
6169 xcb_input_device_resolution_state_resolution_max_end (const xcb_input_device_resolution_state_t *R  /**< */);
6170 
6171 /**
6172  * Get the next element of the iterator
6173  * @param i Pointer to a xcb_input_device_resolution_state_iterator_t
6174  *
6175  * Get the next element in the iterator. The member rem is
6176  * decreased by one. The member data points to the next
6177  * element. The member index is increased by sizeof(xcb_input_device_resolution_state_t)
6178  */
6179 void
6180 xcb_input_device_resolution_state_next (xcb_input_device_resolution_state_iterator_t *i  /**< */);
6181 
6182 /**
6183  * Return the iterator pointing to the last element
6184  * @param i An xcb_input_device_resolution_state_iterator_t
6185  * @return  The iterator pointing to the last element
6186  *
6187  * Set the current element in the iterator to the last element.
6188  * The member rem is set to 0. The member data points to the
6189  * last element.
6190  */
6191 xcb_generic_iterator_t
6192 xcb_input_device_resolution_state_end (xcb_input_device_resolution_state_iterator_t i  /**< */);
6193 
6194 /**
6195  * Get the next element of the iterator
6196  * @param i Pointer to a xcb_input_device_abs_calib_state_iterator_t
6197  *
6198  * Get the next element in the iterator. The member rem is
6199  * decreased by one. The member data points to the next
6200  * element. The member index is increased by sizeof(xcb_input_device_abs_calib_state_t)
6201  */
6202 void
6203 xcb_input_device_abs_calib_state_next (xcb_input_device_abs_calib_state_iterator_t *i  /**< */);
6204 
6205 /**
6206  * Return the iterator pointing to the last element
6207  * @param i An xcb_input_device_abs_calib_state_iterator_t
6208  * @return  The iterator pointing to the last element
6209  *
6210  * Set the current element in the iterator to the last element.
6211  * The member rem is set to 0. The member data points to the
6212  * last element.
6213  */
6214 xcb_generic_iterator_t
6215 xcb_input_device_abs_calib_state_end (xcb_input_device_abs_calib_state_iterator_t i  /**< */);
6216 
6217 /**
6218  * Get the next element of the iterator
6219  * @param i Pointer to a xcb_input_device_abs_area_state_iterator_t
6220  *
6221  * Get the next element in the iterator. The member rem is
6222  * decreased by one. The member data points to the next
6223  * element. The member index is increased by sizeof(xcb_input_device_abs_area_state_t)
6224  */
6225 void
6226 xcb_input_device_abs_area_state_next (xcb_input_device_abs_area_state_iterator_t *i  /**< */);
6227 
6228 /**
6229  * Return the iterator pointing to the last element
6230  * @param i An xcb_input_device_abs_area_state_iterator_t
6231  * @return  The iterator pointing to the last element
6232  *
6233  * Set the current element in the iterator to the last element.
6234  * The member rem is set to 0. The member data points to the
6235  * last element.
6236  */
6237 xcb_generic_iterator_t
6238 xcb_input_device_abs_area_state_end (xcb_input_device_abs_area_state_iterator_t i  /**< */);
6239 
6240 /**
6241  * Get the next element of the iterator
6242  * @param i Pointer to a xcb_input_device_core_state_iterator_t
6243  *
6244  * Get the next element in the iterator. The member rem is
6245  * decreased by one. The member data points to the next
6246  * element. The member index is increased by sizeof(xcb_input_device_core_state_t)
6247  */
6248 void
6249 xcb_input_device_core_state_next (xcb_input_device_core_state_iterator_t *i  /**< */);
6250 
6251 /**
6252  * Return the iterator pointing to the last element
6253  * @param i An xcb_input_device_core_state_iterator_t
6254  * @return  The iterator pointing to the last element
6255  *
6256  * Set the current element in the iterator to the last element.
6257  * The member rem is set to 0. The member data points to the
6258  * last element.
6259  */
6260 xcb_generic_iterator_t
6261 xcb_input_device_core_state_end (xcb_input_device_core_state_iterator_t i  /**< */);
6262 
6263 /**
6264  * Get the next element of the iterator
6265  * @param i Pointer to a xcb_input_device_enable_state_iterator_t
6266  *
6267  * Get the next element in the iterator. The member rem is
6268  * decreased by one. The member data points to the next
6269  * element. The member index is increased by sizeof(xcb_input_device_enable_state_t)
6270  */
6271 void
6272 xcb_input_device_enable_state_next (xcb_input_device_enable_state_iterator_t *i  /**< */);
6273 
6274 /**
6275  * Return the iterator pointing to the last element
6276  * @param i An xcb_input_device_enable_state_iterator_t
6277  * @return  The iterator pointing to the last element
6278  *
6279  * Set the current element in the iterator to the last element.
6280  * The member rem is set to 0. The member data points to the
6281  * last element.
6282  */
6283 xcb_generic_iterator_t
6284 xcb_input_device_enable_state_end (xcb_input_device_enable_state_iterator_t i  /**< */);
6285 
6286 int
6287 xcb_input_device_state_sizeof (const void  *_buffer  /**< */);
6288 
6289 uint8_t *
6290 xcb_input_device_state_uninterpreted_data (const xcb_input_device_state_t *R  /**< */);
6291 
6292 int
6293 xcb_input_device_state_uninterpreted_data_length (const xcb_input_device_state_t *R  /**< */);
6294 
6295 xcb_generic_iterator_t
6296 xcb_input_device_state_uninterpreted_data_end (const xcb_input_device_state_t *R  /**< */);
6297 
6298 /**
6299  * Get the next element of the iterator
6300  * @param i Pointer to a xcb_input_device_state_iterator_t
6301  *
6302  * Get the next element in the iterator. The member rem is
6303  * decreased by one. The member data points to the next
6304  * element. The member index is increased by sizeof(xcb_input_device_state_t)
6305  */
6306 void
6307 xcb_input_device_state_next (xcb_input_device_state_iterator_t *i  /**< */);
6308 
6309 /**
6310  * Return the iterator pointing to the last element
6311  * @param i An xcb_input_device_state_iterator_t
6312  * @return  The iterator pointing to the last element
6313  *
6314  * Set the current element in the iterator to the last element.
6315  * The member rem is set to 0. The member data points to the
6316  * last element.
6317  */
6318 xcb_generic_iterator_t
6319 xcb_input_device_state_end (xcb_input_device_state_iterator_t i  /**< */);
6320 
6321 int
6322 xcb_input_get_device_control_sizeof (const void  *_buffer  /**< */);
6323 
6324 /**
6325  *
6326  * @param c The connection
6327  * @return A cookie
6328  *
6329  * Delivers a request to the X server.
6330  *
6331  */
6332 xcb_input_get_device_control_cookie_t
6333 xcb_input_get_device_control (xcb_connection_t *c  /**< */,
6334                               uint16_t          control_id  /**< */,
6335                               uint8_t           device_id  /**< */);
6336 
6337 /**
6338  *
6339  * @param c The connection
6340  * @return A cookie
6341  *
6342  * Delivers a request to the X server.
6343  *
6344  * This form can be used only if the request will cause
6345  * a reply to be generated. Any returned error will be
6346  * placed in the event queue.
6347  */
6348 xcb_input_get_device_control_cookie_t
6349 xcb_input_get_device_control_unchecked (xcb_connection_t *c  /**< */,
6350                                         uint16_t          control_id  /**< */,
6351                                         uint8_t           device_id  /**< */);
6352 
6353 xcb_input_device_state_t *
6354 xcb_input_get_device_control_control (const xcb_input_get_device_control_reply_t *R  /**< */);
6355 
6356 /**
6357  * Return the reply
6358  * @param c      The connection
6359  * @param cookie The cookie
6360  * @param e      The xcb_generic_error_t supplied
6361  *
6362  * Returns the reply of the request asked by
6363  *
6364  * The parameter @p e supplied to this function must be NULL if
6365  * xcb_input_get_device_control_unchecked(). is used.
6366  * Otherwise, it stores the error if any.
6367  *
6368  * The returned value must be freed by the caller using free().
6369  */
6370 xcb_input_get_device_control_reply_t *
6371 xcb_input_get_device_control_reply (xcb_connection_t                       *c  /**< */,
6372                                     xcb_input_get_device_control_cookie_t   cookie  /**< */,
6373                                     xcb_generic_error_t                   **e  /**< */);
6374 
6375 int
6376 xcb_input_device_resolution_ctl_sizeof (const void  *_buffer  /**< */);
6377 
6378 uint32_t *
6379 xcb_input_device_resolution_ctl_resolution_values (const xcb_input_device_resolution_ctl_t *R  /**< */);
6380 
6381 int
6382 xcb_input_device_resolution_ctl_resolution_values_length (const xcb_input_device_resolution_ctl_t *R  /**< */);
6383 
6384 xcb_generic_iterator_t
6385 xcb_input_device_resolution_ctl_resolution_values_end (const xcb_input_device_resolution_ctl_t *R  /**< */);
6386 
6387 /**
6388  * Get the next element of the iterator
6389  * @param i Pointer to a xcb_input_device_resolution_ctl_iterator_t
6390  *
6391  * Get the next element in the iterator. The member rem is
6392  * decreased by one. The member data points to the next
6393  * element. The member index is increased by sizeof(xcb_input_device_resolution_ctl_t)
6394  */
6395 void
6396 xcb_input_device_resolution_ctl_next (xcb_input_device_resolution_ctl_iterator_t *i  /**< */);
6397 
6398 /**
6399  * Return the iterator pointing to the last element
6400  * @param i An xcb_input_device_resolution_ctl_iterator_t
6401  * @return  The iterator pointing to the last element
6402  *
6403  * Set the current element in the iterator to the last element.
6404  * The member rem is set to 0. The member data points to the
6405  * last element.
6406  */
6407 xcb_generic_iterator_t
6408 xcb_input_device_resolution_ctl_end (xcb_input_device_resolution_ctl_iterator_t i  /**< */);
6409 
6410 /**
6411  * Get the next element of the iterator
6412  * @param i Pointer to a xcb_input_device_abs_calib_ctl_iterator_t
6413  *
6414  * Get the next element in the iterator. The member rem is
6415  * decreased by one. The member data points to the next
6416  * element. The member index is increased by sizeof(xcb_input_device_abs_calib_ctl_t)
6417  */
6418 void
6419 xcb_input_device_abs_calib_ctl_next (xcb_input_device_abs_calib_ctl_iterator_t *i  /**< */);
6420 
6421 /**
6422  * Return the iterator pointing to the last element
6423  * @param i An xcb_input_device_abs_calib_ctl_iterator_t
6424  * @return  The iterator pointing to the last element
6425  *
6426  * Set the current element in the iterator to the last element.
6427  * The member rem is set to 0. The member data points to the
6428  * last element.
6429  */
6430 xcb_generic_iterator_t
6431 xcb_input_device_abs_calib_ctl_end (xcb_input_device_abs_calib_ctl_iterator_t i  /**< */);
6432 
6433 /**
6434  * Get the next element of the iterator
6435  * @param i Pointer to a xcb_input_device_abs_area_ctrl_iterator_t
6436  *
6437  * Get the next element in the iterator. The member rem is
6438  * decreased by one. The member data points to the next
6439  * element. The member index is increased by sizeof(xcb_input_device_abs_area_ctrl_t)
6440  */
6441 void
6442 xcb_input_device_abs_area_ctrl_next (xcb_input_device_abs_area_ctrl_iterator_t *i  /**< */);
6443 
6444 /**
6445  * Return the iterator pointing to the last element
6446  * @param i An xcb_input_device_abs_area_ctrl_iterator_t
6447  * @return  The iterator pointing to the last element
6448  *
6449  * Set the current element in the iterator to the last element.
6450  * The member rem is set to 0. The member data points to the
6451  * last element.
6452  */
6453 xcb_generic_iterator_t
6454 xcb_input_device_abs_area_ctrl_end (xcb_input_device_abs_area_ctrl_iterator_t i  /**< */);
6455 
6456 /**
6457  * Get the next element of the iterator
6458  * @param i Pointer to a xcb_input_device_core_ctrl_iterator_t
6459  *
6460  * Get the next element in the iterator. The member rem is
6461  * decreased by one. The member data points to the next
6462  * element. The member index is increased by sizeof(xcb_input_device_core_ctrl_t)
6463  */
6464 void
6465 xcb_input_device_core_ctrl_next (xcb_input_device_core_ctrl_iterator_t *i  /**< */);
6466 
6467 /**
6468  * Return the iterator pointing to the last element
6469  * @param i An xcb_input_device_core_ctrl_iterator_t
6470  * @return  The iterator pointing to the last element
6471  *
6472  * Set the current element in the iterator to the last element.
6473  * The member rem is set to 0. The member data points to the
6474  * last element.
6475  */
6476 xcb_generic_iterator_t
6477 xcb_input_device_core_ctrl_end (xcb_input_device_core_ctrl_iterator_t i  /**< */);
6478 
6479 /**
6480  * Get the next element of the iterator
6481  * @param i Pointer to a xcb_input_device_enable_ctrl_iterator_t
6482  *
6483  * Get the next element in the iterator. The member rem is
6484  * decreased by one. The member data points to the next
6485  * element. The member index is increased by sizeof(xcb_input_device_enable_ctrl_t)
6486  */
6487 void
6488 xcb_input_device_enable_ctrl_next (xcb_input_device_enable_ctrl_iterator_t *i  /**< */);
6489 
6490 /**
6491  * Return the iterator pointing to the last element
6492  * @param i An xcb_input_device_enable_ctrl_iterator_t
6493  * @return  The iterator pointing to the last element
6494  *
6495  * Set the current element in the iterator to the last element.
6496  * The member rem is set to 0. The member data points to the
6497  * last element.
6498  */
6499 xcb_generic_iterator_t
6500 xcb_input_device_enable_ctrl_end (xcb_input_device_enable_ctrl_iterator_t i  /**< */);
6501 
6502 int
6503 xcb_input_device_ctl_sizeof (const void  *_buffer  /**< */);
6504 
6505 uint8_t *
6506 xcb_input_device_ctl_uninterpreted_data (const xcb_input_device_ctl_t *R  /**< */);
6507 
6508 int
6509 xcb_input_device_ctl_uninterpreted_data_length (const xcb_input_device_ctl_t *R  /**< */);
6510 
6511 xcb_generic_iterator_t
6512 xcb_input_device_ctl_uninterpreted_data_end (const xcb_input_device_ctl_t *R  /**< */);
6513 
6514 /**
6515  * Get the next element of the iterator
6516  * @param i Pointer to a xcb_input_device_ctl_iterator_t
6517  *
6518  * Get the next element in the iterator. The member rem is
6519  * decreased by one. The member data points to the next
6520  * element. The member index is increased by sizeof(xcb_input_device_ctl_t)
6521  */
6522 void
6523 xcb_input_device_ctl_next (xcb_input_device_ctl_iterator_t *i  /**< */);
6524 
6525 /**
6526  * Return the iterator pointing to the last element
6527  * @param i An xcb_input_device_ctl_iterator_t
6528  * @return  The iterator pointing to the last element
6529  *
6530  * Set the current element in the iterator to the last element.
6531  * The member rem is set to 0. The member data points to the
6532  * last element.
6533  */
6534 xcb_generic_iterator_t
6535 xcb_input_device_ctl_end (xcb_input_device_ctl_iterator_t i  /**< */);
6536 
6537 int
6538 xcb_input_change_device_control_sizeof (const void  *_buffer  /**< */);
6539 
6540 /**
6541  *
6542  * @param c The connection
6543  * @return A cookie
6544  *
6545  * Delivers a request to the X server.
6546  *
6547  */
6548 xcb_input_change_device_control_cookie_t
6549 xcb_input_change_device_control (xcb_connection_t       *c  /**< */,
6550                                  uint16_t                control_id  /**< */,
6551                                  uint8_t                 device_id  /**< */,
6552                                  xcb_input_device_ctl_t *control  /**< */);
6553 
6554 /**
6555  *
6556  * @param c The connection
6557  * @return A cookie
6558  *
6559  * Delivers a request to the X server.
6560  *
6561  * This form can be used only if the request will cause
6562  * a reply to be generated. Any returned error will be
6563  * placed in the event queue.
6564  */
6565 xcb_input_change_device_control_cookie_t
6566 xcb_input_change_device_control_unchecked (xcb_connection_t       *c  /**< */,
6567                                            uint16_t                control_id  /**< */,
6568                                            uint8_t                 device_id  /**< */,
6569                                            xcb_input_device_ctl_t *control  /**< */);
6570 
6571 /**
6572  * Return the reply
6573  * @param c      The connection
6574  * @param cookie The cookie
6575  * @param e      The xcb_generic_error_t supplied
6576  *
6577  * Returns the reply of the request asked by
6578  *
6579  * The parameter @p e supplied to this function must be NULL if
6580  * xcb_input_change_device_control_unchecked(). is used.
6581  * Otherwise, it stores the error if any.
6582  *
6583  * The returned value must be freed by the caller using free().
6584  */
6585 xcb_input_change_device_control_reply_t *
6586 xcb_input_change_device_control_reply (xcb_connection_t                          *c  /**< */,
6587                                        xcb_input_change_device_control_cookie_t   cookie  /**< */,
6588                                        xcb_generic_error_t                      **e  /**< */);
6589 
6590 int
6591 xcb_input_list_device_properties_sizeof (const void  *_buffer  /**< */);
6592 
6593 /**
6594  *
6595  * @param c The connection
6596  * @return A cookie
6597  *
6598  * Delivers a request to the X server.
6599  *
6600  */
6601 xcb_input_list_device_properties_cookie_t
6602 xcb_input_list_device_properties (xcb_connection_t *c  /**< */,
6603                                   uint8_t           device_id  /**< */);
6604 
6605 /**
6606  *
6607  * @param c The connection
6608  * @return A cookie
6609  *
6610  * Delivers a request to the X server.
6611  *
6612  * This form can be used only if the request will cause
6613  * a reply to be generated. Any returned error will be
6614  * placed in the event queue.
6615  */
6616 xcb_input_list_device_properties_cookie_t
6617 xcb_input_list_device_properties_unchecked (xcb_connection_t *c  /**< */,
6618                                             uint8_t           device_id  /**< */);
6619 
6620 xcb_atom_t *
6621 xcb_input_list_device_properties_atoms (const xcb_input_list_device_properties_reply_t *R  /**< */);
6622 
6623 int
6624 xcb_input_list_device_properties_atoms_length (const xcb_input_list_device_properties_reply_t *R  /**< */);
6625 
6626 xcb_generic_iterator_t
6627 xcb_input_list_device_properties_atoms_end (const xcb_input_list_device_properties_reply_t *R  /**< */);
6628 
6629 /**
6630  * Return the reply
6631  * @param c      The connection
6632  * @param cookie The cookie
6633  * @param e      The xcb_generic_error_t supplied
6634  *
6635  * Returns the reply of the request asked by
6636  *
6637  * The parameter @p e supplied to this function must be NULL if
6638  * xcb_input_list_device_properties_unchecked(). is used.
6639  * Otherwise, it stores the error if any.
6640  *
6641  * The returned value must be freed by the caller using free().
6642  */
6643 xcb_input_list_device_properties_reply_t *
6644 xcb_input_list_device_properties_reply (xcb_connection_t                           *c  /**< */,
6645                                         xcb_input_list_device_properties_cookie_t   cookie  /**< */,
6646                                         xcb_generic_error_t                       **e  /**< */);
6647 
6648 uint8_t *
6649 xcb_input_change_device_property_items_data_8 (const xcb_input_change_device_property_items_t *S  /**< */);
6650 
6651 int
6652 xcb_input_change_device_property_items_data_8_length (const xcb_input_change_device_property_request_t *R  /**< */,
6653                                                       const xcb_input_change_device_property_items_t *S /**< */);
6654 
6655 xcb_generic_iterator_t
6656 xcb_input_change_device_property_items_data_8_end (const xcb_input_change_device_property_request_t *R  /**< */,
6657                                                    const xcb_input_change_device_property_items_t *S /**< */);
6658 
6659 uint16_t *
6660 xcb_input_change_device_property_items_data_16 (const xcb_input_change_device_property_items_t *S  /**< */);
6661 
6662 int
6663 xcb_input_change_device_property_items_data_16_length (const xcb_input_change_device_property_request_t *R  /**< */,
6664                                                        const xcb_input_change_device_property_items_t *S /**< */);
6665 
6666 xcb_generic_iterator_t
6667 xcb_input_change_device_property_items_data_16_end (const xcb_input_change_device_property_request_t *R  /**< */,
6668                                                     const xcb_input_change_device_property_items_t *S /**< */);
6669 
6670 uint32_t *
6671 xcb_input_change_device_property_items_data_32 (const xcb_input_change_device_property_items_t *S  /**< */);
6672 
6673 int
6674 xcb_input_change_device_property_items_data_32_length (const xcb_input_change_device_property_request_t *R  /**< */,
6675                                                        const xcb_input_change_device_property_items_t *S /**< */);
6676 
6677 xcb_generic_iterator_t
6678 xcb_input_change_device_property_items_data_32_end (const xcb_input_change_device_property_request_t *R  /**< */,
6679                                                     const xcb_input_change_device_property_items_t *S /**< */);
6680 
6681 int
6682 xcb_input_change_device_property_items_serialize (void                                           **_buffer  /**< */,
6683                                                   uint32_t                                         num_items  /**< */,
6684                                                   uint8_t                                          format  /**< */,
6685                                                   const xcb_input_change_device_property_items_t  *_aux  /**< */);
6686 
6687 int
6688 xcb_input_change_device_property_items_unpack (const void                                *_buffer  /**< */,
6689                                                uint32_t                                   num_items  /**< */,
6690                                                uint8_t                                    format  /**< */,
6691                                                xcb_input_change_device_property_items_t  *_aux  /**< */);
6692 
6693 int
6694 xcb_input_change_device_property_items_sizeof (const void  *_buffer  /**< */,
6695                                                uint32_t     num_items  /**< */,
6696                                                uint8_t      format  /**< */);
6697 
6698 /**
6699  *
6700  * @param c The connection
6701  * @return A cookie
6702  *
6703  * Delivers a request to the X server.
6704  *
6705  * This form can be used only if the request will not cause
6706  * a reply to be generated. Any returned error will be
6707  * saved for handling by xcb_request_check().
6708  */
6709 xcb_void_cookie_t
6710 xcb_input_change_device_property_checked (xcb_connection_t *c  /**< */,
6711                                           xcb_atom_t        property  /**< */,
6712                                           xcb_atom_t        type  /**< */,
6713                                           uint8_t           device_id  /**< */,
6714                                           uint8_t           format  /**< */,
6715                                           uint8_t           mode  /**< */,
6716                                           uint32_t          num_items  /**< */,
6717                                           const void       *items  /**< */);
6718 
6719 /**
6720  *
6721  * @param c The connection
6722  * @return A cookie
6723  *
6724  * Delivers a request to the X server.
6725  *
6726  */
6727 xcb_void_cookie_t
6728 xcb_input_change_device_property (xcb_connection_t *c  /**< */,
6729                                   xcb_atom_t        property  /**< */,
6730                                   xcb_atom_t        type  /**< */,
6731                                   uint8_t           device_id  /**< */,
6732                                   uint8_t           format  /**< */,
6733                                   uint8_t           mode  /**< */,
6734                                   uint32_t          num_items  /**< */,
6735                                   const void       *items  /**< */);
6736 
6737 /**
6738  *
6739  * @param c The connection
6740  * @return A cookie
6741  *
6742  * Delivers a request to the X server.
6743  *
6744  * This form can be used only if the request will not cause
6745  * a reply to be generated. Any returned error will be
6746  * saved for handling by xcb_request_check().
6747  */
6748 xcb_void_cookie_t
6749 xcb_input_change_device_property_aux_checked (xcb_connection_t                               *c  /**< */,
6750                                               xcb_atom_t                                      property  /**< */,
6751                                               xcb_atom_t                                      type  /**< */,
6752                                               uint8_t                                         device_id  /**< */,
6753                                               uint8_t                                         format  /**< */,
6754                                               uint8_t                                         mode  /**< */,
6755                                               uint32_t                                        num_items  /**< */,
6756                                               const xcb_input_change_device_property_items_t *items  /**< */);
6757 
6758 /**
6759  *
6760  * @param c The connection
6761  * @return A cookie
6762  *
6763  * Delivers a request to the X server.
6764  *
6765  */
6766 xcb_void_cookie_t
6767 xcb_input_change_device_property_aux (xcb_connection_t                               *c  /**< */,
6768                                       xcb_atom_t                                      property  /**< */,
6769                                       xcb_atom_t                                      type  /**< */,
6770                                       uint8_t                                         device_id  /**< */,
6771                                       uint8_t                                         format  /**< */,
6772                                       uint8_t                                         mode  /**< */,
6773                                       uint32_t                                        num_items  /**< */,
6774                                       const xcb_input_change_device_property_items_t *items  /**< */);
6775 
6776 /**
6777  *
6778  * @param c The connection
6779  * @return A cookie
6780  *
6781  * Delivers a request to the X server.
6782  *
6783  * This form can be used only if the request will not cause
6784  * a reply to be generated. Any returned error will be
6785  * saved for handling by xcb_request_check().
6786  */
6787 xcb_void_cookie_t
6788 xcb_input_delete_device_property_checked (xcb_connection_t *c  /**< */,
6789                                           xcb_atom_t        property  /**< */,
6790                                           uint8_t           device_id  /**< */);
6791 
6792 /**
6793  *
6794  * @param c The connection
6795  * @return A cookie
6796  *
6797  * Delivers a request to the X server.
6798  *
6799  */
6800 xcb_void_cookie_t
6801 xcb_input_delete_device_property (xcb_connection_t *c  /**< */,
6802                                   xcb_atom_t        property  /**< */,
6803                                   uint8_t           device_id  /**< */);
6804 
6805 uint8_t *
6806 xcb_input_get_device_property_items_data_8 (const xcb_input_get_device_property_items_t *S  /**< */);
6807 
6808 int
6809 xcb_input_get_device_property_items_data_8_length (const xcb_input_get_device_property_reply_t *R  /**< */,
6810                                                    const xcb_input_get_device_property_items_t *S /**< */);
6811 
6812 xcb_generic_iterator_t
6813 xcb_input_get_device_property_items_data_8_end (const xcb_input_get_device_property_reply_t *R  /**< */,
6814                                                 const xcb_input_get_device_property_items_t *S /**< */);
6815 
6816 uint16_t *
6817 xcb_input_get_device_property_items_data_16 (const xcb_input_get_device_property_items_t *S  /**< */);
6818 
6819 int
6820 xcb_input_get_device_property_items_data_16_length (const xcb_input_get_device_property_reply_t *R  /**< */,
6821                                                     const xcb_input_get_device_property_items_t *S /**< */);
6822 
6823 xcb_generic_iterator_t
6824 xcb_input_get_device_property_items_data_16_end (const xcb_input_get_device_property_reply_t *R  /**< */,
6825                                                  const xcb_input_get_device_property_items_t *S /**< */);
6826 
6827 uint32_t *
6828 xcb_input_get_device_property_items_data_32 (const xcb_input_get_device_property_items_t *S  /**< */);
6829 
6830 int
6831 xcb_input_get_device_property_items_data_32_length (const xcb_input_get_device_property_reply_t *R  /**< */,
6832                                                     const xcb_input_get_device_property_items_t *S /**< */);
6833 
6834 xcb_generic_iterator_t
6835 xcb_input_get_device_property_items_data_32_end (const xcb_input_get_device_property_reply_t *R  /**< */,
6836                                                  const xcb_input_get_device_property_items_t *S /**< */);
6837 
6838 int
6839 xcb_input_get_device_property_items_serialize (void                                        **_buffer  /**< */,
6840                                                uint32_t                                      num_items  /**< */,
6841                                                uint8_t                                       format  /**< */,
6842                                                const xcb_input_get_device_property_items_t  *_aux  /**< */);
6843 
6844 int
6845 xcb_input_get_device_property_items_unpack (const void                             *_buffer  /**< */,
6846                                             uint32_t                                num_items  /**< */,
6847                                             uint8_t                                 format  /**< */,
6848                                             xcb_input_get_device_property_items_t  *_aux  /**< */);
6849 
6850 int
6851 xcb_input_get_device_property_items_sizeof (const void  *_buffer  /**< */,
6852                                             uint32_t     num_items  /**< */,
6853                                             uint8_t      format  /**< */);
6854 
6855 /**
6856  *
6857  * @param c The connection
6858  * @return A cookie
6859  *
6860  * Delivers a request to the X server.
6861  *
6862  */
6863 xcb_input_get_device_property_cookie_t
6864 xcb_input_get_device_property (xcb_connection_t *c  /**< */,
6865                                xcb_atom_t        property  /**< */,
6866                                xcb_atom_t        type  /**< */,
6867                                uint32_t          offset  /**< */,
6868                                uint32_t          len  /**< */,
6869                                uint8_t           device_id  /**< */,
6870                                uint8_t           _delete  /**< */);
6871 
6872 /**
6873  *
6874  * @param c The connection
6875  * @return A cookie
6876  *
6877  * Delivers a request to the X server.
6878  *
6879  * This form can be used only if the request will cause
6880  * a reply to be generated. Any returned error will be
6881  * placed in the event queue.
6882  */
6883 xcb_input_get_device_property_cookie_t
6884 xcb_input_get_device_property_unchecked (xcb_connection_t *c  /**< */,
6885                                          xcb_atom_t        property  /**< */,
6886                                          xcb_atom_t        type  /**< */,
6887                                          uint32_t          offset  /**< */,
6888                                          uint32_t          len  /**< */,
6889                                          uint8_t           device_id  /**< */,
6890                                          uint8_t           _delete  /**< */);
6891 
6892 void *
6893 xcb_input_get_device_property_items (const xcb_input_get_device_property_reply_t *R  /**< */);
6894 
6895 /**
6896  * Return the reply
6897  * @param c      The connection
6898  * @param cookie The cookie
6899  * @param e      The xcb_generic_error_t supplied
6900  *
6901  * Returns the reply of the request asked by
6902  *
6903  * The parameter @p e supplied to this function must be NULL if
6904  * xcb_input_get_device_property_unchecked(). is used.
6905  * Otherwise, it stores the error if any.
6906  *
6907  * The returned value must be freed by the caller using free().
6908  */
6909 xcb_input_get_device_property_reply_t *
6910 xcb_input_get_device_property_reply (xcb_connection_t                        *c  /**< */,
6911                                      xcb_input_get_device_property_cookie_t   cookie  /**< */,
6912                                      xcb_generic_error_t                    **e  /**< */);
6913 
6914 /**
6915  * Get the next element of the iterator
6916  * @param i Pointer to a xcb_input_group_info_iterator_t
6917  *
6918  * Get the next element in the iterator. The member rem is
6919  * decreased by one. The member data points to the next
6920  * element. The member index is increased by sizeof(xcb_input_group_info_t)
6921  */
6922 void
6923 xcb_input_group_info_next (xcb_input_group_info_iterator_t *i  /**< */);
6924 
6925 /**
6926  * Return the iterator pointing to the last element
6927  * @param i An xcb_input_group_info_iterator_t
6928  * @return  The iterator pointing to the last element
6929  *
6930  * Set the current element in the iterator to the last element.
6931  * The member rem is set to 0. The member data points to the
6932  * last element.
6933  */
6934 xcb_generic_iterator_t
6935 xcb_input_group_info_end (xcb_input_group_info_iterator_t i  /**< */);
6936 
6937 /**
6938  * Get the next element of the iterator
6939  * @param i Pointer to a xcb_input_modifier_info_iterator_t
6940  *
6941  * Get the next element in the iterator. The member rem is
6942  * decreased by one. The member data points to the next
6943  * element. The member index is increased by sizeof(xcb_input_modifier_info_t)
6944  */
6945 void
6946 xcb_input_modifier_info_next (xcb_input_modifier_info_iterator_t *i  /**< */);
6947 
6948 /**
6949  * Return the iterator pointing to the last element
6950  * @param i An xcb_input_modifier_info_iterator_t
6951  * @return  The iterator pointing to the last element
6952  *
6953  * Set the current element in the iterator to the last element.
6954  * The member rem is set to 0. The member data points to the
6955  * last element.
6956  */
6957 xcb_generic_iterator_t
6958 xcb_input_modifier_info_end (xcb_input_modifier_info_iterator_t i  /**< */);
6959 
6960 int
6961 xcb_input_xi_query_pointer_sizeof (const void  *_buffer  /**< */);
6962 
6963 /**
6964  *
6965  * @param c The connection
6966  * @return A cookie
6967  *
6968  * Delivers a request to the X server.
6969  *
6970  */
6971 xcb_input_xi_query_pointer_cookie_t
6972 xcb_input_xi_query_pointer (xcb_connection_t      *c  /**< */,
6973                             xcb_window_t           window  /**< */,
6974                             xcb_input_device_id_t  deviceid  /**< */);
6975 
6976 /**
6977  *
6978  * @param c The connection
6979  * @return A cookie
6980  *
6981  * Delivers a request to the X server.
6982  *
6983  * This form can be used only if the request will cause
6984  * a reply to be generated. Any returned error will be
6985  * placed in the event queue.
6986  */
6987 xcb_input_xi_query_pointer_cookie_t
6988 xcb_input_xi_query_pointer_unchecked (xcb_connection_t      *c  /**< */,
6989                                       xcb_window_t           window  /**< */,
6990                                       xcb_input_device_id_t  deviceid  /**< */);
6991 
6992 uint32_t *
6993 xcb_input_xi_query_pointer_buttons (const xcb_input_xi_query_pointer_reply_t *R  /**< */);
6994 
6995 int
6996 xcb_input_xi_query_pointer_buttons_length (const xcb_input_xi_query_pointer_reply_t *R  /**< */);
6997 
6998 xcb_generic_iterator_t
6999 xcb_input_xi_query_pointer_buttons_end (const xcb_input_xi_query_pointer_reply_t *R  /**< */);
7000 
7001 /**
7002  * Return the reply
7003  * @param c      The connection
7004  * @param cookie The cookie
7005  * @param e      The xcb_generic_error_t supplied
7006  *
7007  * Returns the reply of the request asked by
7008  *
7009  * The parameter @p e supplied to this function must be NULL if
7010  * xcb_input_xi_query_pointer_unchecked(). is used.
7011  * Otherwise, it stores the error if any.
7012  *
7013  * The returned value must be freed by the caller using free().
7014  */
7015 xcb_input_xi_query_pointer_reply_t *
7016 xcb_input_xi_query_pointer_reply (xcb_connection_t                     *c  /**< */,
7017                                   xcb_input_xi_query_pointer_cookie_t   cookie  /**< */,
7018                                   xcb_generic_error_t                 **e  /**< */);
7019 
7020 /**
7021  *
7022  * @param c The connection
7023  * @return A cookie
7024  *
7025  * Delivers a request to the X server.
7026  *
7027  * This form can be used only if the request will not cause
7028  * a reply to be generated. Any returned error will be
7029  * saved for handling by xcb_request_check().
7030  */
7031 xcb_void_cookie_t
7032 xcb_input_xi_warp_pointer_checked (xcb_connection_t      *c  /**< */,
7033                                    xcb_window_t           src_win  /**< */,
7034                                    xcb_window_t           dst_win  /**< */,
7035                                    xcb_input_fp1616_t     src_x  /**< */,
7036                                    xcb_input_fp1616_t     src_y  /**< */,
7037                                    uint16_t               src_width  /**< */,
7038                                    uint16_t               src_height  /**< */,
7039                                    xcb_input_fp1616_t     dst_x  /**< */,
7040                                    xcb_input_fp1616_t     dst_y  /**< */,
7041                                    xcb_input_device_id_t  deviceid  /**< */);
7042 
7043 /**
7044  *
7045  * @param c The connection
7046  * @return A cookie
7047  *
7048  * Delivers a request to the X server.
7049  *
7050  */
7051 xcb_void_cookie_t
7052 xcb_input_xi_warp_pointer (xcb_connection_t      *c  /**< */,
7053                            xcb_window_t           src_win  /**< */,
7054                            xcb_window_t           dst_win  /**< */,
7055                            xcb_input_fp1616_t     src_x  /**< */,
7056                            xcb_input_fp1616_t     src_y  /**< */,
7057                            uint16_t               src_width  /**< */,
7058                            uint16_t               src_height  /**< */,
7059                            xcb_input_fp1616_t     dst_x  /**< */,
7060                            xcb_input_fp1616_t     dst_y  /**< */,
7061                            xcb_input_device_id_t  deviceid  /**< */);
7062 
7063 /**
7064  *
7065  * @param c The connection
7066  * @return A cookie
7067  *
7068  * Delivers a request to the X server.
7069  *
7070  * This form can be used only if the request will not cause
7071  * a reply to be generated. Any returned error will be
7072  * saved for handling by xcb_request_check().
7073  */
7074 xcb_void_cookie_t
7075 xcb_input_xi_change_cursor_checked (xcb_connection_t      *c  /**< */,
7076                                     xcb_window_t           window  /**< */,
7077                                     xcb_cursor_t           cursor  /**< */,
7078                                     xcb_input_device_id_t  deviceid  /**< */);
7079 
7080 /**
7081  *
7082  * @param c The connection
7083  * @return A cookie
7084  *
7085  * Delivers a request to the X server.
7086  *
7087  */
7088 xcb_void_cookie_t
7089 xcb_input_xi_change_cursor (xcb_connection_t      *c  /**< */,
7090                             xcb_window_t           window  /**< */,
7091                             xcb_cursor_t           cursor  /**< */,
7092                             xcb_input_device_id_t  deviceid  /**< */);
7093 
7094 int
7095 xcb_input_add_master_sizeof (const void  *_buffer  /**< */);
7096 
7097 char *
7098 xcb_input_add_master_name (const xcb_input_add_master_t *R  /**< */);
7099 
7100 int
7101 xcb_input_add_master_name_length (const xcb_input_add_master_t *R  /**< */);
7102 
7103 xcb_generic_iterator_t
7104 xcb_input_add_master_name_end (const xcb_input_add_master_t *R  /**< */);
7105 
7106 /**
7107  * Get the next element of the iterator
7108  * @param i Pointer to a xcb_input_add_master_iterator_t
7109  *
7110  * Get the next element in the iterator. The member rem is
7111  * decreased by one. The member data points to the next
7112  * element. The member index is increased by sizeof(xcb_input_add_master_t)
7113  */
7114 void
7115 xcb_input_add_master_next (xcb_input_add_master_iterator_t *i  /**< */);
7116 
7117 /**
7118  * Return the iterator pointing to the last element
7119  * @param i An xcb_input_add_master_iterator_t
7120  * @return  The iterator pointing to the last element
7121  *
7122  * Set the current element in the iterator to the last element.
7123  * The member rem is set to 0. The member data points to the
7124  * last element.
7125  */
7126 xcb_generic_iterator_t
7127 xcb_input_add_master_end (xcb_input_add_master_iterator_t i  /**< */);
7128 
7129 /**
7130  * Get the next element of the iterator
7131  * @param i Pointer to a xcb_input_remove_master_iterator_t
7132  *
7133  * Get the next element in the iterator. The member rem is
7134  * decreased by one. The member data points to the next
7135  * element. The member index is increased by sizeof(xcb_input_remove_master_t)
7136  */
7137 void
7138 xcb_input_remove_master_next (xcb_input_remove_master_iterator_t *i  /**< */);
7139 
7140 /**
7141  * Return the iterator pointing to the last element
7142  * @param i An xcb_input_remove_master_iterator_t
7143  * @return  The iterator pointing to the last element
7144  *
7145  * Set the current element in the iterator to the last element.
7146  * The member rem is set to 0. The member data points to the
7147  * last element.
7148  */
7149 xcb_generic_iterator_t
7150 xcb_input_remove_master_end (xcb_input_remove_master_iterator_t i  /**< */);
7151 
7152 /**
7153  * Get the next element of the iterator
7154  * @param i Pointer to a xcb_input_attach_slave_iterator_t
7155  *
7156  * Get the next element in the iterator. The member rem is
7157  * decreased by one. The member data points to the next
7158  * element. The member index is increased by sizeof(xcb_input_attach_slave_t)
7159  */
7160 void
7161 xcb_input_attach_slave_next (xcb_input_attach_slave_iterator_t *i  /**< */);
7162 
7163 /**
7164  * Return the iterator pointing to the last element
7165  * @param i An xcb_input_attach_slave_iterator_t
7166  * @return  The iterator pointing to the last element
7167  *
7168  * Set the current element in the iterator to the last element.
7169  * The member rem is set to 0. The member data points to the
7170  * last element.
7171  */
7172 xcb_generic_iterator_t
7173 xcb_input_attach_slave_end (xcb_input_attach_slave_iterator_t i  /**< */);
7174 
7175 /**
7176  * Get the next element of the iterator
7177  * @param i Pointer to a xcb_input_detach_slave_iterator_t
7178  *
7179  * Get the next element in the iterator. The member rem is
7180  * decreased by one. The member data points to the next
7181  * element. The member index is increased by sizeof(xcb_input_detach_slave_t)
7182  */
7183 void
7184 xcb_input_detach_slave_next (xcb_input_detach_slave_iterator_t *i  /**< */);
7185 
7186 /**
7187  * Return the iterator pointing to the last element
7188  * @param i An xcb_input_detach_slave_iterator_t
7189  * @return  The iterator pointing to the last element
7190  *
7191  * Set the current element in the iterator to the last element.
7192  * The member rem is set to 0. The member data points to the
7193  * last element.
7194  */
7195 xcb_generic_iterator_t
7196 xcb_input_detach_slave_end (xcb_input_detach_slave_iterator_t i  /**< */);
7197 
7198 int
7199 xcb_input_hierarchy_change_sizeof (const void  *_buffer  /**< */);
7200 
7201 uint8_t *
7202 xcb_input_hierarchy_change_uninterpreted_data (const xcb_input_hierarchy_change_t *R  /**< */);
7203 
7204 int
7205 xcb_input_hierarchy_change_uninterpreted_data_length (const xcb_input_hierarchy_change_t *R  /**< */);
7206 
7207 xcb_generic_iterator_t
7208 xcb_input_hierarchy_change_uninterpreted_data_end (const xcb_input_hierarchy_change_t *R  /**< */);
7209 
7210 /**
7211  * Get the next element of the iterator
7212  * @param i Pointer to a xcb_input_hierarchy_change_iterator_t
7213  *
7214  * Get the next element in the iterator. The member rem is
7215  * decreased by one. The member data points to the next
7216  * element. The member index is increased by sizeof(xcb_input_hierarchy_change_t)
7217  */
7218 void
7219 xcb_input_hierarchy_change_next (xcb_input_hierarchy_change_iterator_t *i  /**< */);
7220 
7221 /**
7222  * Return the iterator pointing to the last element
7223  * @param i An xcb_input_hierarchy_change_iterator_t
7224  * @return  The iterator pointing to the last element
7225  *
7226  * Set the current element in the iterator to the last element.
7227  * The member rem is set to 0. The member data points to the
7228  * last element.
7229  */
7230 xcb_generic_iterator_t
7231 xcb_input_hierarchy_change_end (xcb_input_hierarchy_change_iterator_t i  /**< */);
7232 
7233 int
7234 xcb_input_xi_change_hierarchy_sizeof (const void  *_buffer  /**< */);
7235 
7236 /**
7237  *
7238  * @param c The connection
7239  * @return A cookie
7240  *
7241  * Delivers a request to the X server.
7242  *
7243  * This form can be used only if the request will not cause
7244  * a reply to be generated. Any returned error will be
7245  * saved for handling by xcb_request_check().
7246  */
7247 xcb_void_cookie_t
7248 xcb_input_xi_change_hierarchy_checked (xcb_connection_t                   *c  /**< */,
7249                                        uint8_t                             num_changes  /**< */,
7250                                        const xcb_input_hierarchy_change_t *changes  /**< */);
7251 
7252 /**
7253  *
7254  * @param c The connection
7255  * @return A cookie
7256  *
7257  * Delivers a request to the X server.
7258  *
7259  */
7260 xcb_void_cookie_t
7261 xcb_input_xi_change_hierarchy (xcb_connection_t                   *c  /**< */,
7262                                uint8_t                             num_changes  /**< */,
7263                                const xcb_input_hierarchy_change_t *changes  /**< */);
7264 
7265 /**
7266  *
7267  * @param c The connection
7268  * @return A cookie
7269  *
7270  * Delivers a request to the X server.
7271  *
7272  * This form can be used only if the request will not cause
7273  * a reply to be generated. Any returned error will be
7274  * saved for handling by xcb_request_check().
7275  */
7276 xcb_void_cookie_t
7277 xcb_input_xi_set_client_pointer_checked (xcb_connection_t      *c  /**< */,
7278                                          xcb_window_t           window  /**< */,
7279                                          xcb_input_device_id_t  deviceid  /**< */);
7280 
7281 /**
7282  *
7283  * @param c The connection
7284  * @return A cookie
7285  *
7286  * Delivers a request to the X server.
7287  *
7288  */
7289 xcb_void_cookie_t
7290 xcb_input_xi_set_client_pointer (xcb_connection_t      *c  /**< */,
7291                                  xcb_window_t           window  /**< */,
7292                                  xcb_input_device_id_t  deviceid  /**< */);
7293 
7294 /**
7295  *
7296  * @param c The connection
7297  * @return A cookie
7298  *
7299  * Delivers a request to the X server.
7300  *
7301  */
7302 xcb_input_xi_get_client_pointer_cookie_t
7303 xcb_input_xi_get_client_pointer (xcb_connection_t *c  /**< */,
7304                                  xcb_window_t      window  /**< */);
7305 
7306 /**
7307  *
7308  * @param c The connection
7309  * @return A cookie
7310  *
7311  * Delivers a request to the X server.
7312  *
7313  * This form can be used only if the request will cause
7314  * a reply to be generated. Any returned error will be
7315  * placed in the event queue.
7316  */
7317 xcb_input_xi_get_client_pointer_cookie_t
7318 xcb_input_xi_get_client_pointer_unchecked (xcb_connection_t *c  /**< */,
7319                                            xcb_window_t      window  /**< */);
7320 
7321 /**
7322  * Return the reply
7323  * @param c      The connection
7324  * @param cookie The cookie
7325  * @param e      The xcb_generic_error_t supplied
7326  *
7327  * Returns the reply of the request asked by
7328  *
7329  * The parameter @p e supplied to this function must be NULL if
7330  * xcb_input_xi_get_client_pointer_unchecked(). is used.
7331  * Otherwise, it stores the error if any.
7332  *
7333  * The returned value must be freed by the caller using free().
7334  */
7335 xcb_input_xi_get_client_pointer_reply_t *
7336 xcb_input_xi_get_client_pointer_reply (xcb_connection_t                          *c  /**< */,
7337                                        xcb_input_xi_get_client_pointer_cookie_t   cookie  /**< */,
7338                                        xcb_generic_error_t                      **e  /**< */);
7339 
7340 int
7341 xcb_input_event_mask_sizeof (const void  *_buffer  /**< */);
7342 
7343 uint32_t *
7344 xcb_input_event_mask_mask (const xcb_input_event_mask_t *R  /**< */);
7345 
7346 int
7347 xcb_input_event_mask_mask_length (const xcb_input_event_mask_t *R  /**< */);
7348 
7349 xcb_generic_iterator_t
7350 xcb_input_event_mask_mask_end (const xcb_input_event_mask_t *R  /**< */);
7351 
7352 /**
7353  * Get the next element of the iterator
7354  * @param i Pointer to a xcb_input_event_mask_iterator_t
7355  *
7356  * Get the next element in the iterator. The member rem is
7357  * decreased by one. The member data points to the next
7358  * element. The member index is increased by sizeof(xcb_input_event_mask_t)
7359  */
7360 void
7361 xcb_input_event_mask_next (xcb_input_event_mask_iterator_t *i  /**< */);
7362 
7363 /**
7364  * Return the iterator pointing to the last element
7365  * @param i An xcb_input_event_mask_iterator_t
7366  * @return  The iterator pointing to the last element
7367  *
7368  * Set the current element in the iterator to the last element.
7369  * The member rem is set to 0. The member data points to the
7370  * last element.
7371  */
7372 xcb_generic_iterator_t
7373 xcb_input_event_mask_end (xcb_input_event_mask_iterator_t i  /**< */);
7374 
7375 int
7376 xcb_input_xi_select_events_sizeof (const void  *_buffer  /**< */);
7377 
7378 /**
7379  *
7380  * @param c The connection
7381  * @return A cookie
7382  *
7383  * Delivers a request to the X server.
7384  *
7385  * This form can be used only if the request will not cause
7386  * a reply to be generated. Any returned error will be
7387  * saved for handling by xcb_request_check().
7388  */
7389 xcb_void_cookie_t
7390 xcb_input_xi_select_events_checked (xcb_connection_t             *c  /**< */,
7391                                     xcb_window_t                  window  /**< */,
7392                                     uint16_t                      num_mask  /**< */,
7393                                     const xcb_input_event_mask_t *masks  /**< */);
7394 
7395 /**
7396  *
7397  * @param c The connection
7398  * @return A cookie
7399  *
7400  * Delivers a request to the X server.
7401  *
7402  */
7403 xcb_void_cookie_t
7404 xcb_input_xi_select_events (xcb_connection_t             *c  /**< */,
7405                             xcb_window_t                  window  /**< */,
7406                             uint16_t                      num_mask  /**< */,
7407                             const xcb_input_event_mask_t *masks  /**< */);
7408 
7409 /**
7410  *
7411  * @param c The connection
7412  * @return A cookie
7413  *
7414  * Delivers a request to the X server.
7415  *
7416  */
7417 xcb_input_xi_query_version_cookie_t
7418 xcb_input_xi_query_version (xcb_connection_t *c  /**< */,
7419                             uint16_t          major_version  /**< */,
7420                             uint16_t          minor_version  /**< */);
7421 
7422 /**
7423  *
7424  * @param c The connection
7425  * @return A cookie
7426  *
7427  * Delivers a request to the X server.
7428  *
7429  * This form can be used only if the request will cause
7430  * a reply to be generated. Any returned error will be
7431  * placed in the event queue.
7432  */
7433 xcb_input_xi_query_version_cookie_t
7434 xcb_input_xi_query_version_unchecked (xcb_connection_t *c  /**< */,
7435                                       uint16_t          major_version  /**< */,
7436                                       uint16_t          minor_version  /**< */);
7437 
7438 /**
7439  * Return the reply
7440  * @param c      The connection
7441  * @param cookie The cookie
7442  * @param e      The xcb_generic_error_t supplied
7443  *
7444  * Returns the reply of the request asked by
7445  *
7446  * The parameter @p e supplied to this function must be NULL if
7447  * xcb_input_xi_query_version_unchecked(). is used.
7448  * Otherwise, it stores the error if any.
7449  *
7450  * The returned value must be freed by the caller using free().
7451  */
7452 xcb_input_xi_query_version_reply_t *
7453 xcb_input_xi_query_version_reply (xcb_connection_t                     *c  /**< */,
7454                                   xcb_input_xi_query_version_cookie_t   cookie  /**< */,
7455                                   xcb_generic_error_t                 **e  /**< */);
7456 
7457 int
7458 xcb_input_button_class_sizeof (const void  *_buffer  /**< */);
7459 
7460 uint32_t *
7461 xcb_input_button_class_state (const xcb_input_button_class_t *R  /**< */);
7462 
7463 int
7464 xcb_input_button_class_state_length (const xcb_input_button_class_t *R  /**< */);
7465 
7466 xcb_generic_iterator_t
7467 xcb_input_button_class_state_end (const xcb_input_button_class_t *R  /**< */);
7468 
7469 xcb_atom_t *
7470 xcb_input_button_class_labels (const xcb_input_button_class_t *R  /**< */);
7471 
7472 int
7473 xcb_input_button_class_labels_length (const xcb_input_button_class_t *R  /**< */);
7474 
7475 xcb_generic_iterator_t
7476 xcb_input_button_class_labels_end (const xcb_input_button_class_t *R  /**< */);
7477 
7478 /**
7479  * Get the next element of the iterator
7480  * @param i Pointer to a xcb_input_button_class_iterator_t
7481  *
7482  * Get the next element in the iterator. The member rem is
7483  * decreased by one. The member data points to the next
7484  * element. The member index is increased by sizeof(xcb_input_button_class_t)
7485  */
7486 void
7487 xcb_input_button_class_next (xcb_input_button_class_iterator_t *i  /**< */);
7488 
7489 /**
7490  * Return the iterator pointing to the last element
7491  * @param i An xcb_input_button_class_iterator_t
7492  * @return  The iterator pointing to the last element
7493  *
7494  * Set the current element in the iterator to the last element.
7495  * The member rem is set to 0. The member data points to the
7496  * last element.
7497  */
7498 xcb_generic_iterator_t
7499 xcb_input_button_class_end (xcb_input_button_class_iterator_t i  /**< */);
7500 
7501 int
7502 xcb_input_key_class_sizeof (const void  *_buffer  /**< */);
7503 
7504 uint32_t *
7505 xcb_input_key_class_keys (const xcb_input_key_class_t *R  /**< */);
7506 
7507 int
7508 xcb_input_key_class_keys_length (const xcb_input_key_class_t *R  /**< */);
7509 
7510 xcb_generic_iterator_t
7511 xcb_input_key_class_keys_end (const xcb_input_key_class_t *R  /**< */);
7512 
7513 /**
7514  * Get the next element of the iterator
7515  * @param i Pointer to a xcb_input_key_class_iterator_t
7516  *
7517  * Get the next element in the iterator. The member rem is
7518  * decreased by one. The member data points to the next
7519  * element. The member index is increased by sizeof(xcb_input_key_class_t)
7520  */
7521 void
7522 xcb_input_key_class_next (xcb_input_key_class_iterator_t *i  /**< */);
7523 
7524 /**
7525  * Return the iterator pointing to the last element
7526  * @param i An xcb_input_key_class_iterator_t
7527  * @return  The iterator pointing to the last element
7528  *
7529  * Set the current element in the iterator to the last element.
7530  * The member rem is set to 0. The member data points to the
7531  * last element.
7532  */
7533 xcb_generic_iterator_t
7534 xcb_input_key_class_end (xcb_input_key_class_iterator_t i  /**< */);
7535 
7536 /**
7537  * Get the next element of the iterator
7538  * @param i Pointer to a xcb_input_scroll_class_iterator_t
7539  *
7540  * Get the next element in the iterator. The member rem is
7541  * decreased by one. The member data points to the next
7542  * element. The member index is increased by sizeof(xcb_input_scroll_class_t)
7543  */
7544 void
7545 xcb_input_scroll_class_next (xcb_input_scroll_class_iterator_t *i  /**< */);
7546 
7547 /**
7548  * Return the iterator pointing to the last element
7549  * @param i An xcb_input_scroll_class_iterator_t
7550  * @return  The iterator pointing to the last element
7551  *
7552  * Set the current element in the iterator to the last element.
7553  * The member rem is set to 0. The member data points to the
7554  * last element.
7555  */
7556 xcb_generic_iterator_t
7557 xcb_input_scroll_class_end (xcb_input_scroll_class_iterator_t i  /**< */);
7558 
7559 /**
7560  * Get the next element of the iterator
7561  * @param i Pointer to a xcb_input_touch_class_iterator_t
7562  *
7563  * Get the next element in the iterator. The member rem is
7564  * decreased by one. The member data points to the next
7565  * element. The member index is increased by sizeof(xcb_input_touch_class_t)
7566  */
7567 void
7568 xcb_input_touch_class_next (xcb_input_touch_class_iterator_t *i  /**< */);
7569 
7570 /**
7571  * Return the iterator pointing to the last element
7572  * @param i An xcb_input_touch_class_iterator_t
7573  * @return  The iterator pointing to the last element
7574  *
7575  * Set the current element in the iterator to the last element.
7576  * The member rem is set to 0. The member data points to the
7577  * last element.
7578  */
7579 xcb_generic_iterator_t
7580 xcb_input_touch_class_end (xcb_input_touch_class_iterator_t i  /**< */);
7581 
7582 /**
7583  * Get the next element of the iterator
7584  * @param i Pointer to a xcb_input_valuator_class_iterator_t
7585  *
7586  * Get the next element in the iterator. The member rem is
7587  * decreased by one. The member data points to the next
7588  * element. The member index is increased by sizeof(xcb_input_valuator_class_t)
7589  */
7590 void
7591 xcb_input_valuator_class_next (xcb_input_valuator_class_iterator_t *i  /**< */);
7592 
7593 /**
7594  * Return the iterator pointing to the last element
7595  * @param i An xcb_input_valuator_class_iterator_t
7596  * @return  The iterator pointing to the last element
7597  *
7598  * Set the current element in the iterator to the last element.
7599  * The member rem is set to 0. The member data points to the
7600  * last element.
7601  */
7602 xcb_generic_iterator_t
7603 xcb_input_valuator_class_end (xcb_input_valuator_class_iterator_t i  /**< */);
7604 
7605 int
7606 xcb_input_device_class_sizeof (const void  *_buffer  /**< */);
7607 
7608 uint8_t *
7609 xcb_input_device_class_uninterpreted_data (const xcb_input_device_class_t *R  /**< */);
7610 
7611 int
7612 xcb_input_device_class_uninterpreted_data_length (const xcb_input_device_class_t *R  /**< */);
7613 
7614 xcb_generic_iterator_t
7615 xcb_input_device_class_uninterpreted_data_end (const xcb_input_device_class_t *R  /**< */);
7616 
7617 /**
7618  * Get the next element of the iterator
7619  * @param i Pointer to a xcb_input_device_class_iterator_t
7620  *
7621  * Get the next element in the iterator. The member rem is
7622  * decreased by one. The member data points to the next
7623  * element. The member index is increased by sizeof(xcb_input_device_class_t)
7624  */
7625 void
7626 xcb_input_device_class_next (xcb_input_device_class_iterator_t *i  /**< */);
7627 
7628 /**
7629  * Return the iterator pointing to the last element
7630  * @param i An xcb_input_device_class_iterator_t
7631  * @return  The iterator pointing to the last element
7632  *
7633  * Set the current element in the iterator to the last element.
7634  * The member rem is set to 0. The member data points to the
7635  * last element.
7636  */
7637 xcb_generic_iterator_t
7638 xcb_input_device_class_end (xcb_input_device_class_iterator_t i  /**< */);
7639 
7640 int
7641 xcb_input_xi_device_info_sizeof (const void  *_buffer  /**< */);
7642 
7643 char *
7644 xcb_input_xi_device_info_name (const xcb_input_xi_device_info_t *R  /**< */);
7645 
7646 int
7647 xcb_input_xi_device_info_name_length (const xcb_input_xi_device_info_t *R  /**< */);
7648 
7649 xcb_generic_iterator_t
7650 xcb_input_xi_device_info_name_end (const xcb_input_xi_device_info_t *R  /**< */);
7651 
7652 int
7653 xcb_input_xi_device_info_classes_length (const xcb_input_xi_device_info_t *R  /**< */);
7654 
7655 xcb_input_device_class_iterator_t
7656 xcb_input_xi_device_info_classes_iterator (const xcb_input_xi_device_info_t *R  /**< */);
7657 
7658 /**
7659  * Get the next element of the iterator
7660  * @param i Pointer to a xcb_input_xi_device_info_iterator_t
7661  *
7662  * Get the next element in the iterator. The member rem is
7663  * decreased by one. The member data points to the next
7664  * element. The member index is increased by sizeof(xcb_input_xi_device_info_t)
7665  */
7666 void
7667 xcb_input_xi_device_info_next (xcb_input_xi_device_info_iterator_t *i  /**< */);
7668 
7669 /**
7670  * Return the iterator pointing to the last element
7671  * @param i An xcb_input_xi_device_info_iterator_t
7672  * @return  The iterator pointing to the last element
7673  *
7674  * Set the current element in the iterator to the last element.
7675  * The member rem is set to 0. The member data points to the
7676  * last element.
7677  */
7678 xcb_generic_iterator_t
7679 xcb_input_xi_device_info_end (xcb_input_xi_device_info_iterator_t i  /**< */);
7680 
7681 int
7682 xcb_input_xi_query_device_sizeof (const void  *_buffer  /**< */);
7683 
7684 /**
7685  *
7686  * @param c The connection
7687  * @return A cookie
7688  *
7689  * Delivers a request to the X server.
7690  *
7691  */
7692 xcb_input_xi_query_device_cookie_t
7693 xcb_input_xi_query_device (xcb_connection_t      *c  /**< */,
7694                            xcb_input_device_id_t  deviceid  /**< */);
7695 
7696 /**
7697  *
7698  * @param c The connection
7699  * @return A cookie
7700  *
7701  * Delivers a request to the X server.
7702  *
7703  * This form can be used only if the request will cause
7704  * a reply to be generated. Any returned error will be
7705  * placed in the event queue.
7706  */
7707 xcb_input_xi_query_device_cookie_t
7708 xcb_input_xi_query_device_unchecked (xcb_connection_t      *c  /**< */,
7709                                      xcb_input_device_id_t  deviceid  /**< */);
7710 
7711 int
7712 xcb_input_xi_query_device_infos_length (const xcb_input_xi_query_device_reply_t *R  /**< */);
7713 
7714 xcb_input_xi_device_info_iterator_t
7715 xcb_input_xi_query_device_infos_iterator (const xcb_input_xi_query_device_reply_t *R  /**< */);
7716 
7717 /**
7718  * Return the reply
7719  * @param c      The connection
7720  * @param cookie The cookie
7721  * @param e      The xcb_generic_error_t supplied
7722  *
7723  * Returns the reply of the request asked by
7724  *
7725  * The parameter @p e supplied to this function must be NULL if
7726  * xcb_input_xi_query_device_unchecked(). is used.
7727  * Otherwise, it stores the error if any.
7728  *
7729  * The returned value must be freed by the caller using free().
7730  */
7731 xcb_input_xi_query_device_reply_t *
7732 xcb_input_xi_query_device_reply (xcb_connection_t                    *c  /**< */,
7733                                  xcb_input_xi_query_device_cookie_t   cookie  /**< */,
7734                                  xcb_generic_error_t                **e  /**< */);
7735 
7736 /**
7737  *
7738  * @param c The connection
7739  * @return A cookie
7740  *
7741  * Delivers a request to the X server.
7742  *
7743  * This form can be used only if the request will not cause
7744  * a reply to be generated. Any returned error will be
7745  * saved for handling by xcb_request_check().
7746  */
7747 xcb_void_cookie_t
7748 xcb_input_xi_set_focus_checked (xcb_connection_t      *c  /**< */,
7749                                 xcb_window_t           window  /**< */,
7750                                 xcb_timestamp_t        time  /**< */,
7751                                 xcb_input_device_id_t  deviceid  /**< */);
7752 
7753 /**
7754  *
7755  * @param c The connection
7756  * @return A cookie
7757  *
7758  * Delivers a request to the X server.
7759  *
7760  */
7761 xcb_void_cookie_t
7762 xcb_input_xi_set_focus (xcb_connection_t      *c  /**< */,
7763                         xcb_window_t           window  /**< */,
7764                         xcb_timestamp_t        time  /**< */,
7765                         xcb_input_device_id_t  deviceid  /**< */);
7766 
7767 /**
7768  *
7769  * @param c The connection
7770  * @return A cookie
7771  *
7772  * Delivers a request to the X server.
7773  *
7774  */
7775 xcb_input_xi_get_focus_cookie_t
7776 xcb_input_xi_get_focus (xcb_connection_t      *c  /**< */,
7777                         xcb_input_device_id_t  deviceid  /**< */);
7778 
7779 /**
7780  *
7781  * @param c The connection
7782  * @return A cookie
7783  *
7784  * Delivers a request to the X server.
7785  *
7786  * This form can be used only if the request will cause
7787  * a reply to be generated. Any returned error will be
7788  * placed in the event queue.
7789  */
7790 xcb_input_xi_get_focus_cookie_t
7791 xcb_input_xi_get_focus_unchecked (xcb_connection_t      *c  /**< */,
7792                                   xcb_input_device_id_t  deviceid  /**< */);
7793 
7794 /**
7795  * Return the reply
7796  * @param c      The connection
7797  * @param cookie The cookie
7798  * @param e      The xcb_generic_error_t supplied
7799  *
7800  * Returns the reply of the request asked by
7801  *
7802  * The parameter @p e supplied to this function must be NULL if
7803  * xcb_input_xi_get_focus_unchecked(). is used.
7804  * Otherwise, it stores the error if any.
7805  *
7806  * The returned value must be freed by the caller using free().
7807  */
7808 xcb_input_xi_get_focus_reply_t *
7809 xcb_input_xi_get_focus_reply (xcb_connection_t                 *c  /**< */,
7810                               xcb_input_xi_get_focus_cookie_t   cookie  /**< */,
7811                               xcb_generic_error_t             **e  /**< */);
7812 
7813 int
7814 xcb_input_xi_grab_device_sizeof (const void  *_buffer  /**< */);
7815 
7816 /**
7817  *
7818  * @param c The connection
7819  * @return A cookie
7820  *
7821  * Delivers a request to the X server.
7822  *
7823  */
7824 xcb_input_xi_grab_device_cookie_t
7825 xcb_input_xi_grab_device (xcb_connection_t      *c  /**< */,
7826                           xcb_window_t           window  /**< */,
7827                           xcb_timestamp_t        time  /**< */,
7828                           xcb_cursor_t           cursor  /**< */,
7829                           xcb_input_device_id_t  deviceid  /**< */,
7830                           uint8_t                mode  /**< */,
7831                           uint8_t                paired_device_mode  /**< */,
7832                           uint8_t                owner_events  /**< */,
7833                           uint16_t               mask_len  /**< */,
7834                           const uint32_t        *mask  /**< */);
7835 
7836 /**
7837  *
7838  * @param c The connection
7839  * @return A cookie
7840  *
7841  * Delivers a request to the X server.
7842  *
7843  * This form can be used only if the request will cause
7844  * a reply to be generated. Any returned error will be
7845  * placed in the event queue.
7846  */
7847 xcb_input_xi_grab_device_cookie_t
7848 xcb_input_xi_grab_device_unchecked (xcb_connection_t      *c  /**< */,
7849                                     xcb_window_t           window  /**< */,
7850                                     xcb_timestamp_t        time  /**< */,
7851                                     xcb_cursor_t           cursor  /**< */,
7852                                     xcb_input_device_id_t  deviceid  /**< */,
7853                                     uint8_t                mode  /**< */,
7854                                     uint8_t                paired_device_mode  /**< */,
7855                                     uint8_t                owner_events  /**< */,
7856                                     uint16_t               mask_len  /**< */,
7857                                     const uint32_t        *mask  /**< */);
7858 
7859 /**
7860  * Return the reply
7861  * @param c      The connection
7862  * @param cookie The cookie
7863  * @param e      The xcb_generic_error_t supplied
7864  *
7865  * Returns the reply of the request asked by
7866  *
7867  * The parameter @p e supplied to this function must be NULL if
7868  * xcb_input_xi_grab_device_unchecked(). is used.
7869  * Otherwise, it stores the error if any.
7870  *
7871  * The returned value must be freed by the caller using free().
7872  */
7873 xcb_input_xi_grab_device_reply_t *
7874 xcb_input_xi_grab_device_reply (xcb_connection_t                   *c  /**< */,
7875                                 xcb_input_xi_grab_device_cookie_t   cookie  /**< */,
7876                                 xcb_generic_error_t               **e  /**< */);
7877 
7878 /**
7879  *
7880  * @param c The connection
7881  * @return A cookie
7882  *
7883  * Delivers a request to the X server.
7884  *
7885  * This form can be used only if the request will not cause
7886  * a reply to be generated. Any returned error will be
7887  * saved for handling by xcb_request_check().
7888  */
7889 xcb_void_cookie_t
7890 xcb_input_xi_ungrab_device_checked (xcb_connection_t      *c  /**< */,
7891                                     xcb_timestamp_t        time  /**< */,
7892                                     xcb_input_device_id_t  deviceid  /**< */);
7893 
7894 /**
7895  *
7896  * @param c The connection
7897  * @return A cookie
7898  *
7899  * Delivers a request to the X server.
7900  *
7901  */
7902 xcb_void_cookie_t
7903 xcb_input_xi_ungrab_device (xcb_connection_t      *c  /**< */,
7904                             xcb_timestamp_t        time  /**< */,
7905                             xcb_input_device_id_t  deviceid  /**< */);
7906 
7907 /**
7908  *
7909  * @param c The connection
7910  * @return A cookie
7911  *
7912  * Delivers a request to the X server.
7913  *
7914  * This form can be used only if the request will not cause
7915  * a reply to be generated. Any returned error will be
7916  * saved for handling by xcb_request_check().
7917  */
7918 xcb_void_cookie_t
7919 xcb_input_xi_allow_events_checked (xcb_connection_t      *c  /**< */,
7920                                    xcb_timestamp_t        time  /**< */,
7921                                    xcb_input_device_id_t  deviceid  /**< */,
7922                                    uint8_t                event_mode  /**< */,
7923                                    uint32_t               touchid  /**< */,
7924                                    xcb_window_t           grab_window  /**< */);
7925 
7926 /**
7927  *
7928  * @param c The connection
7929  * @return A cookie
7930  *
7931  * Delivers a request to the X server.
7932  *
7933  */
7934 xcb_void_cookie_t
7935 xcb_input_xi_allow_events (xcb_connection_t      *c  /**< */,
7936                            xcb_timestamp_t        time  /**< */,
7937                            xcb_input_device_id_t  deviceid  /**< */,
7938                            uint8_t                event_mode  /**< */,
7939                            uint32_t               touchid  /**< */,
7940                            xcb_window_t           grab_window  /**< */);
7941 
7942 /**
7943  * Get the next element of the iterator
7944  * @param i Pointer to a xcb_input_grab_modifier_info_iterator_t
7945  *
7946  * Get the next element in the iterator. The member rem is
7947  * decreased by one. The member data points to the next
7948  * element. The member index is increased by sizeof(xcb_input_grab_modifier_info_t)
7949  */
7950 void
7951 xcb_input_grab_modifier_info_next (xcb_input_grab_modifier_info_iterator_t *i  /**< */);
7952 
7953 /**
7954  * Return the iterator pointing to the last element
7955  * @param i An xcb_input_grab_modifier_info_iterator_t
7956  * @return  The iterator pointing to the last element
7957  *
7958  * Set the current element in the iterator to the last element.
7959  * The member rem is set to 0. The member data points to the
7960  * last element.
7961  */
7962 xcb_generic_iterator_t
7963 xcb_input_grab_modifier_info_end (xcb_input_grab_modifier_info_iterator_t i  /**< */);
7964 
7965 int
7966 xcb_input_xi_passive_grab_device_sizeof (const void  *_buffer  /**< */);
7967 
7968 /**
7969  *
7970  * @param c The connection
7971  * @return A cookie
7972  *
7973  * Delivers a request to the X server.
7974  *
7975  */
7976 xcb_input_xi_passive_grab_device_cookie_t
7977 xcb_input_xi_passive_grab_device (xcb_connection_t      *c  /**< */,
7978                                   xcb_timestamp_t        time  /**< */,
7979                                   xcb_window_t           grab_window  /**< */,
7980                                   xcb_cursor_t           cursor  /**< */,
7981                                   uint32_t               detail  /**< */,
7982                                   xcb_input_device_id_t  deviceid  /**< */,
7983                                   uint16_t               num_modifiers  /**< */,
7984                                   uint16_t               mask_len  /**< */,
7985                                   uint8_t                grab_type  /**< */,
7986                                   uint8_t                grab_mode  /**< */,
7987                                   uint8_t                paired_device_mode  /**< */,
7988                                   uint8_t                owner_events  /**< */,
7989                                   const uint32_t        *mask  /**< */,
7990                                   const uint32_t        *modifiers  /**< */);
7991 
7992 /**
7993  *
7994  * @param c The connection
7995  * @return A cookie
7996  *
7997  * Delivers a request to the X server.
7998  *
7999  * This form can be used only if the request will cause
8000  * a reply to be generated. Any returned error will be
8001  * placed in the event queue.
8002  */
8003 xcb_input_xi_passive_grab_device_cookie_t
8004 xcb_input_xi_passive_grab_device_unchecked (xcb_connection_t      *c  /**< */,
8005                                             xcb_timestamp_t        time  /**< */,
8006                                             xcb_window_t           grab_window  /**< */,
8007                                             xcb_cursor_t           cursor  /**< */,
8008                                             uint32_t               detail  /**< */,
8009                                             xcb_input_device_id_t  deviceid  /**< */,
8010                                             uint16_t               num_modifiers  /**< */,
8011                                             uint16_t               mask_len  /**< */,
8012                                             uint8_t                grab_type  /**< */,
8013                                             uint8_t                grab_mode  /**< */,
8014                                             uint8_t                paired_device_mode  /**< */,
8015                                             uint8_t                owner_events  /**< */,
8016                                             const uint32_t        *mask  /**< */,
8017                                             const uint32_t        *modifiers  /**< */);
8018 
8019 xcb_input_grab_modifier_info_t *
8020 xcb_input_xi_passive_grab_device_modifiers (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */);
8021 
8022 int
8023 xcb_input_xi_passive_grab_device_modifiers_length (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */);
8024 
8025 xcb_input_grab_modifier_info_iterator_t
8026 xcb_input_xi_passive_grab_device_modifiers_iterator (const xcb_input_xi_passive_grab_device_reply_t *R  /**< */);
8027 
8028 /**
8029  * Return the reply
8030  * @param c      The connection
8031  * @param cookie The cookie
8032  * @param e      The xcb_generic_error_t supplied
8033  *
8034  * Returns the reply of the request asked by
8035  *
8036  * The parameter @p e supplied to this function must be NULL if
8037  * xcb_input_xi_passive_grab_device_unchecked(). is used.
8038  * Otherwise, it stores the error if any.
8039  *
8040  * The returned value must be freed by the caller using free().
8041  */
8042 xcb_input_xi_passive_grab_device_reply_t *
8043 xcb_input_xi_passive_grab_device_reply (xcb_connection_t                           *c  /**< */,
8044                                         xcb_input_xi_passive_grab_device_cookie_t   cookie  /**< */,
8045                                         xcb_generic_error_t                       **e  /**< */);
8046 
8047 int
8048 xcb_input_xi_passive_ungrab_device_sizeof (const void  *_buffer  /**< */);
8049 
8050 /**
8051  *
8052  * @param c The connection
8053  * @return A cookie
8054  *
8055  * Delivers a request to the X server.
8056  *
8057  * This form can be used only if the request will not cause
8058  * a reply to be generated. Any returned error will be
8059  * saved for handling by xcb_request_check().
8060  */
8061 xcb_void_cookie_t
8062 xcb_input_xi_passive_ungrab_device_checked (xcb_connection_t      *c  /**< */,
8063                                             xcb_window_t           grab_window  /**< */,
8064                                             uint32_t               detail  /**< */,
8065                                             xcb_input_device_id_t  deviceid  /**< */,
8066                                             uint16_t               num_modifiers  /**< */,
8067                                             uint8_t                grab_type  /**< */,
8068                                             const uint32_t        *modifiers  /**< */);
8069 
8070 /**
8071  *
8072  * @param c The connection
8073  * @return A cookie
8074  *
8075  * Delivers a request to the X server.
8076  *
8077  */
8078 xcb_void_cookie_t
8079 xcb_input_xi_passive_ungrab_device (xcb_connection_t      *c  /**< */,
8080                                     xcb_window_t           grab_window  /**< */,
8081                                     uint32_t               detail  /**< */,
8082                                     xcb_input_device_id_t  deviceid  /**< */,
8083                                     uint16_t               num_modifiers  /**< */,
8084                                     uint8_t                grab_type  /**< */,
8085                                     const uint32_t        *modifiers  /**< */);
8086 
8087 int
8088 xcb_input_xi_list_properties_sizeof (const void  *_buffer  /**< */);
8089 
8090 /**
8091  *
8092  * @param c The connection
8093  * @return A cookie
8094  *
8095  * Delivers a request to the X server.
8096  *
8097  */
8098 xcb_input_xi_list_properties_cookie_t
8099 xcb_input_xi_list_properties (xcb_connection_t      *c  /**< */,
8100                               xcb_input_device_id_t  deviceid  /**< */);
8101 
8102 /**
8103  *
8104  * @param c The connection
8105  * @return A cookie
8106  *
8107  * Delivers a request to the X server.
8108  *
8109  * This form can be used only if the request will cause
8110  * a reply to be generated. Any returned error will be
8111  * placed in the event queue.
8112  */
8113 xcb_input_xi_list_properties_cookie_t
8114 xcb_input_xi_list_properties_unchecked (xcb_connection_t      *c  /**< */,
8115                                         xcb_input_device_id_t  deviceid  /**< */);
8116 
8117 xcb_atom_t *
8118 xcb_input_xi_list_properties_properties (const xcb_input_xi_list_properties_reply_t *R  /**< */);
8119 
8120 int
8121 xcb_input_xi_list_properties_properties_length (const xcb_input_xi_list_properties_reply_t *R  /**< */);
8122 
8123 xcb_generic_iterator_t
8124 xcb_input_xi_list_properties_properties_end (const xcb_input_xi_list_properties_reply_t *R  /**< */);
8125 
8126 /**
8127  * Return the reply
8128  * @param c      The connection
8129  * @param cookie The cookie
8130  * @param e      The xcb_generic_error_t supplied
8131  *
8132  * Returns the reply of the request asked by
8133  *
8134  * The parameter @p e supplied to this function must be NULL if
8135  * xcb_input_xi_list_properties_unchecked(). is used.
8136  * Otherwise, it stores the error if any.
8137  *
8138  * The returned value must be freed by the caller using free().
8139  */
8140 xcb_input_xi_list_properties_reply_t *
8141 xcb_input_xi_list_properties_reply (xcb_connection_t                       *c  /**< */,
8142                                     xcb_input_xi_list_properties_cookie_t   cookie  /**< */,
8143                                     xcb_generic_error_t                   **e  /**< */);
8144 
8145 uint8_t *
8146 xcb_input_xi_change_property_items_data_8 (const xcb_input_xi_change_property_items_t *S  /**< */);
8147 
8148 int
8149 xcb_input_xi_change_property_items_data_8_length (const xcb_input_xi_change_property_request_t *R  /**< */,
8150                                                   const xcb_input_xi_change_property_items_t *S /**< */);
8151 
8152 xcb_generic_iterator_t
8153 xcb_input_xi_change_property_items_data_8_end (const xcb_input_xi_change_property_request_t *R  /**< */,
8154                                                const xcb_input_xi_change_property_items_t *S /**< */);
8155 
8156 uint16_t *
8157 xcb_input_xi_change_property_items_data_16 (const xcb_input_xi_change_property_items_t *S  /**< */);
8158 
8159 int
8160 xcb_input_xi_change_property_items_data_16_length (const xcb_input_xi_change_property_request_t *R  /**< */,
8161                                                    const xcb_input_xi_change_property_items_t *S /**< */);
8162 
8163 xcb_generic_iterator_t
8164 xcb_input_xi_change_property_items_data_16_end (const xcb_input_xi_change_property_request_t *R  /**< */,
8165                                                 const xcb_input_xi_change_property_items_t *S /**< */);
8166 
8167 uint32_t *
8168 xcb_input_xi_change_property_items_data_32 (const xcb_input_xi_change_property_items_t *S  /**< */);
8169 
8170 int
8171 xcb_input_xi_change_property_items_data_32_length (const xcb_input_xi_change_property_request_t *R  /**< */,
8172                                                    const xcb_input_xi_change_property_items_t *S /**< */);
8173 
8174 xcb_generic_iterator_t
8175 xcb_input_xi_change_property_items_data_32_end (const xcb_input_xi_change_property_request_t *R  /**< */,
8176                                                 const xcb_input_xi_change_property_items_t *S /**< */);
8177 
8178 int
8179 xcb_input_xi_change_property_items_serialize (void                                       **_buffer  /**< */,
8180                                               uint32_t                                     num_items  /**< */,
8181                                               uint8_t                                      format  /**< */,
8182                                               const xcb_input_xi_change_property_items_t  *_aux  /**< */);
8183 
8184 int
8185 xcb_input_xi_change_property_items_unpack (const void                            *_buffer  /**< */,
8186                                            uint32_t                               num_items  /**< */,
8187                                            uint8_t                                format  /**< */,
8188                                            xcb_input_xi_change_property_items_t  *_aux  /**< */);
8189 
8190 int
8191 xcb_input_xi_change_property_items_sizeof (const void  *_buffer  /**< */,
8192                                            uint32_t     num_items  /**< */,
8193                                            uint8_t      format  /**< */);
8194 
8195 /**
8196  *
8197  * @param c The connection
8198  * @return A cookie
8199  *
8200  * Delivers a request to the X server.
8201  *
8202  * This form can be used only if the request will not cause
8203  * a reply to be generated. Any returned error will be
8204  * saved for handling by xcb_request_check().
8205  */
8206 xcb_void_cookie_t
8207 xcb_input_xi_change_property_checked (xcb_connection_t      *c  /**< */,
8208                                       xcb_input_device_id_t  deviceid  /**< */,
8209                                       uint8_t                mode  /**< */,
8210                                       uint8_t                format  /**< */,
8211                                       xcb_atom_t             property  /**< */,
8212                                       xcb_atom_t             type  /**< */,
8213                                       uint32_t               num_items  /**< */,
8214                                       const void            *items  /**< */);
8215 
8216 /**
8217  *
8218  * @param c The connection
8219  * @return A cookie
8220  *
8221  * Delivers a request to the X server.
8222  *
8223  */
8224 xcb_void_cookie_t
8225 xcb_input_xi_change_property (xcb_connection_t      *c  /**< */,
8226                               xcb_input_device_id_t  deviceid  /**< */,
8227                               uint8_t                mode  /**< */,
8228                               uint8_t                format  /**< */,
8229                               xcb_atom_t             property  /**< */,
8230                               xcb_atom_t             type  /**< */,
8231                               uint32_t               num_items  /**< */,
8232                               const void            *items  /**< */);
8233 
8234 /**
8235  *
8236  * @param c The connection
8237  * @return A cookie
8238  *
8239  * Delivers a request to the X server.
8240  *
8241  * This form can be used only if the request will not cause
8242  * a reply to be generated. Any returned error will be
8243  * saved for handling by xcb_request_check().
8244  */
8245 xcb_void_cookie_t
8246 xcb_input_xi_change_property_aux_checked (xcb_connection_t                           *c  /**< */,
8247                                           xcb_input_device_id_t                       deviceid  /**< */,
8248                                           uint8_t                                     mode  /**< */,
8249                                           uint8_t                                     format  /**< */,
8250                                           xcb_atom_t                                  property  /**< */,
8251                                           xcb_atom_t                                  type  /**< */,
8252                                           uint32_t                                    num_items  /**< */,
8253                                           const xcb_input_xi_change_property_items_t *items  /**< */);
8254 
8255 /**
8256  *
8257  * @param c The connection
8258  * @return A cookie
8259  *
8260  * Delivers a request to the X server.
8261  *
8262  */
8263 xcb_void_cookie_t
8264 xcb_input_xi_change_property_aux (xcb_connection_t                           *c  /**< */,
8265                                   xcb_input_device_id_t                       deviceid  /**< */,
8266                                   uint8_t                                     mode  /**< */,
8267                                   uint8_t                                     format  /**< */,
8268                                   xcb_atom_t                                  property  /**< */,
8269                                   xcb_atom_t                                  type  /**< */,
8270                                   uint32_t                                    num_items  /**< */,
8271                                   const xcb_input_xi_change_property_items_t *items  /**< */);
8272 
8273 /**
8274  *
8275  * @param c The connection
8276  * @return A cookie
8277  *
8278  * Delivers a request to the X server.
8279  *
8280  * This form can be used only if the request will not cause
8281  * a reply to be generated. Any returned error will be
8282  * saved for handling by xcb_request_check().
8283  */
8284 xcb_void_cookie_t
8285 xcb_input_xi_delete_property_checked (xcb_connection_t      *c  /**< */,
8286                                       xcb_input_device_id_t  deviceid  /**< */,
8287                                       xcb_atom_t             property  /**< */);
8288 
8289 /**
8290  *
8291  * @param c The connection
8292  * @return A cookie
8293  *
8294  * Delivers a request to the X server.
8295  *
8296  */
8297 xcb_void_cookie_t
8298 xcb_input_xi_delete_property (xcb_connection_t      *c  /**< */,
8299                               xcb_input_device_id_t  deviceid  /**< */,
8300                               xcb_atom_t             property  /**< */);
8301 
8302 uint8_t *
8303 xcb_input_xi_get_property_items_data_8 (const xcb_input_xi_get_property_items_t *S  /**< */);
8304 
8305 int
8306 xcb_input_xi_get_property_items_data_8_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
8307                                                const xcb_input_xi_get_property_items_t *S /**< */);
8308 
8309 xcb_generic_iterator_t
8310 xcb_input_xi_get_property_items_data_8_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
8311                                             const xcb_input_xi_get_property_items_t *S /**< */);
8312 
8313 uint16_t *
8314 xcb_input_xi_get_property_items_data_16 (const xcb_input_xi_get_property_items_t *S  /**< */);
8315 
8316 int
8317 xcb_input_xi_get_property_items_data_16_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
8318                                                 const xcb_input_xi_get_property_items_t *S /**< */);
8319 
8320 xcb_generic_iterator_t
8321 xcb_input_xi_get_property_items_data_16_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
8322                                              const xcb_input_xi_get_property_items_t *S /**< */);
8323 
8324 uint32_t *
8325 xcb_input_xi_get_property_items_data_32 (const xcb_input_xi_get_property_items_t *S  /**< */);
8326 
8327 int
8328 xcb_input_xi_get_property_items_data_32_length (const xcb_input_xi_get_property_reply_t *R  /**< */,
8329                                                 const xcb_input_xi_get_property_items_t *S /**< */);
8330 
8331 xcb_generic_iterator_t
8332 xcb_input_xi_get_property_items_data_32_end (const xcb_input_xi_get_property_reply_t *R  /**< */,
8333                                              const xcb_input_xi_get_property_items_t *S /**< */);
8334 
8335 int
8336 xcb_input_xi_get_property_items_serialize (void                                    **_buffer  /**< */,
8337                                            uint32_t                                  num_items  /**< */,
8338                                            uint8_t                                   format  /**< */,
8339                                            const xcb_input_xi_get_property_items_t  *_aux  /**< */);
8340 
8341 int
8342 xcb_input_xi_get_property_items_unpack (const void                         *_buffer  /**< */,
8343                                         uint32_t                            num_items  /**< */,
8344                                         uint8_t                             format  /**< */,
8345                                         xcb_input_xi_get_property_items_t  *_aux  /**< */);
8346 
8347 int
8348 xcb_input_xi_get_property_items_sizeof (const void  *_buffer  /**< */,
8349                                         uint32_t     num_items  /**< */,
8350                                         uint8_t      format  /**< */);
8351 
8352 /**
8353  *
8354  * @param c The connection
8355  * @return A cookie
8356  *
8357  * Delivers a request to the X server.
8358  *
8359  */
8360 xcb_input_xi_get_property_cookie_t
8361 xcb_input_xi_get_property (xcb_connection_t      *c  /**< */,
8362                            xcb_input_device_id_t  deviceid  /**< */,
8363                            uint8_t                _delete  /**< */,
8364                            xcb_atom_t             property  /**< */,
8365                            xcb_atom_t             type  /**< */,
8366                            uint32_t               offset  /**< */,
8367                            uint32_t               len  /**< */);
8368 
8369 /**
8370  *
8371  * @param c The connection
8372  * @return A cookie
8373  *
8374  * Delivers a request to the X server.
8375  *
8376  * This form can be used only if the request will cause
8377  * a reply to be generated. Any returned error will be
8378  * placed in the event queue.
8379  */
8380 xcb_input_xi_get_property_cookie_t
8381 xcb_input_xi_get_property_unchecked (xcb_connection_t      *c  /**< */,
8382                                      xcb_input_device_id_t  deviceid  /**< */,
8383                                      uint8_t                _delete  /**< */,
8384                                      xcb_atom_t             property  /**< */,
8385                                      xcb_atom_t             type  /**< */,
8386                                      uint32_t               offset  /**< */,
8387                                      uint32_t               len  /**< */);
8388 
8389 void *
8390 xcb_input_xi_get_property_items (const xcb_input_xi_get_property_reply_t *R  /**< */);
8391 
8392 /**
8393  * Return the reply
8394  * @param c      The connection
8395  * @param cookie The cookie
8396  * @param e      The xcb_generic_error_t supplied
8397  *
8398  * Returns the reply of the request asked by
8399  *
8400  * The parameter @p e supplied to this function must be NULL if
8401  * xcb_input_xi_get_property_unchecked(). is used.
8402  * Otherwise, it stores the error if any.
8403  *
8404  * The returned value must be freed by the caller using free().
8405  */
8406 xcb_input_xi_get_property_reply_t *
8407 xcb_input_xi_get_property_reply (xcb_connection_t                    *c  /**< */,
8408                                  xcb_input_xi_get_property_cookie_t   cookie  /**< */,
8409                                  xcb_generic_error_t                **e  /**< */);
8410 
8411 int
8412 xcb_input_xi_get_selected_events_sizeof (const void  *_buffer  /**< */);
8413 
8414 /**
8415  *
8416  * @param c The connection
8417  * @return A cookie
8418  *
8419  * Delivers a request to the X server.
8420  *
8421  */
8422 xcb_input_xi_get_selected_events_cookie_t
8423 xcb_input_xi_get_selected_events (xcb_connection_t *c  /**< */,
8424                                   xcb_window_t      window  /**< */);
8425 
8426 /**
8427  *
8428  * @param c The connection
8429  * @return A cookie
8430  *
8431  * Delivers a request to the X server.
8432  *
8433  * This form can be used only if the request will cause
8434  * a reply to be generated. Any returned error will be
8435  * placed in the event queue.
8436  */
8437 xcb_input_xi_get_selected_events_cookie_t
8438 xcb_input_xi_get_selected_events_unchecked (xcb_connection_t *c  /**< */,
8439                                             xcb_window_t      window  /**< */);
8440 
8441 int
8442 xcb_input_xi_get_selected_events_masks_length (const xcb_input_xi_get_selected_events_reply_t *R  /**< */);
8443 
8444 xcb_input_event_mask_iterator_t
8445 xcb_input_xi_get_selected_events_masks_iterator (const xcb_input_xi_get_selected_events_reply_t *R  /**< */);
8446 
8447 /**
8448  * Return the reply
8449  * @param c      The connection
8450  * @param cookie The cookie
8451  * @param e      The xcb_generic_error_t supplied
8452  *
8453  * Returns the reply of the request asked by
8454  *
8455  * The parameter @p e supplied to this function must be NULL if
8456  * xcb_input_xi_get_selected_events_unchecked(). is used.
8457  * Otherwise, it stores the error if any.
8458  *
8459  * The returned value must be freed by the caller using free().
8460  */
8461 xcb_input_xi_get_selected_events_reply_t *
8462 xcb_input_xi_get_selected_events_reply (xcb_connection_t                           *c  /**< */,
8463                                         xcb_input_xi_get_selected_events_cookie_t   cookie  /**< */,
8464                                         xcb_generic_error_t                       **e  /**< */);
8465 
8466 /**
8467  * Get the next element of the iterator
8468  * @param i Pointer to a xcb_input_barrier_release_pointer_info_iterator_t
8469  *
8470  * Get the next element in the iterator. The member rem is
8471  * decreased by one. The member data points to the next
8472  * element. The member index is increased by sizeof(xcb_input_barrier_release_pointer_info_t)
8473  */
8474 void
8475 xcb_input_barrier_release_pointer_info_next (xcb_input_barrier_release_pointer_info_iterator_t *i  /**< */);
8476 
8477 /**
8478  * Return the iterator pointing to the last element
8479  * @param i An xcb_input_barrier_release_pointer_info_iterator_t
8480  * @return  The iterator pointing to the last element
8481  *
8482  * Set the current element in the iterator to the last element.
8483  * The member rem is set to 0. The member data points to the
8484  * last element.
8485  */
8486 xcb_generic_iterator_t
8487 xcb_input_barrier_release_pointer_info_end (xcb_input_barrier_release_pointer_info_iterator_t i  /**< */);
8488 
8489 int
8490 xcb_input_xi_barrier_release_pointer_sizeof (const void  *_buffer  /**< */);
8491 
8492 /**
8493  *
8494  * @param c The connection
8495  * @return A cookie
8496  *
8497  * Delivers a request to the X server.
8498  *
8499  * This form can be used only if the request will not cause
8500  * a reply to be generated. Any returned error will be
8501  * saved for handling by xcb_request_check().
8502  */
8503 xcb_void_cookie_t
8504 xcb_input_xi_barrier_release_pointer_checked (xcb_connection_t                               *c  /**< */,
8505                                               uint32_t                                        num_barriers  /**< */,
8506                                               const xcb_input_barrier_release_pointer_info_t *barriers  /**< */);
8507 
8508 /**
8509  *
8510  * @param c The connection
8511  * @return A cookie
8512  *
8513  * Delivers a request to the X server.
8514  *
8515  */
8516 xcb_void_cookie_t
8517 xcb_input_xi_barrier_release_pointer (xcb_connection_t                               *c  /**< */,
8518                                       uint32_t                                        num_barriers  /**< */,
8519                                       const xcb_input_barrier_release_pointer_info_t *barriers  /**< */);
8520 
8521 int
8522 xcb_input_device_changed_sizeof (const void  *_buffer  /**< */);
8523 
8524 int
8525 xcb_input_key_press_sizeof (const void  *_buffer  /**< */);
8526 
8527 int
8528 xcb_input_key_release_sizeof (const void  *_buffer  /**< */);
8529 
8530 int
8531 xcb_input_button_press_sizeof (const void  *_buffer  /**< */);
8532 
8533 int
8534 xcb_input_button_release_sizeof (const void  *_buffer  /**< */);
8535 
8536 int
8537 xcb_input_motion_sizeof (const void  *_buffer  /**< */);
8538 
8539 int
8540 xcb_input_enter_sizeof (const void  *_buffer  /**< */);
8541 
8542 int
8543 xcb_input_leave_sizeof (const void  *_buffer  /**< */);
8544 
8545 int
8546 xcb_input_focus_in_sizeof (const void  *_buffer  /**< */);
8547 
8548 int
8549 xcb_input_focus_out_sizeof (const void  *_buffer  /**< */);
8550 
8551 /**
8552  * Get the next element of the iterator
8553  * @param i Pointer to a xcb_input_hierarchy_info_iterator_t
8554  *
8555  * Get the next element in the iterator. The member rem is
8556  * decreased by one. The member data points to the next
8557  * element. The member index is increased by sizeof(xcb_input_hierarchy_info_t)
8558  */
8559 void
8560 xcb_input_hierarchy_info_next (xcb_input_hierarchy_info_iterator_t *i  /**< */);
8561 
8562 /**
8563  * Return the iterator pointing to the last element
8564  * @param i An xcb_input_hierarchy_info_iterator_t
8565  * @return  The iterator pointing to the last element
8566  *
8567  * Set the current element in the iterator to the last element.
8568  * The member rem is set to 0. The member data points to the
8569  * last element.
8570  */
8571 xcb_generic_iterator_t
8572 xcb_input_hierarchy_info_end (xcb_input_hierarchy_info_iterator_t i  /**< */);
8573 
8574 int
8575 xcb_input_hierarchy_sizeof (const void  *_buffer  /**< */);
8576 
8577 int
8578 xcb_input_raw_key_press_sizeof (const void  *_buffer  /**< */);
8579 
8580 int
8581 xcb_input_raw_key_release_sizeof (const void  *_buffer  /**< */);
8582 
8583 int
8584 xcb_input_raw_button_press_sizeof (const void  *_buffer  /**< */);
8585 
8586 int
8587 xcb_input_raw_button_release_sizeof (const void  *_buffer  /**< */);
8588 
8589 int
8590 xcb_input_raw_motion_sizeof (const void  *_buffer  /**< */);
8591 
8592 int
8593 xcb_input_touch_begin_sizeof (const void  *_buffer  /**< */);
8594 
8595 int
8596 xcb_input_touch_update_sizeof (const void  *_buffer  /**< */);
8597 
8598 int
8599 xcb_input_touch_end_sizeof (const void  *_buffer  /**< */);
8600 
8601 int
8602 xcb_input_raw_touch_begin_sizeof (const void  *_buffer  /**< */);
8603 
8604 int
8605 xcb_input_raw_touch_update_sizeof (const void  *_buffer  /**< */);
8606 
8607 int
8608 xcb_input_raw_touch_end_sizeof (const void  *_buffer  /**< */);
8609 
8610 
8611 #ifdef __cplusplus
8612 }
8613 #endif
8614 
8615 #endif
8616 
8617 /**
8618  * @}
8619  */
8620