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

source code of include/xcb/xinput.h