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

source code of include/xcb/xinput.h