1/*
2 * This file generated automatically from xkb.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_xkb_API XCB xkb API
8 * @brief xkb XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XKB_H
13#define __XKB_H
14
15#include "xcb.h"
16#include "xproto.h"
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22#define XCB_XKB_MAJOR_VERSION 1
23#define XCB_XKB_MINOR_VERSION 0
24
25extern xcb_extension_t xcb_xkb_id;
26
27typedef enum xcb_xkb_const_t {
28 XCB_XKB_CONST_MAX_LEGAL_KEY_CODE = 255,
29 XCB_XKB_CONST_PER_KEY_BIT_ARRAY_SIZE = 32,
30 XCB_XKB_CONST_KEY_NAME_LENGTH = 4
31} xcb_xkb_const_t;
32
33typedef enum xcb_xkb_event_type_t {
34 XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY = 1,
35 XCB_XKB_EVENT_TYPE_MAP_NOTIFY = 2,
36 XCB_XKB_EVENT_TYPE_STATE_NOTIFY = 4,
37 XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY = 8,
38 XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY = 16,
39 XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY = 32,
40 XCB_XKB_EVENT_TYPE_NAMES_NOTIFY = 64,
41 XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY = 128,
42 XCB_XKB_EVENT_TYPE_BELL_NOTIFY = 256,
43 XCB_XKB_EVENT_TYPE_ACTION_MESSAGE = 512,
44 XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY = 1024,
45 XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY = 2048
46} xcb_xkb_event_type_t;
47
48typedef enum xcb_xkb_nkn_detail_t {
49 XCB_XKB_NKN_DETAIL_KEYCODES = 1,
50 XCB_XKB_NKN_DETAIL_GEOMETRY = 2,
51 XCB_XKB_NKN_DETAIL_DEVICE_ID = 4
52} xcb_xkb_nkn_detail_t;
53
54typedef enum xcb_xkb_axn_detail_t {
55 XCB_XKB_AXN_DETAIL_SK_PRESS = 1,
56 XCB_XKB_AXN_DETAIL_SK_ACCEPT = 2,
57 XCB_XKB_AXN_DETAIL_SK_REJECT = 4,
58 XCB_XKB_AXN_DETAIL_SK_RELEASE = 8,
59 XCB_XKB_AXN_DETAIL_BK_ACCEPT = 16,
60 XCB_XKB_AXN_DETAIL_BK_REJECT = 32,
61 XCB_XKB_AXN_DETAIL_AXK_WARNING = 64
62} xcb_xkb_axn_detail_t;
63
64typedef enum xcb_xkb_map_part_t {
65 XCB_XKB_MAP_PART_KEY_TYPES = 1,
66 XCB_XKB_MAP_PART_KEY_SYMS = 2,
67 XCB_XKB_MAP_PART_MODIFIER_MAP = 4,
68 XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS = 8,
69 XCB_XKB_MAP_PART_KEY_ACTIONS = 16,
70 XCB_XKB_MAP_PART_KEY_BEHAVIORS = 32,
71 XCB_XKB_MAP_PART_VIRTUAL_MODS = 64,
72 XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP = 128
73} xcb_xkb_map_part_t;
74
75typedef enum xcb_xkb_set_map_flags_t {
76 XCB_XKB_SET_MAP_FLAGS_RESIZE_TYPES = 1,
77 XCB_XKB_SET_MAP_FLAGS_RECOMPUTE_ACTIONS = 2
78} xcb_xkb_set_map_flags_t;
79
80typedef enum xcb_xkb_state_part_t {
81 XCB_XKB_STATE_PART_MODIFIER_STATE = 1,
82 XCB_XKB_STATE_PART_MODIFIER_BASE = 2,
83 XCB_XKB_STATE_PART_MODIFIER_LATCH = 4,
84 XCB_XKB_STATE_PART_MODIFIER_LOCK = 8,
85 XCB_XKB_STATE_PART_GROUP_STATE = 16,
86 XCB_XKB_STATE_PART_GROUP_BASE = 32,
87 XCB_XKB_STATE_PART_GROUP_LATCH = 64,
88 XCB_XKB_STATE_PART_GROUP_LOCK = 128,
89 XCB_XKB_STATE_PART_COMPAT_STATE = 256,
90 XCB_XKB_STATE_PART_GRAB_MODS = 512,
91 XCB_XKB_STATE_PART_COMPAT_GRAB_MODS = 1024,
92 XCB_XKB_STATE_PART_LOOKUP_MODS = 2048,
93 XCB_XKB_STATE_PART_COMPAT_LOOKUP_MODS = 4096,
94 XCB_XKB_STATE_PART_POINTER_BUTTONS = 8192
95} xcb_xkb_state_part_t;
96
97typedef enum xcb_xkb_bool_ctrl_t {
98 XCB_XKB_BOOL_CTRL_REPEAT_KEYS = 1,
99 XCB_XKB_BOOL_CTRL_SLOW_KEYS = 2,
100 XCB_XKB_BOOL_CTRL_BOUNCE_KEYS = 4,
101 XCB_XKB_BOOL_CTRL_STICKY_KEYS = 8,
102 XCB_XKB_BOOL_CTRL_MOUSE_KEYS = 16,
103 XCB_XKB_BOOL_CTRL_MOUSE_KEYS_ACCEL = 32,
104 XCB_XKB_BOOL_CTRL_ACCESS_X_KEYS = 64,
105 XCB_XKB_BOOL_CTRL_ACCESS_X_TIMEOUT_MASK = 128,
106 XCB_XKB_BOOL_CTRL_ACCESS_X_FEEDBACK_MASK = 256,
107 XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK = 512,
108 XCB_XKB_BOOL_CTRL_OVERLAY_1_MASK = 1024,
109 XCB_XKB_BOOL_CTRL_OVERLAY_2_MASK = 2048,
110 XCB_XKB_BOOL_CTRL_IGNORE_GROUP_LOCK_MASK = 4096
111} xcb_xkb_bool_ctrl_t;
112
113typedef enum xcb_xkb_control_t {
114 XCB_XKB_CONTROL_GROUPS_WRAP = 134217728,
115 XCB_XKB_CONTROL_INTERNAL_MODS = 268435456,
116 XCB_XKB_CONTROL_IGNORE_LOCK_MODS = 536870912,
117 XCB_XKB_CONTROL_PER_KEY_REPEAT = 1073741824,
118 XCB_XKB_CONTROL_CONTROLS_ENABLED = 2147483648
119} xcb_xkb_control_t;
120
121typedef enum xcb_xkb_ax_option_t {
122 XCB_XKB_AX_OPTION_SK_PRESS_FB = 1,
123 XCB_XKB_AX_OPTION_SK_ACCEPT_FB = 2,
124 XCB_XKB_AX_OPTION_FEATURE_FB = 4,
125 XCB_XKB_AX_OPTION_SLOW_WARN_FB = 8,
126 XCB_XKB_AX_OPTION_INDICATOR_FB = 16,
127 XCB_XKB_AX_OPTION_STICKY_KEYS_FB = 32,
128 XCB_XKB_AX_OPTION_TWO_KEYS = 64,
129 XCB_XKB_AX_OPTION_LATCH_TO_LOCK = 128,
130 XCB_XKB_AX_OPTION_SK_RELEASE_FB = 256,
131 XCB_XKB_AX_OPTION_SK_REJECT_FB = 512,
132 XCB_XKB_AX_OPTION_BK_REJECT_FB = 1024,
133 XCB_XKB_AX_OPTION_DUMB_BELL = 2048
134} xcb_xkb_ax_option_t;
135
136typedef uint16_t xcb_xkb_device_spec_t;
137
138/**
139 * @brief xcb_xkb_device_spec_iterator_t
140 **/
141typedef struct xcb_xkb_device_spec_iterator_t {
142 xcb_xkb_device_spec_t *data;
143 int rem;
144 int index;
145} xcb_xkb_device_spec_iterator_t;
146
147typedef enum xcb_xkb_led_class_result_t {
148 XCB_XKB_LED_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
149 XCB_XKB_LED_CLASS_RESULT_LED_FEEDBACK_CLASS = 4
150} xcb_xkb_led_class_result_t;
151
152typedef enum xcb_xkb_led_class_t {
153 XCB_XKB_LED_CLASS_KBD_FEEDBACK_CLASS = 0,
154 XCB_XKB_LED_CLASS_LED_FEEDBACK_CLASS = 4,
155 XCB_XKB_LED_CLASS_DFLT_XI_CLASS = 768,
156 XCB_XKB_LED_CLASS_ALL_XI_CLASSES = 1280
157} xcb_xkb_led_class_t;
158
159typedef uint16_t xcb_xkb_led_class_spec_t;
160
161/**
162 * @brief xcb_xkb_led_class_spec_iterator_t
163 **/
164typedef struct xcb_xkb_led_class_spec_iterator_t {
165 xcb_xkb_led_class_spec_t *data;
166 int rem;
167 int index;
168} xcb_xkb_led_class_spec_iterator_t;
169
170typedef enum xcb_xkb_bell_class_result_t {
171 XCB_XKB_BELL_CLASS_RESULT_KBD_FEEDBACK_CLASS = 0,
172 XCB_XKB_BELL_CLASS_RESULT_BELL_FEEDBACK_CLASS = 5
173} xcb_xkb_bell_class_result_t;
174
175typedef enum xcb_xkb_bell_class_t {
176 XCB_XKB_BELL_CLASS_KBD_FEEDBACK_CLASS = 0,
177 XCB_XKB_BELL_CLASS_BELL_FEEDBACK_CLASS = 5,
178 XCB_XKB_BELL_CLASS_DFLT_XI_CLASS = 768
179} xcb_xkb_bell_class_t;
180
181typedef uint16_t xcb_xkb_bell_class_spec_t;
182
183/**
184 * @brief xcb_xkb_bell_class_spec_iterator_t
185 **/
186typedef struct xcb_xkb_bell_class_spec_iterator_t {
187 xcb_xkb_bell_class_spec_t *data;
188 int rem;
189 int index;
190} xcb_xkb_bell_class_spec_iterator_t;
191
192typedef enum xcb_xkb_id_t {
193 XCB_XKB_ID_USE_CORE_KBD = 256,
194 XCB_XKB_ID_USE_CORE_PTR = 512,
195 XCB_XKB_ID_DFLT_XI_CLASS = 768,
196 XCB_XKB_ID_DFLT_XI_ID = 1024,
197 XCB_XKB_ID_ALL_XI_CLASS = 1280,
198 XCB_XKB_ID_ALL_XI_ID = 1536,
199 XCB_XKB_ID_XI_NONE = 65280
200} xcb_xkb_id_t;
201
202typedef uint16_t xcb_xkb_id_spec_t;
203
204/**
205 * @brief xcb_xkb_id_spec_iterator_t
206 **/
207typedef struct xcb_xkb_id_spec_iterator_t {
208 xcb_xkb_id_spec_t *data;
209 int rem;
210 int index;
211} xcb_xkb_id_spec_iterator_t;
212
213typedef enum xcb_xkb_group_t {
214 XCB_XKB_GROUP_1 = 0,
215 XCB_XKB_GROUP_2 = 1,
216 XCB_XKB_GROUP_3 = 2,
217 XCB_XKB_GROUP_4 = 3
218} xcb_xkb_group_t;
219
220typedef enum xcb_xkb_groups_t {
221 XCB_XKB_GROUPS_ANY = 254,
222 XCB_XKB_GROUPS_ALL = 255
223} xcb_xkb_groups_t;
224
225typedef enum xcb_xkb_set_of_group_t {
226 XCB_XKB_SET_OF_GROUP_GROUP_1 = 1,
227 XCB_XKB_SET_OF_GROUP_GROUP_2 = 2,
228 XCB_XKB_SET_OF_GROUP_GROUP_3 = 4,
229 XCB_XKB_SET_OF_GROUP_GROUP_4 = 8
230} xcb_xkb_set_of_group_t;
231
232typedef enum xcb_xkb_set_of_groups_t {
233 XCB_XKB_SET_OF_GROUPS_ANY = 128
234} xcb_xkb_set_of_groups_t;
235
236typedef enum xcb_xkb_groups_wrap_t {
237 XCB_XKB_GROUPS_WRAP_WRAP_INTO_RANGE = 0,
238 XCB_XKB_GROUPS_WRAP_CLAMP_INTO_RANGE = 64,
239 XCB_XKB_GROUPS_WRAP_REDIRECT_INTO_RANGE = 128
240} xcb_xkb_groups_wrap_t;
241
242typedef enum xcb_xkb_v_mods_high_t {
243 XCB_XKB_V_MODS_HIGH_15 = 128,
244 XCB_XKB_V_MODS_HIGH_14 = 64,
245 XCB_XKB_V_MODS_HIGH_13 = 32,
246 XCB_XKB_V_MODS_HIGH_12 = 16,
247 XCB_XKB_V_MODS_HIGH_11 = 8,
248 XCB_XKB_V_MODS_HIGH_10 = 4,
249 XCB_XKB_V_MODS_HIGH_9 = 2,
250 XCB_XKB_V_MODS_HIGH_8 = 1
251} xcb_xkb_v_mods_high_t;
252
253typedef enum xcb_xkb_v_mods_low_t {
254 XCB_XKB_V_MODS_LOW_7 = 128,
255 XCB_XKB_V_MODS_LOW_6 = 64,
256 XCB_XKB_V_MODS_LOW_5 = 32,
257 XCB_XKB_V_MODS_LOW_4 = 16,
258 XCB_XKB_V_MODS_LOW_3 = 8,
259 XCB_XKB_V_MODS_LOW_2 = 4,
260 XCB_XKB_V_MODS_LOW_1 = 2,
261 XCB_XKB_V_MODS_LOW_0 = 1
262} xcb_xkb_v_mods_low_t;
263
264typedef enum xcb_xkb_v_mod_t {
265 XCB_XKB_V_MOD_15 = 32768,
266 XCB_XKB_V_MOD_14 = 16384,
267 XCB_XKB_V_MOD_13 = 8192,
268 XCB_XKB_V_MOD_12 = 4096,
269 XCB_XKB_V_MOD_11 = 2048,
270 XCB_XKB_V_MOD_10 = 1024,
271 XCB_XKB_V_MOD_9 = 512,
272 XCB_XKB_V_MOD_8 = 256,
273 XCB_XKB_V_MOD_7 = 128,
274 XCB_XKB_V_MOD_6 = 64,
275 XCB_XKB_V_MOD_5 = 32,
276 XCB_XKB_V_MOD_4 = 16,
277 XCB_XKB_V_MOD_3 = 8,
278 XCB_XKB_V_MOD_2 = 4,
279 XCB_XKB_V_MOD_1 = 2,
280 XCB_XKB_V_MOD_0 = 1
281} xcb_xkb_v_mod_t;
282
283typedef enum xcb_xkb_explicit_t {
284 XCB_XKB_EXPLICIT_V_MOD_MAP = 128,
285 XCB_XKB_EXPLICIT_BEHAVIOR = 64,
286 XCB_XKB_EXPLICIT_AUTO_REPEAT = 32,
287 XCB_XKB_EXPLICIT_INTERPRET = 16,
288 XCB_XKB_EXPLICIT_KEY_TYPE_4 = 8,
289 XCB_XKB_EXPLICIT_KEY_TYPE_3 = 4,
290 XCB_XKB_EXPLICIT_KEY_TYPE_2 = 2,
291 XCB_XKB_EXPLICIT_KEY_TYPE_1 = 1
292} xcb_xkb_explicit_t;
293
294typedef enum xcb_xkb_sym_interpret_match_t {
295 XCB_XKB_SYM_INTERPRET_MATCH_NONE_OF = 0,
296 XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF_OR_NONE = 1,
297 XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF = 2,
298 XCB_XKB_SYM_INTERPRET_MATCH_ALL_OF = 3,
299 XCB_XKB_SYM_INTERPRET_MATCH_EXACTLY = 4
300} xcb_xkb_sym_interpret_match_t;
301
302typedef enum xcb_xkb_sym_interp_match_t {
303 XCB_XKB_SYM_INTERP_MATCH_LEVEL_ONE_ONLY = 128,
304 XCB_XKB_SYM_INTERP_MATCH_OP_MASK = 127
305} xcb_xkb_sym_interp_match_t;
306
307typedef enum xcb_xkb_im_flag_t {
308 XCB_XKB_IM_FLAG_NO_EXPLICIT = 128,
309 XCB_XKB_IM_FLAG_NO_AUTOMATIC = 64,
310 XCB_XKB_IM_FLAG_LED_DRIVES_KB = 32
311} xcb_xkb_im_flag_t;
312
313typedef enum xcb_xkb_im_mods_which_t {
314 XCB_XKB_IM_MODS_WHICH_USE_COMPAT = 16,
315 XCB_XKB_IM_MODS_WHICH_USE_EFFECTIVE = 8,
316 XCB_XKB_IM_MODS_WHICH_USE_LOCKED = 4,
317 XCB_XKB_IM_MODS_WHICH_USE_LATCHED = 2,
318 XCB_XKB_IM_MODS_WHICH_USE_BASE = 1
319} xcb_xkb_im_mods_which_t;
320
321typedef enum xcb_xkb_im_groups_which_t {
322 XCB_XKB_IM_GROUPS_WHICH_USE_COMPAT = 16,
323 XCB_XKB_IM_GROUPS_WHICH_USE_EFFECTIVE = 8,
324 XCB_XKB_IM_GROUPS_WHICH_USE_LOCKED = 4,
325 XCB_XKB_IM_GROUPS_WHICH_USE_LATCHED = 2,
326 XCB_XKB_IM_GROUPS_WHICH_USE_BASE = 1
327} xcb_xkb_im_groups_which_t;
328
329/**
330 * @brief xcb_xkb_indicator_map_t
331 **/
332typedef struct xcb_xkb_indicator_map_t {
333 uint8_t flags;
334 uint8_t whichGroups;
335 uint8_t groups;
336 uint8_t whichMods;
337 uint8_t mods;
338 uint8_t realMods;
339 uint16_t vmods;
340 uint32_t ctrls;
341} xcb_xkb_indicator_map_t;
342
343/**
344 * @brief xcb_xkb_indicator_map_iterator_t
345 **/
346typedef struct xcb_xkb_indicator_map_iterator_t {
347 xcb_xkb_indicator_map_t *data;
348 int rem;
349 int index;
350} xcb_xkb_indicator_map_iterator_t;
351
352typedef enum xcb_xkb_cm_detail_t {
353 XCB_XKB_CM_DETAIL_SYM_INTERP = 1,
354 XCB_XKB_CM_DETAIL_GROUP_COMPAT = 2
355} xcb_xkb_cm_detail_t;
356
357typedef enum xcb_xkb_name_detail_t {
358 XCB_XKB_NAME_DETAIL_KEYCODES = 1,
359 XCB_XKB_NAME_DETAIL_GEOMETRY = 2,
360 XCB_XKB_NAME_DETAIL_SYMBOLS = 4,
361 XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS = 8,
362 XCB_XKB_NAME_DETAIL_TYPES = 16,
363 XCB_XKB_NAME_DETAIL_COMPAT = 32,
364 XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES = 64,
365 XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES = 128,
366 XCB_XKB_NAME_DETAIL_INDICATOR_NAMES = 256,
367 XCB_XKB_NAME_DETAIL_KEY_NAMES = 512,
368 XCB_XKB_NAME_DETAIL_KEY_ALIASES = 1024,
369 XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES = 2048,
370 XCB_XKB_NAME_DETAIL_GROUP_NAMES = 4096,
371 XCB_XKB_NAME_DETAIL_RG_NAMES = 8192
372} xcb_xkb_name_detail_t;
373
374typedef enum xcb_xkb_gbn_detail_t {
375 XCB_XKB_GBN_DETAIL_TYPES = 1,
376 XCB_XKB_GBN_DETAIL_COMPAT_MAP = 2,
377 XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS = 4,
378 XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS = 8,
379 XCB_XKB_GBN_DETAIL_INDICATOR_MAPS = 16,
380 XCB_XKB_GBN_DETAIL_KEY_NAMES = 32,
381 XCB_XKB_GBN_DETAIL_GEOMETRY = 64,
382 XCB_XKB_GBN_DETAIL_OTHER_NAMES = 128
383} xcb_xkb_gbn_detail_t;
384
385typedef enum xcb_xkb_xi_feature_t {
386 XCB_XKB_XI_FEATURE_KEYBOARDS = 1,
387 XCB_XKB_XI_FEATURE_BUTTON_ACTIONS = 2,
388 XCB_XKB_XI_FEATURE_INDICATOR_NAMES = 4,
389 XCB_XKB_XI_FEATURE_INDICATOR_MAPS = 8,
390 XCB_XKB_XI_FEATURE_INDICATOR_STATE = 16
391} xcb_xkb_xi_feature_t;
392
393typedef enum xcb_xkb_per_client_flag_t {
394 XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT = 1,
395 XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE = 2,
396 XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS = 4,
397 XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED = 8,
398 XCB_XKB_PER_CLIENT_FLAG_SEND_EVENT_USES_XKB_STATE = 16
399} xcb_xkb_per_client_flag_t;
400
401/**
402 * @brief xcb_xkb_mod_def_t
403 **/
404typedef struct xcb_xkb_mod_def_t {
405 uint8_t mask;
406 uint8_t realMods;
407 uint16_t vmods;
408} xcb_xkb_mod_def_t;
409
410/**
411 * @brief xcb_xkb_mod_def_iterator_t
412 **/
413typedef struct xcb_xkb_mod_def_iterator_t {
414 xcb_xkb_mod_def_t *data;
415 int rem;
416 int index;
417} xcb_xkb_mod_def_iterator_t;
418
419/**
420 * @brief xcb_xkb_key_name_t
421 **/
422typedef struct xcb_xkb_key_name_t {
423 char name[4];
424} xcb_xkb_key_name_t;
425
426/**
427 * @brief xcb_xkb_key_name_iterator_t
428 **/
429typedef struct xcb_xkb_key_name_iterator_t {
430 xcb_xkb_key_name_t *data;
431 int rem;
432 int index;
433} xcb_xkb_key_name_iterator_t;
434
435/**
436 * @brief xcb_xkb_key_alias_t
437 **/
438typedef struct xcb_xkb_key_alias_t {
439 char real[4];
440 char alias[4];
441} xcb_xkb_key_alias_t;
442
443/**
444 * @brief xcb_xkb_key_alias_iterator_t
445 **/
446typedef struct xcb_xkb_key_alias_iterator_t {
447 xcb_xkb_key_alias_t *data;
448 int rem;
449 int index;
450} xcb_xkb_key_alias_iterator_t;
451
452/**
453 * @brief xcb_xkb_counted_string_16_t
454 **/
455typedef struct xcb_xkb_counted_string_16_t {
456 uint16_t length;
457} xcb_xkb_counted_string_16_t;
458
459/**
460 * @brief xcb_xkb_counted_string_16_iterator_t
461 **/
462typedef struct xcb_xkb_counted_string_16_iterator_t {
463 xcb_xkb_counted_string_16_t *data;
464 int rem;
465 int index;
466} xcb_xkb_counted_string_16_iterator_t;
467
468/**
469 * @brief xcb_xkb_kt_map_entry_t
470 **/
471typedef struct xcb_xkb_kt_map_entry_t {
472 uint8_t active;
473 uint8_t mods_mask;
474 uint8_t level;
475 uint8_t mods_mods;
476 uint16_t mods_vmods;
477 uint8_t pad0[2];
478} xcb_xkb_kt_map_entry_t;
479
480/**
481 * @brief xcb_xkb_kt_map_entry_iterator_t
482 **/
483typedef struct xcb_xkb_kt_map_entry_iterator_t {
484 xcb_xkb_kt_map_entry_t *data;
485 int rem;
486 int index;
487} xcb_xkb_kt_map_entry_iterator_t;
488
489/**
490 * @brief xcb_xkb_key_type_t
491 **/
492typedef struct xcb_xkb_key_type_t {
493 uint8_t mods_mask;
494 uint8_t mods_mods;
495 uint16_t mods_vmods;
496 uint8_t numLevels;
497 uint8_t nMapEntries;
498 uint8_t hasPreserve;
499 uint8_t pad0;
500} xcb_xkb_key_type_t;
501
502/**
503 * @brief xcb_xkb_key_type_iterator_t
504 **/
505typedef struct xcb_xkb_key_type_iterator_t {
506 xcb_xkb_key_type_t *data;
507 int rem;
508 int index;
509} xcb_xkb_key_type_iterator_t;
510
511/**
512 * @brief xcb_xkb_key_sym_map_t
513 **/
514typedef struct xcb_xkb_key_sym_map_t {
515 uint8_t kt_index[4];
516 uint8_t groupInfo;
517 uint8_t width;
518 uint16_t nSyms;
519} xcb_xkb_key_sym_map_t;
520
521/**
522 * @brief xcb_xkb_key_sym_map_iterator_t
523 **/
524typedef struct xcb_xkb_key_sym_map_iterator_t {
525 xcb_xkb_key_sym_map_t *data;
526 int rem;
527 int index;
528} xcb_xkb_key_sym_map_iterator_t;
529
530/**
531 * @brief xcb_xkb_common_behavior_t
532 **/
533typedef struct xcb_xkb_common_behavior_t {
534 uint8_t type;
535 uint8_t data;
536} xcb_xkb_common_behavior_t;
537
538/**
539 * @brief xcb_xkb_common_behavior_iterator_t
540 **/
541typedef struct xcb_xkb_common_behavior_iterator_t {
542 xcb_xkb_common_behavior_t *data;
543 int rem;
544 int index;
545} xcb_xkb_common_behavior_iterator_t;
546
547/**
548 * @brief xcb_xkb_default_behavior_t
549 **/
550typedef struct xcb_xkb_default_behavior_t {
551 uint8_t type;
552 uint8_t pad0;
553} xcb_xkb_default_behavior_t;
554
555/**
556 * @brief xcb_xkb_default_behavior_iterator_t
557 **/
558typedef struct xcb_xkb_default_behavior_iterator_t {
559 xcb_xkb_default_behavior_t *data;
560 int rem;
561 int index;
562} xcb_xkb_default_behavior_iterator_t;
563
564/**
565 * @brief xcb_xkb_lock_behavior_t
566 **/
567typedef struct xcb_xkb_lock_behavior_t {
568 uint8_t type;
569 uint8_t pad0;
570} xcb_xkb_lock_behavior_t;
571
572/**
573 * @brief xcb_xkb_lock_behavior_iterator_t
574 **/
575typedef struct xcb_xkb_lock_behavior_iterator_t {
576 xcb_xkb_lock_behavior_t *data;
577 int rem;
578 int index;
579} xcb_xkb_lock_behavior_iterator_t;
580
581/**
582 * @brief xcb_xkb_radio_group_behavior_t
583 **/
584typedef struct xcb_xkb_radio_group_behavior_t {
585 uint8_t type;
586 uint8_t group;
587} xcb_xkb_radio_group_behavior_t;
588
589/**
590 * @brief xcb_xkb_radio_group_behavior_iterator_t
591 **/
592typedef struct xcb_xkb_radio_group_behavior_iterator_t {
593 xcb_xkb_radio_group_behavior_t *data;
594 int rem;
595 int index;
596} xcb_xkb_radio_group_behavior_iterator_t;
597
598/**
599 * @brief xcb_xkb_overlay_behavior_t
600 **/
601typedef struct xcb_xkb_overlay_behavior_t {
602 uint8_t type;
603 xcb_keycode_t key;
604} xcb_xkb_overlay_behavior_t;
605
606/**
607 * @brief xcb_xkb_overlay_behavior_iterator_t
608 **/
609typedef struct xcb_xkb_overlay_behavior_iterator_t {
610 xcb_xkb_overlay_behavior_t *data;
611 int rem;
612 int index;
613} xcb_xkb_overlay_behavior_iterator_t;
614
615/**
616 * @brief xcb_xkb_permament_lock_behavior_t
617 **/
618typedef struct xcb_xkb_permament_lock_behavior_t {
619 uint8_t type;
620 uint8_t pad0;
621} xcb_xkb_permament_lock_behavior_t;
622
623/**
624 * @brief xcb_xkb_permament_lock_behavior_iterator_t
625 **/
626typedef struct xcb_xkb_permament_lock_behavior_iterator_t {
627 xcb_xkb_permament_lock_behavior_t *data;
628 int rem;
629 int index;
630} xcb_xkb_permament_lock_behavior_iterator_t;
631
632/**
633 * @brief xcb_xkb_permament_radio_group_behavior_t
634 **/
635typedef struct xcb_xkb_permament_radio_group_behavior_t {
636 uint8_t type;
637 uint8_t group;
638} xcb_xkb_permament_radio_group_behavior_t;
639
640/**
641 * @brief xcb_xkb_permament_radio_group_behavior_iterator_t
642 **/
643typedef struct xcb_xkb_permament_radio_group_behavior_iterator_t {
644 xcb_xkb_permament_radio_group_behavior_t *data;
645 int rem;
646 int index;
647} xcb_xkb_permament_radio_group_behavior_iterator_t;
648
649/**
650 * @brief xcb_xkb_permament_overlay_behavior_t
651 **/
652typedef struct xcb_xkb_permament_overlay_behavior_t {
653 uint8_t type;
654 xcb_keycode_t key;
655} xcb_xkb_permament_overlay_behavior_t;
656
657/**
658 * @brief xcb_xkb_permament_overlay_behavior_iterator_t
659 **/
660typedef struct xcb_xkb_permament_overlay_behavior_iterator_t {
661 xcb_xkb_permament_overlay_behavior_t *data;
662 int rem;
663 int index;
664} xcb_xkb_permament_overlay_behavior_iterator_t;
665
666/**
667 * @brief xcb_xkb_behavior_t
668 **/
669typedef union xcb_xkb_behavior_t {
670 xcb_xkb_common_behavior_t common;
671 xcb_xkb_default_behavior_t _default;
672 xcb_xkb_lock_behavior_t lock;
673 xcb_xkb_radio_group_behavior_t radioGroup;
674 xcb_xkb_overlay_behavior_t overlay1;
675 xcb_xkb_overlay_behavior_t overlay2;
676 xcb_xkb_permament_lock_behavior_t permamentLock;
677 xcb_xkb_permament_radio_group_behavior_t permamentRadioGroup;
678 xcb_xkb_permament_overlay_behavior_t permamentOverlay1;
679 xcb_xkb_permament_overlay_behavior_t permamentOverlay2;
680 uint8_t type;
681} xcb_xkb_behavior_t;
682
683/**
684 * @brief xcb_xkb_behavior_iterator_t
685 **/
686typedef struct xcb_xkb_behavior_iterator_t {
687 xcb_xkb_behavior_t *data;
688 int rem;
689 int index;
690} xcb_xkb_behavior_iterator_t;
691
692typedef enum xcb_xkb_behavior_type_t {
693 XCB_XKB_BEHAVIOR_TYPE_DEFAULT = 0,
694 XCB_XKB_BEHAVIOR_TYPE_LOCK = 1,
695 XCB_XKB_BEHAVIOR_TYPE_RADIO_GROUP = 2,
696 XCB_XKB_BEHAVIOR_TYPE_OVERLAY_1 = 3,
697 XCB_XKB_BEHAVIOR_TYPE_OVERLAY_2 = 4,
698 XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_LOCK = 129,
699 XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_RADIO_GROUP = 130,
700 XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_1 = 131,
701 XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_2 = 132
702} xcb_xkb_behavior_type_t;
703
704/**
705 * @brief xcb_xkb_set_behavior_t
706 **/
707typedef struct xcb_xkb_set_behavior_t {
708 xcb_keycode_t keycode;
709 xcb_xkb_behavior_t behavior;
710 uint8_t pad0;
711} xcb_xkb_set_behavior_t;
712
713/**
714 * @brief xcb_xkb_set_behavior_iterator_t
715 **/
716typedef struct xcb_xkb_set_behavior_iterator_t {
717 xcb_xkb_set_behavior_t *data;
718 int rem;
719 int index;
720} xcb_xkb_set_behavior_iterator_t;
721
722/**
723 * @brief xcb_xkb_set_explicit_t
724 **/
725typedef struct xcb_xkb_set_explicit_t {
726 xcb_keycode_t keycode;
727 uint8_t explicit;
728} xcb_xkb_set_explicit_t;
729
730/**
731 * @brief xcb_xkb_set_explicit_iterator_t
732 **/
733typedef struct xcb_xkb_set_explicit_iterator_t {
734 xcb_xkb_set_explicit_t *data;
735 int rem;
736 int index;
737} xcb_xkb_set_explicit_iterator_t;
738
739/**
740 * @brief xcb_xkb_key_mod_map_t
741 **/
742typedef struct xcb_xkb_key_mod_map_t {
743 xcb_keycode_t keycode;
744 uint8_t mods;
745} xcb_xkb_key_mod_map_t;
746
747/**
748 * @brief xcb_xkb_key_mod_map_iterator_t
749 **/
750typedef struct xcb_xkb_key_mod_map_iterator_t {
751 xcb_xkb_key_mod_map_t *data;
752 int rem;
753 int index;
754} xcb_xkb_key_mod_map_iterator_t;
755
756/**
757 * @brief xcb_xkb_key_v_mod_map_t
758 **/
759typedef struct xcb_xkb_key_v_mod_map_t {
760 xcb_keycode_t keycode;
761 uint8_t pad0;
762 uint16_t vmods;
763} xcb_xkb_key_v_mod_map_t;
764
765/**
766 * @brief xcb_xkb_key_v_mod_map_iterator_t
767 **/
768typedef struct xcb_xkb_key_v_mod_map_iterator_t {
769 xcb_xkb_key_v_mod_map_t *data;
770 int rem;
771 int index;
772} xcb_xkb_key_v_mod_map_iterator_t;
773
774/**
775 * @brief xcb_xkb_kt_set_map_entry_t
776 **/
777typedef struct xcb_xkb_kt_set_map_entry_t {
778 uint8_t level;
779 uint8_t realMods;
780 uint16_t virtualMods;
781} xcb_xkb_kt_set_map_entry_t;
782
783/**
784 * @brief xcb_xkb_kt_set_map_entry_iterator_t
785 **/
786typedef struct xcb_xkb_kt_set_map_entry_iterator_t {
787 xcb_xkb_kt_set_map_entry_t *data;
788 int rem;
789 int index;
790} xcb_xkb_kt_set_map_entry_iterator_t;
791
792/**
793 * @brief xcb_xkb_set_key_type_t
794 **/
795typedef struct xcb_xkb_set_key_type_t {
796 uint8_t mask;
797 uint8_t realMods;
798 uint16_t virtualMods;
799 uint8_t numLevels;
800 uint8_t nMapEntries;
801 uint8_t preserve;
802 uint8_t pad0;
803} xcb_xkb_set_key_type_t;
804
805/**
806 * @brief xcb_xkb_set_key_type_iterator_t
807 **/
808typedef struct xcb_xkb_set_key_type_iterator_t {
809 xcb_xkb_set_key_type_t *data;
810 int rem;
811 int index;
812} xcb_xkb_set_key_type_iterator_t;
813
814typedef char xcb_xkb_string8_t;
815
816/**
817 * @brief xcb_xkb_string8_iterator_t
818 **/
819typedef struct xcb_xkb_string8_iterator_t {
820 xcb_xkb_string8_t *data;
821 int rem;
822 int index;
823} xcb_xkb_string8_iterator_t;
824
825/**
826 * @brief xcb_xkb_outline_t
827 **/
828typedef struct xcb_xkb_outline_t {
829 uint8_t nPoints;
830 uint8_t cornerRadius;
831 uint8_t pad0[2];
832} xcb_xkb_outline_t;
833
834/**
835 * @brief xcb_xkb_outline_iterator_t
836 **/
837typedef struct xcb_xkb_outline_iterator_t {
838 xcb_xkb_outline_t *data;
839 int rem;
840 int index;
841} xcb_xkb_outline_iterator_t;
842
843/**
844 * @brief xcb_xkb_shape_t
845 **/
846typedef struct xcb_xkb_shape_t {
847 xcb_atom_t name;
848 uint8_t nOutlines;
849 uint8_t primaryNdx;
850 uint8_t approxNdx;
851 uint8_t pad0;
852} xcb_xkb_shape_t;
853
854/**
855 * @brief xcb_xkb_shape_iterator_t
856 **/
857typedef struct xcb_xkb_shape_iterator_t {
858 xcb_xkb_shape_t *data;
859 int rem;
860 int index;
861} xcb_xkb_shape_iterator_t;
862
863/**
864 * @brief xcb_xkb_key_t
865 **/
866typedef struct xcb_xkb_key_t {
867 xcb_xkb_string8_t name[4];
868 int16_t gap;
869 uint8_t shapeNdx;
870 uint8_t colorNdx;
871} xcb_xkb_key_t;
872
873/**
874 * @brief xcb_xkb_key_iterator_t
875 **/
876typedef struct xcb_xkb_key_iterator_t {
877 xcb_xkb_key_t *data;
878 int rem;
879 int index;
880} xcb_xkb_key_iterator_t;
881
882/**
883 * @brief xcb_xkb_overlay_key_t
884 **/
885typedef struct xcb_xkb_overlay_key_t {
886 xcb_xkb_string8_t over[4];
887 xcb_xkb_string8_t under[4];
888} xcb_xkb_overlay_key_t;
889
890/**
891 * @brief xcb_xkb_overlay_key_iterator_t
892 **/
893typedef struct xcb_xkb_overlay_key_iterator_t {
894 xcb_xkb_overlay_key_t *data;
895 int rem;
896 int index;
897} xcb_xkb_overlay_key_iterator_t;
898
899/**
900 * @brief xcb_xkb_overlay_row_t
901 **/
902typedef struct xcb_xkb_overlay_row_t {
903 uint8_t rowUnder;
904 uint8_t nKeys;
905 uint8_t pad0[2];
906} xcb_xkb_overlay_row_t;
907
908/**
909 * @brief xcb_xkb_overlay_row_iterator_t
910 **/
911typedef struct xcb_xkb_overlay_row_iterator_t {
912 xcb_xkb_overlay_row_t *data;
913 int rem;
914 int index;
915} xcb_xkb_overlay_row_iterator_t;
916
917/**
918 * @brief xcb_xkb_overlay_t
919 **/
920typedef struct xcb_xkb_overlay_t {
921 xcb_atom_t name;
922 uint8_t nRows;
923 uint8_t pad0[3];
924} xcb_xkb_overlay_t;
925
926/**
927 * @brief xcb_xkb_overlay_iterator_t
928 **/
929typedef struct xcb_xkb_overlay_iterator_t {
930 xcb_xkb_overlay_t *data;
931 int rem;
932 int index;
933} xcb_xkb_overlay_iterator_t;
934
935/**
936 * @brief xcb_xkb_row_t
937 **/
938typedef struct xcb_xkb_row_t {
939 int16_t top;
940 int16_t left;
941 uint8_t nKeys;
942 uint8_t vertical;
943 uint8_t pad0[2];
944} xcb_xkb_row_t;
945
946/**
947 * @brief xcb_xkb_row_iterator_t
948 **/
949typedef struct xcb_xkb_row_iterator_t {
950 xcb_xkb_row_t *data;
951 int rem;
952 int index;
953} xcb_xkb_row_iterator_t;
954
955typedef enum xcb_xkb_doodad_type_t {
956 XCB_XKB_DOODAD_TYPE_OUTLINE = 1,
957 XCB_XKB_DOODAD_TYPE_SOLID = 2,
958 XCB_XKB_DOODAD_TYPE_TEXT = 3,
959 XCB_XKB_DOODAD_TYPE_INDICATOR = 4,
960 = 5
961} xcb_xkb_doodad_type_t;
962
963/**
964 * @brief xcb_xkb_listing_t
965 **/
966typedef struct xcb_xkb_listing_t {
967 uint16_t flags;
968 uint16_t length;
969} xcb_xkb_listing_t;
970
971/**
972 * @brief xcb_xkb_listing_iterator_t
973 **/
974typedef struct xcb_xkb_listing_iterator_t {
975 xcb_xkb_listing_t *data;
976 int rem;
977 int index;
978} xcb_xkb_listing_iterator_t;
979
980/**
981 * @brief xcb_xkb_device_led_info_t
982 **/
983typedef struct xcb_xkb_device_led_info_t {
984 xcb_xkb_led_class_spec_t ledClass;
985 xcb_xkb_id_spec_t ledID;
986 uint32_t namesPresent;
987 uint32_t mapsPresent;
988 uint32_t physIndicators;
989 uint32_t state;
990} xcb_xkb_device_led_info_t;
991
992/**
993 * @brief xcb_xkb_device_led_info_iterator_t
994 **/
995typedef struct xcb_xkb_device_led_info_iterator_t {
996 xcb_xkb_device_led_info_t *data;
997 int rem;
998 int index;
999} xcb_xkb_device_led_info_iterator_t;
1000
1001typedef enum xcb_xkb_error_t {
1002 XCB_XKB_ERROR_BAD_DEVICE = 255,
1003 XCB_XKB_ERROR_BAD_CLASS = 254,
1004 XCB_XKB_ERROR_BAD_ID = 253
1005} xcb_xkb_error_t;
1006
1007/** Opcode for xcb_xkb_keyboard. */
1008#define XCB_XKB_KEYBOARD 0
1009
1010/**
1011 * @brief xcb_xkb_keyboard_error_t
1012 **/
1013typedef struct xcb_xkb_keyboard_error_t {
1014 uint8_t response_type;
1015 uint8_t error_code;
1016 uint16_t sequence;
1017 uint32_t value;
1018 uint16_t minorOpcode;
1019 uint8_t majorOpcode;
1020 uint8_t pad0[21];
1021} xcb_xkb_keyboard_error_t;
1022
1023typedef enum xcb_xkb_sa_t {
1024 XCB_XKB_SA_CLEAR_LOCKS = 1,
1025 XCB_XKB_SA_LATCH_TO_LOCK = 2,
1026 XCB_XKB_SA_USE_MOD_MAP_MODS = 4,
1027 XCB_XKB_SA_GROUP_ABSOLUTE = 4
1028} xcb_xkb_sa_t;
1029
1030typedef enum xcb_xkb_sa_type_t {
1031 XCB_XKB_SA_TYPE_NO_ACTION = 0,
1032 XCB_XKB_SA_TYPE_SET_MODS = 1,
1033 XCB_XKB_SA_TYPE_LATCH_MODS = 2,
1034 XCB_XKB_SA_TYPE_LOCK_MODS = 3,
1035 XCB_XKB_SA_TYPE_SET_GROUP = 4,
1036 XCB_XKB_SA_TYPE_LATCH_GROUP = 5,
1037 XCB_XKB_SA_TYPE_LOCK_GROUP = 6,
1038 XCB_XKB_SA_TYPE_MOVE_PTR = 7,
1039 XCB_XKB_SA_TYPE_PTR_BTN = 8,
1040 XCB_XKB_SA_TYPE_LOCK_PTR_BTN = 9,
1041 XCB_XKB_SA_TYPE_SET_PTR_DFLT = 10,
1042 XCB_XKB_SA_TYPE_ISO_LOCK = 11,
1043 XCB_XKB_SA_TYPE_TERMINATE = 12,
1044 XCB_XKB_SA_TYPE_SWITCH_SCREEN = 13,
1045 XCB_XKB_SA_TYPE_SET_CONTROLS = 14,
1046 XCB_XKB_SA_TYPE_LOCK_CONTROLS = 15,
1047 XCB_XKB_SA_TYPE_ACTION_MESSAGE = 16,
1048 XCB_XKB_SA_TYPE_REDIRECT_KEY = 17,
1049 XCB_XKB_SA_TYPE_DEVICE_BTN = 18,
1050 XCB_XKB_SA_TYPE_LOCK_DEVICE_BTN = 19,
1051 XCB_XKB_SA_TYPE_DEVICE_VALUATOR = 20
1052} xcb_xkb_sa_type_t;
1053
1054/**
1055 * @brief xcb_xkb_sa_no_action_t
1056 **/
1057typedef struct xcb_xkb_sa_no_action_t {
1058 uint8_t type;
1059 uint8_t pad0[7];
1060} xcb_xkb_sa_no_action_t;
1061
1062/**
1063 * @brief xcb_xkb_sa_no_action_iterator_t
1064 **/
1065typedef struct xcb_xkb_sa_no_action_iterator_t {
1066 xcb_xkb_sa_no_action_t *data;
1067 int rem;
1068 int index;
1069} xcb_xkb_sa_no_action_iterator_t;
1070
1071/**
1072 * @brief xcb_xkb_sa_set_mods_t
1073 **/
1074typedef struct xcb_xkb_sa_set_mods_t {
1075 uint8_t type;
1076 uint8_t flags;
1077 uint8_t mask;
1078 uint8_t realMods;
1079 uint8_t vmodsHigh;
1080 uint8_t vmodsLow;
1081 uint8_t pad0[2];
1082} xcb_xkb_sa_set_mods_t;
1083
1084/**
1085 * @brief xcb_xkb_sa_set_mods_iterator_t
1086 **/
1087typedef struct xcb_xkb_sa_set_mods_iterator_t {
1088 xcb_xkb_sa_set_mods_t *data;
1089 int rem;
1090 int index;
1091} xcb_xkb_sa_set_mods_iterator_t;
1092
1093/**
1094 * @brief xcb_xkb_sa_latch_mods_t
1095 **/
1096typedef struct xcb_xkb_sa_latch_mods_t {
1097 uint8_t type;
1098 uint8_t flags;
1099 uint8_t mask;
1100 uint8_t realMods;
1101 uint8_t vmodsHigh;
1102 uint8_t vmodsLow;
1103 uint8_t pad0[2];
1104} xcb_xkb_sa_latch_mods_t;
1105
1106/**
1107 * @brief xcb_xkb_sa_latch_mods_iterator_t
1108 **/
1109typedef struct xcb_xkb_sa_latch_mods_iterator_t {
1110 xcb_xkb_sa_latch_mods_t *data;
1111 int rem;
1112 int index;
1113} xcb_xkb_sa_latch_mods_iterator_t;
1114
1115/**
1116 * @brief xcb_xkb_sa_lock_mods_t
1117 **/
1118typedef struct xcb_xkb_sa_lock_mods_t {
1119 uint8_t type;
1120 uint8_t flags;
1121 uint8_t mask;
1122 uint8_t realMods;
1123 uint8_t vmodsHigh;
1124 uint8_t vmodsLow;
1125 uint8_t pad0[2];
1126} xcb_xkb_sa_lock_mods_t;
1127
1128/**
1129 * @brief xcb_xkb_sa_lock_mods_iterator_t
1130 **/
1131typedef struct xcb_xkb_sa_lock_mods_iterator_t {
1132 xcb_xkb_sa_lock_mods_t *data;
1133 int rem;
1134 int index;
1135} xcb_xkb_sa_lock_mods_iterator_t;
1136
1137/**
1138 * @brief xcb_xkb_sa_set_group_t
1139 **/
1140typedef struct xcb_xkb_sa_set_group_t {
1141 uint8_t type;
1142 uint8_t flags;
1143 int8_t group;
1144 uint8_t pad0[5];
1145} xcb_xkb_sa_set_group_t;
1146
1147/**
1148 * @brief xcb_xkb_sa_set_group_iterator_t
1149 **/
1150typedef struct xcb_xkb_sa_set_group_iterator_t {
1151 xcb_xkb_sa_set_group_t *data;
1152 int rem;
1153 int index;
1154} xcb_xkb_sa_set_group_iterator_t;
1155
1156/**
1157 * @brief xcb_xkb_sa_latch_group_t
1158 **/
1159typedef struct xcb_xkb_sa_latch_group_t {
1160 uint8_t type;
1161 uint8_t flags;
1162 int8_t group;
1163 uint8_t pad0[5];
1164} xcb_xkb_sa_latch_group_t;
1165
1166/**
1167 * @brief xcb_xkb_sa_latch_group_iterator_t
1168 **/
1169typedef struct xcb_xkb_sa_latch_group_iterator_t {
1170 xcb_xkb_sa_latch_group_t *data;
1171 int rem;
1172 int index;
1173} xcb_xkb_sa_latch_group_iterator_t;
1174
1175/**
1176 * @brief xcb_xkb_sa_lock_group_t
1177 **/
1178typedef struct xcb_xkb_sa_lock_group_t {
1179 uint8_t type;
1180 uint8_t flags;
1181 int8_t group;
1182 uint8_t pad0[5];
1183} xcb_xkb_sa_lock_group_t;
1184
1185/**
1186 * @brief xcb_xkb_sa_lock_group_iterator_t
1187 **/
1188typedef struct xcb_xkb_sa_lock_group_iterator_t {
1189 xcb_xkb_sa_lock_group_t *data;
1190 int rem;
1191 int index;
1192} xcb_xkb_sa_lock_group_iterator_t;
1193
1194typedef enum xcb_xkb_sa_move_ptr_flag_t {
1195 XCB_XKB_SA_MOVE_PTR_FLAG_NO_ACCELERATION = 1,
1196 XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_X = 2,
1197 XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_Y = 4
1198} xcb_xkb_sa_move_ptr_flag_t;
1199
1200/**
1201 * @brief xcb_xkb_sa_move_ptr_t
1202 **/
1203typedef struct xcb_xkb_sa_move_ptr_t {
1204 uint8_t type;
1205 uint8_t flags;
1206 int8_t xHigh;
1207 uint8_t xLow;
1208 int8_t yHigh;
1209 uint8_t yLow;
1210 uint8_t pad0[2];
1211} xcb_xkb_sa_move_ptr_t;
1212
1213/**
1214 * @brief xcb_xkb_sa_move_ptr_iterator_t
1215 **/
1216typedef struct xcb_xkb_sa_move_ptr_iterator_t {
1217 xcb_xkb_sa_move_ptr_t *data;
1218 int rem;
1219 int index;
1220} xcb_xkb_sa_move_ptr_iterator_t;
1221
1222/**
1223 * @brief xcb_xkb_sa_ptr_btn_t
1224 **/
1225typedef struct xcb_xkb_sa_ptr_btn_t {
1226 uint8_t type;
1227 uint8_t flags;
1228 uint8_t count;
1229 uint8_t button;
1230 uint8_t pad0[4];
1231} xcb_xkb_sa_ptr_btn_t;
1232
1233/**
1234 * @brief xcb_xkb_sa_ptr_btn_iterator_t
1235 **/
1236typedef struct xcb_xkb_sa_ptr_btn_iterator_t {
1237 xcb_xkb_sa_ptr_btn_t *data;
1238 int rem;
1239 int index;
1240} xcb_xkb_sa_ptr_btn_iterator_t;
1241
1242/**
1243 * @brief xcb_xkb_sa_lock_ptr_btn_t
1244 **/
1245typedef struct xcb_xkb_sa_lock_ptr_btn_t {
1246 uint8_t type;
1247 uint8_t flags;
1248 uint8_t pad0;
1249 uint8_t button;
1250 uint8_t pad1[4];
1251} xcb_xkb_sa_lock_ptr_btn_t;
1252
1253/**
1254 * @brief xcb_xkb_sa_lock_ptr_btn_iterator_t
1255 **/
1256typedef struct xcb_xkb_sa_lock_ptr_btn_iterator_t {
1257 xcb_xkb_sa_lock_ptr_btn_t *data;
1258 int rem;
1259 int index;
1260} xcb_xkb_sa_lock_ptr_btn_iterator_t;
1261
1262typedef enum xcb_xkb_sa_set_ptr_dflt_flag_t {
1263 XCB_XKB_SA_SET_PTR_DFLT_FLAG_DFLT_BTN_ABSOLUTE = 4,
1264 XCB_XKB_SA_SET_PTR_DFLT_FLAG_AFFECT_DFLT_BUTTON = 1
1265} xcb_xkb_sa_set_ptr_dflt_flag_t;
1266
1267/**
1268 * @brief xcb_xkb_sa_set_ptr_dflt_t
1269 **/
1270typedef struct xcb_xkb_sa_set_ptr_dflt_t {
1271 uint8_t type;
1272 uint8_t flags;
1273 uint8_t affect;
1274 int8_t value;
1275 uint8_t pad0[4];
1276} xcb_xkb_sa_set_ptr_dflt_t;
1277
1278/**
1279 * @brief xcb_xkb_sa_set_ptr_dflt_iterator_t
1280 **/
1281typedef struct xcb_xkb_sa_set_ptr_dflt_iterator_t {
1282 xcb_xkb_sa_set_ptr_dflt_t *data;
1283 int rem;
1284 int index;
1285} xcb_xkb_sa_set_ptr_dflt_iterator_t;
1286
1287typedef enum xcb_xkb_sa_iso_lock_flag_t {
1288 XCB_XKB_SA_ISO_LOCK_FLAG_NO_LOCK = 1,
1289 XCB_XKB_SA_ISO_LOCK_FLAG_NO_UNLOCK = 2,
1290 XCB_XKB_SA_ISO_LOCK_FLAG_USE_MOD_MAP_MODS = 4,
1291 XCB_XKB_SA_ISO_LOCK_FLAG_GROUP_ABSOLUTE = 4,
1292 XCB_XKB_SA_ISO_LOCK_FLAG_ISO_DFLT_IS_GROUP = 8
1293} xcb_xkb_sa_iso_lock_flag_t;
1294
1295typedef enum xcb_xkb_sa_iso_lock_no_affect_t {
1296 XCB_XKB_SA_ISO_LOCK_NO_AFFECT_CTRLS = 8,
1297 XCB_XKB_SA_ISO_LOCK_NO_AFFECT_PTR = 16,
1298 XCB_XKB_SA_ISO_LOCK_NO_AFFECT_GROUP = 32,
1299 XCB_XKB_SA_ISO_LOCK_NO_AFFECT_MODS = 64
1300} xcb_xkb_sa_iso_lock_no_affect_t;
1301
1302/**
1303 * @brief xcb_xkb_sa_iso_lock_t
1304 **/
1305typedef struct xcb_xkb_sa_iso_lock_t {
1306 uint8_t type;
1307 uint8_t flags;
1308 uint8_t mask;
1309 uint8_t realMods;
1310 int8_t group;
1311 uint8_t affect;
1312 uint8_t vmodsHigh;
1313 uint8_t vmodsLow;
1314} xcb_xkb_sa_iso_lock_t;
1315
1316/**
1317 * @brief xcb_xkb_sa_iso_lock_iterator_t
1318 **/
1319typedef struct xcb_xkb_sa_iso_lock_iterator_t {
1320 xcb_xkb_sa_iso_lock_t *data;
1321 int rem;
1322 int index;
1323} xcb_xkb_sa_iso_lock_iterator_t;
1324
1325/**
1326 * @brief xcb_xkb_sa_terminate_t
1327 **/
1328typedef struct xcb_xkb_sa_terminate_t {
1329 uint8_t type;
1330 uint8_t pad0[7];
1331} xcb_xkb_sa_terminate_t;
1332
1333/**
1334 * @brief xcb_xkb_sa_terminate_iterator_t
1335 **/
1336typedef struct xcb_xkb_sa_terminate_iterator_t {
1337 xcb_xkb_sa_terminate_t *data;
1338 int rem;
1339 int index;
1340} xcb_xkb_sa_terminate_iterator_t;
1341
1342typedef enum xcb_xkb_switch_screen_flag_t {
1343 XCB_XKB_SWITCH_SCREEN_FLAG_APPLICATION = 1,
1344 XCB_XKB_SWITCH_SCREEN_FLAG_ABSOLUTE = 4
1345} xcb_xkb_switch_screen_flag_t;
1346
1347/**
1348 * @brief xcb_xkb_sa_switch_screen_t
1349 **/
1350typedef struct xcb_xkb_sa_switch_screen_t {
1351 uint8_t type;
1352 uint8_t flags;
1353 int8_t newScreen;
1354 uint8_t pad0[5];
1355} xcb_xkb_sa_switch_screen_t;
1356
1357/**
1358 * @brief xcb_xkb_sa_switch_screen_iterator_t
1359 **/
1360typedef struct xcb_xkb_sa_switch_screen_iterator_t {
1361 xcb_xkb_sa_switch_screen_t *data;
1362 int rem;
1363 int index;
1364} xcb_xkb_sa_switch_screen_iterator_t;
1365
1366typedef enum xcb_xkb_bool_ctrls_high_t {
1367 XCB_XKB_BOOL_CTRLS_HIGH_ACCESS_X_FEEDBACK = 1,
1368 XCB_XKB_BOOL_CTRLS_HIGH_AUDIBLE_BELL = 2,
1369 XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_1 = 4,
1370 XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_2 = 8,
1371 XCB_XKB_BOOL_CTRLS_HIGH_IGNORE_GROUP_LOCK = 16
1372} xcb_xkb_bool_ctrls_high_t;
1373
1374typedef enum xcb_xkb_bool_ctrls_low_t {
1375 XCB_XKB_BOOL_CTRLS_LOW_REPEAT_KEYS = 1,
1376 XCB_XKB_BOOL_CTRLS_LOW_SLOW_KEYS = 2,
1377 XCB_XKB_BOOL_CTRLS_LOW_BOUNCE_KEYS = 4,
1378 XCB_XKB_BOOL_CTRLS_LOW_STICKY_KEYS = 8,
1379 XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS = 16,
1380 XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS_ACCEL = 32,
1381 XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_KEYS = 64,
1382 XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_TIMEOUT = 128
1383} xcb_xkb_bool_ctrls_low_t;
1384
1385/**
1386 * @brief xcb_xkb_sa_set_controls_t
1387 **/
1388typedef struct xcb_xkb_sa_set_controls_t {
1389 uint8_t type;
1390 uint8_t pad0[3];
1391 uint8_t boolCtrlsHigh;
1392 uint8_t boolCtrlsLow;
1393 uint8_t pad1[2];
1394} xcb_xkb_sa_set_controls_t;
1395
1396/**
1397 * @brief xcb_xkb_sa_set_controls_iterator_t
1398 **/
1399typedef struct xcb_xkb_sa_set_controls_iterator_t {
1400 xcb_xkb_sa_set_controls_t *data;
1401 int rem;
1402 int index;
1403} xcb_xkb_sa_set_controls_iterator_t;
1404
1405/**
1406 * @brief xcb_xkb_sa_lock_controls_t
1407 **/
1408typedef struct xcb_xkb_sa_lock_controls_t {
1409 uint8_t type;
1410 uint8_t pad0[3];
1411 uint8_t boolCtrlsHigh;
1412 uint8_t boolCtrlsLow;
1413 uint8_t pad1[2];
1414} xcb_xkb_sa_lock_controls_t;
1415
1416/**
1417 * @brief xcb_xkb_sa_lock_controls_iterator_t
1418 **/
1419typedef struct xcb_xkb_sa_lock_controls_iterator_t {
1420 xcb_xkb_sa_lock_controls_t *data;
1421 int rem;
1422 int index;
1423} xcb_xkb_sa_lock_controls_iterator_t;
1424
1425typedef enum xcb_xkb_action_message_flag_t {
1426 XCB_XKB_ACTION_MESSAGE_FLAG_ON_PRESS = 1,
1427 XCB_XKB_ACTION_MESSAGE_FLAG_ON_RELEASE = 2,
1428 XCB_XKB_ACTION_MESSAGE_FLAG_GEN_KEY_EVENT = 4
1429} xcb_xkb_action_message_flag_t;
1430
1431/**
1432 * @brief xcb_xkb_sa_action_message_t
1433 **/
1434typedef struct xcb_xkb_sa_action_message_t {
1435 uint8_t type;
1436 uint8_t flags;
1437 uint8_t message[6];
1438} xcb_xkb_sa_action_message_t;
1439
1440/**
1441 * @brief xcb_xkb_sa_action_message_iterator_t
1442 **/
1443typedef struct xcb_xkb_sa_action_message_iterator_t {
1444 xcb_xkb_sa_action_message_t *data;
1445 int rem;
1446 int index;
1447} xcb_xkb_sa_action_message_iterator_t;
1448
1449/**
1450 * @brief xcb_xkb_sa_redirect_key_t
1451 **/
1452typedef struct xcb_xkb_sa_redirect_key_t {
1453 uint8_t type;
1454 xcb_keycode_t newkey;
1455 uint8_t mask;
1456 uint8_t realModifiers;
1457 uint8_t vmodsMaskHigh;
1458 uint8_t vmodsMaskLow;
1459 uint8_t vmodsHigh;
1460 uint8_t vmodsLow;
1461} xcb_xkb_sa_redirect_key_t;
1462
1463/**
1464 * @brief xcb_xkb_sa_redirect_key_iterator_t
1465 **/
1466typedef struct xcb_xkb_sa_redirect_key_iterator_t {
1467 xcb_xkb_sa_redirect_key_t *data;
1468 int rem;
1469 int index;
1470} xcb_xkb_sa_redirect_key_iterator_t;
1471
1472/**
1473 * @brief xcb_xkb_sa_device_btn_t
1474 **/
1475typedef struct xcb_xkb_sa_device_btn_t {
1476 uint8_t type;
1477 uint8_t flags;
1478 uint8_t count;
1479 uint8_t button;
1480 uint8_t device;
1481 uint8_t pad0[3];
1482} xcb_xkb_sa_device_btn_t;
1483
1484/**
1485 * @brief xcb_xkb_sa_device_btn_iterator_t
1486 **/
1487typedef struct xcb_xkb_sa_device_btn_iterator_t {
1488 xcb_xkb_sa_device_btn_t *data;
1489 int rem;
1490 int index;
1491} xcb_xkb_sa_device_btn_iterator_t;
1492
1493typedef enum xcb_xkb_lock_device_flags_t {
1494 XCB_XKB_LOCK_DEVICE_FLAGS_NO_LOCK = 1,
1495 XCB_XKB_LOCK_DEVICE_FLAGS_NO_UNLOCK = 2
1496} xcb_xkb_lock_device_flags_t;
1497
1498/**
1499 * @brief xcb_xkb_sa_lock_device_btn_t
1500 **/
1501typedef struct xcb_xkb_sa_lock_device_btn_t {
1502 uint8_t type;
1503 uint8_t flags;
1504 uint8_t pad0;
1505 uint8_t button;
1506 uint8_t device;
1507 uint8_t pad1[3];
1508} xcb_xkb_sa_lock_device_btn_t;
1509
1510/**
1511 * @brief xcb_xkb_sa_lock_device_btn_iterator_t
1512 **/
1513typedef struct xcb_xkb_sa_lock_device_btn_iterator_t {
1514 xcb_xkb_sa_lock_device_btn_t *data;
1515 int rem;
1516 int index;
1517} xcb_xkb_sa_lock_device_btn_iterator_t;
1518
1519typedef enum xcb_xkb_sa_val_what_t {
1520 XCB_XKB_SA_VAL_WHAT_IGNORE_VAL = 0,
1521 XCB_XKB_SA_VAL_WHAT_SET_VAL_MIN = 1,
1522 XCB_XKB_SA_VAL_WHAT_SET_VAL_CENTER = 2,
1523 XCB_XKB_SA_VAL_WHAT_SET_VAL_MAX = 3,
1524 XCB_XKB_SA_VAL_WHAT_SET_VAL_RELATIVE = 4,
1525 XCB_XKB_SA_VAL_WHAT_SET_VAL_ABSOLUTE = 5
1526} xcb_xkb_sa_val_what_t;
1527
1528/**
1529 * @brief xcb_xkb_sa_device_valuator_t
1530 **/
1531typedef struct xcb_xkb_sa_device_valuator_t {
1532 uint8_t type;
1533 uint8_t device;
1534 uint8_t val1what;
1535 uint8_t val1index;
1536 uint8_t val1value;
1537 uint8_t val2what;
1538 uint8_t val2index;
1539 uint8_t val2value;
1540} xcb_xkb_sa_device_valuator_t;
1541
1542/**
1543 * @brief xcb_xkb_sa_device_valuator_iterator_t
1544 **/
1545typedef struct xcb_xkb_sa_device_valuator_iterator_t {
1546 xcb_xkb_sa_device_valuator_t *data;
1547 int rem;
1548 int index;
1549} xcb_xkb_sa_device_valuator_iterator_t;
1550
1551/**
1552 * @brief xcb_xkb_si_action_t
1553 **/
1554typedef struct xcb_xkb_si_action_t {
1555 uint8_t type;
1556 uint8_t data[7];
1557} xcb_xkb_si_action_t;
1558
1559/**
1560 * @brief xcb_xkb_si_action_iterator_t
1561 **/
1562typedef struct xcb_xkb_si_action_iterator_t {
1563 xcb_xkb_si_action_t *data;
1564 int rem;
1565 int index;
1566} xcb_xkb_si_action_iterator_t;
1567
1568/**
1569 * @brief xcb_xkb_sym_interpret_t
1570 **/
1571typedef struct xcb_xkb_sym_interpret_t {
1572 xcb_keysym_t sym;
1573 uint8_t mods;
1574 uint8_t match;
1575 uint8_t virtualMod;
1576 uint8_t flags;
1577 xcb_xkb_si_action_t action;
1578} xcb_xkb_sym_interpret_t;
1579
1580/**
1581 * @brief xcb_xkb_sym_interpret_iterator_t
1582 **/
1583typedef struct xcb_xkb_sym_interpret_iterator_t {
1584 xcb_xkb_sym_interpret_t *data;
1585 int rem;
1586 int index;
1587} xcb_xkb_sym_interpret_iterator_t;
1588
1589/**
1590 * @brief xcb_xkb_action_t
1591 **/
1592typedef union xcb_xkb_action_t {
1593 xcb_xkb_sa_no_action_t noaction;
1594 xcb_xkb_sa_set_mods_t setmods;
1595 xcb_xkb_sa_latch_mods_t latchmods;
1596 xcb_xkb_sa_lock_mods_t lockmods;
1597 xcb_xkb_sa_set_group_t setgroup;
1598 xcb_xkb_sa_latch_group_t latchgroup;
1599 xcb_xkb_sa_lock_group_t lockgroup;
1600 xcb_xkb_sa_move_ptr_t moveptr;
1601 xcb_xkb_sa_ptr_btn_t ptrbtn;
1602 xcb_xkb_sa_lock_ptr_btn_t lockptrbtn;
1603 xcb_xkb_sa_set_ptr_dflt_t setptrdflt;
1604 xcb_xkb_sa_iso_lock_t isolock;
1605 xcb_xkb_sa_terminate_t terminate;
1606 xcb_xkb_sa_switch_screen_t switchscreen;
1607 xcb_xkb_sa_set_controls_t setcontrols;
1608 xcb_xkb_sa_lock_controls_t lockcontrols;
1609 xcb_xkb_sa_action_message_t message;
1610 xcb_xkb_sa_redirect_key_t redirect;
1611 xcb_xkb_sa_device_btn_t devbtn;
1612 xcb_xkb_sa_lock_device_btn_t lockdevbtn;
1613 xcb_xkb_sa_device_valuator_t devval;
1614 uint8_t type;
1615} xcb_xkb_action_t;
1616
1617/**
1618 * @brief xcb_xkb_action_iterator_t
1619 **/
1620typedef struct xcb_xkb_action_iterator_t {
1621 xcb_xkb_action_t *data;
1622 int rem;
1623 int index;
1624} xcb_xkb_action_iterator_t;
1625
1626/**
1627 * @brief xcb_xkb_use_extension_cookie_t
1628 **/
1629typedef struct xcb_xkb_use_extension_cookie_t {
1630 unsigned int sequence;
1631} xcb_xkb_use_extension_cookie_t;
1632
1633/** Opcode for xcb_xkb_use_extension. */
1634#define XCB_XKB_USE_EXTENSION 0
1635
1636/**
1637 * @brief xcb_xkb_use_extension_request_t
1638 **/
1639typedef struct xcb_xkb_use_extension_request_t {
1640 uint8_t major_opcode;
1641 uint8_t minor_opcode;
1642 uint16_t length;
1643 uint16_t wantedMajor;
1644 uint16_t wantedMinor;
1645} xcb_xkb_use_extension_request_t;
1646
1647/**
1648 * @brief xcb_xkb_use_extension_reply_t
1649 **/
1650typedef struct xcb_xkb_use_extension_reply_t {
1651 uint8_t response_type;
1652 uint8_t supported;
1653 uint16_t sequence;
1654 uint32_t length;
1655 uint16_t serverMajor;
1656 uint16_t serverMinor;
1657 uint8_t pad0[20];
1658} xcb_xkb_use_extension_reply_t;
1659
1660/**
1661 * @brief xcb_xkb_select_events_details_t
1662 **/
1663typedef struct xcb_xkb_select_events_details_t {
1664 uint16_t affectNewKeyboard;
1665 uint16_t newKeyboardDetails;
1666 uint16_t affectState;
1667 uint16_t stateDetails;
1668 uint32_t affectCtrls;
1669 uint32_t ctrlDetails;
1670 uint32_t affectIndicatorState;
1671 uint32_t indicatorStateDetails;
1672 uint32_t affectIndicatorMap;
1673 uint32_t indicatorMapDetails;
1674 uint16_t affectNames;
1675 uint16_t namesDetails;
1676 uint8_t affectCompat;
1677 uint8_t compatDetails;
1678 uint8_t affectBell;
1679 uint8_t bellDetails;
1680 uint8_t affectMsgDetails;
1681 uint8_t msgDetails;
1682 uint16_t affectAccessX;
1683 uint16_t accessXDetails;
1684 uint16_t affectExtDev;
1685 uint16_t extdevDetails;
1686} xcb_xkb_select_events_details_t;
1687
1688/** Opcode for xcb_xkb_select_events. */
1689#define XCB_XKB_SELECT_EVENTS 1
1690
1691/**
1692 * @brief xcb_xkb_select_events_request_t
1693 **/
1694typedef struct xcb_xkb_select_events_request_t {
1695 uint8_t major_opcode;
1696 uint8_t minor_opcode;
1697 uint16_t length;
1698 xcb_xkb_device_spec_t deviceSpec;
1699 uint16_t affectWhich;
1700 uint16_t clear;
1701 uint16_t selectAll;
1702 uint16_t affectMap;
1703 uint16_t map;
1704} xcb_xkb_select_events_request_t;
1705
1706/** Opcode for xcb_xkb_bell. */
1707#define XCB_XKB_BELL 3
1708
1709/**
1710 * @brief xcb_xkb_bell_request_t
1711 **/
1712typedef struct xcb_xkb_bell_request_t {
1713 uint8_t major_opcode;
1714 uint8_t minor_opcode;
1715 uint16_t length;
1716 xcb_xkb_device_spec_t deviceSpec;
1717 xcb_xkb_bell_class_spec_t bellClass;
1718 xcb_xkb_id_spec_t bellID;
1719 int8_t percent;
1720 uint8_t forceSound;
1721 uint8_t eventOnly;
1722 uint8_t pad0;
1723 int16_t pitch;
1724 int16_t duration;
1725 uint8_t pad1[2];
1726 xcb_atom_t name;
1727 xcb_window_t window;
1728} xcb_xkb_bell_request_t;
1729
1730/**
1731 * @brief xcb_xkb_get_state_cookie_t
1732 **/
1733typedef struct xcb_xkb_get_state_cookie_t {
1734 unsigned int sequence;
1735} xcb_xkb_get_state_cookie_t;
1736
1737/** Opcode for xcb_xkb_get_state. */
1738#define XCB_XKB_GET_STATE 4
1739
1740/**
1741 * @brief xcb_xkb_get_state_request_t
1742 **/
1743typedef struct xcb_xkb_get_state_request_t {
1744 uint8_t major_opcode;
1745 uint8_t minor_opcode;
1746 uint16_t length;
1747 xcb_xkb_device_spec_t deviceSpec;
1748 uint8_t pad0[2];
1749} xcb_xkb_get_state_request_t;
1750
1751/**
1752 * @brief xcb_xkb_get_state_reply_t
1753 **/
1754typedef struct xcb_xkb_get_state_reply_t {
1755 uint8_t response_type;
1756 uint8_t deviceID;
1757 uint16_t sequence;
1758 uint32_t length;
1759 uint8_t mods;
1760 uint8_t baseMods;
1761 uint8_t latchedMods;
1762 uint8_t lockedMods;
1763 uint8_t group;
1764 uint8_t lockedGroup;
1765 int16_t baseGroup;
1766 int16_t latchedGroup;
1767 uint8_t compatState;
1768 uint8_t grabMods;
1769 uint8_t compatGrabMods;
1770 uint8_t lookupMods;
1771 uint8_t compatLookupMods;
1772 uint8_t pad0;
1773 uint16_t ptrBtnState;
1774 uint8_t pad1[6];
1775} xcb_xkb_get_state_reply_t;
1776
1777/** Opcode for xcb_xkb_latch_lock_state. */
1778#define XCB_XKB_LATCH_LOCK_STATE 5
1779
1780/**
1781 * @brief xcb_xkb_latch_lock_state_request_t
1782 **/
1783typedef struct xcb_xkb_latch_lock_state_request_t {
1784 uint8_t major_opcode;
1785 uint8_t minor_opcode;
1786 uint16_t length;
1787 xcb_xkb_device_spec_t deviceSpec;
1788 uint8_t affectModLocks;
1789 uint8_t modLocks;
1790 uint8_t lockGroup;
1791 uint8_t groupLock;
1792 uint8_t affectModLatches;
1793 uint8_t pad0;
1794 uint8_t pad1;
1795 uint8_t latchGroup;
1796 uint16_t groupLatch;
1797} xcb_xkb_latch_lock_state_request_t;
1798
1799/**
1800 * @brief xcb_xkb_get_controls_cookie_t
1801 **/
1802typedef struct xcb_xkb_get_controls_cookie_t {
1803 unsigned int sequence;
1804} xcb_xkb_get_controls_cookie_t;
1805
1806/** Opcode for xcb_xkb_get_controls. */
1807#define XCB_XKB_GET_CONTROLS 6
1808
1809/**
1810 * @brief xcb_xkb_get_controls_request_t
1811 **/
1812typedef struct xcb_xkb_get_controls_request_t {
1813 uint8_t major_opcode;
1814 uint8_t minor_opcode;
1815 uint16_t length;
1816 xcb_xkb_device_spec_t deviceSpec;
1817 uint8_t pad0[2];
1818} xcb_xkb_get_controls_request_t;
1819
1820/**
1821 * @brief xcb_xkb_get_controls_reply_t
1822 **/
1823typedef struct xcb_xkb_get_controls_reply_t {
1824 uint8_t response_type;
1825 uint8_t deviceID;
1826 uint16_t sequence;
1827 uint32_t length;
1828 uint8_t mouseKeysDfltBtn;
1829 uint8_t numGroups;
1830 uint8_t groupsWrap;
1831 uint8_t internalModsMask;
1832 uint8_t ignoreLockModsMask;
1833 uint8_t internalModsRealMods;
1834 uint8_t ignoreLockModsRealMods;
1835 uint8_t pad0;
1836 uint16_t internalModsVmods;
1837 uint16_t ignoreLockModsVmods;
1838 uint16_t repeatDelay;
1839 uint16_t repeatInterval;
1840 uint16_t slowKeysDelay;
1841 uint16_t debounceDelay;
1842 uint16_t mouseKeysDelay;
1843 uint16_t mouseKeysInterval;
1844 uint16_t mouseKeysTimeToMax;
1845 uint16_t mouseKeysMaxSpeed;
1846 int16_t mouseKeysCurve;
1847 uint16_t accessXOption;
1848 uint16_t accessXTimeout;
1849 uint16_t accessXTimeoutOptionsMask;
1850 uint16_t accessXTimeoutOptionsValues;
1851 uint8_t pad1[2];
1852 uint32_t accessXTimeoutMask;
1853 uint32_t accessXTimeoutValues;
1854 uint32_t enabledControls;
1855 uint8_t perKeyRepeat[32];
1856} xcb_xkb_get_controls_reply_t;
1857
1858/** Opcode for xcb_xkb_set_controls. */
1859#define XCB_XKB_SET_CONTROLS 7
1860
1861/**
1862 * @brief xcb_xkb_set_controls_request_t
1863 **/
1864typedef struct xcb_xkb_set_controls_request_t {
1865 uint8_t major_opcode;
1866 uint8_t minor_opcode;
1867 uint16_t length;
1868 xcb_xkb_device_spec_t deviceSpec;
1869 uint8_t affectInternalRealMods;
1870 uint8_t internalRealMods;
1871 uint8_t affectIgnoreLockRealMods;
1872 uint8_t ignoreLockRealMods;
1873 uint16_t affectInternalVirtualMods;
1874 uint16_t internalVirtualMods;
1875 uint16_t affectIgnoreLockVirtualMods;
1876 uint16_t ignoreLockVirtualMods;
1877 uint8_t mouseKeysDfltBtn;
1878 uint8_t groupsWrap;
1879 uint16_t accessXOptions;
1880 uint8_t pad0[2];
1881 uint32_t affectEnabledControls;
1882 uint32_t enabledControls;
1883 uint32_t changeControls;
1884 uint16_t repeatDelay;
1885 uint16_t repeatInterval;
1886 uint16_t slowKeysDelay;
1887 uint16_t debounceDelay;
1888 uint16_t mouseKeysDelay;
1889 uint16_t mouseKeysInterval;
1890 uint16_t mouseKeysTimeToMax;
1891 uint16_t mouseKeysMaxSpeed;
1892 int16_t mouseKeysCurve;
1893 uint16_t accessXTimeout;
1894 uint32_t accessXTimeoutMask;
1895 uint32_t accessXTimeoutValues;
1896 uint16_t accessXTimeoutOptionsMask;
1897 uint16_t accessXTimeoutOptionsValues;
1898 uint8_t perKeyRepeat[32];
1899} xcb_xkb_set_controls_request_t;
1900
1901/**
1902 * @brief xcb_xkb_get_map_cookie_t
1903 **/
1904typedef struct xcb_xkb_get_map_cookie_t {
1905 unsigned int sequence;
1906} xcb_xkb_get_map_cookie_t;
1907
1908/** Opcode for xcb_xkb_get_map. */
1909#define XCB_XKB_GET_MAP 8
1910
1911/**
1912 * @brief xcb_xkb_get_map_request_t
1913 **/
1914typedef struct xcb_xkb_get_map_request_t {
1915 uint8_t major_opcode;
1916 uint8_t minor_opcode;
1917 uint16_t length;
1918 xcb_xkb_device_spec_t deviceSpec;
1919 uint16_t full;
1920 uint16_t partial;
1921 uint8_t firstType;
1922 uint8_t nTypes;
1923 xcb_keycode_t firstKeySym;
1924 uint8_t nKeySyms;
1925 xcb_keycode_t firstKeyAction;
1926 uint8_t nKeyActions;
1927 xcb_keycode_t firstKeyBehavior;
1928 uint8_t nKeyBehaviors;
1929 uint16_t virtualMods;
1930 xcb_keycode_t firstKeyExplicit;
1931 uint8_t nKeyExplicit;
1932 xcb_keycode_t firstModMapKey;
1933 uint8_t nModMapKeys;
1934 xcb_keycode_t firstVModMapKey;
1935 uint8_t nVModMapKeys;
1936 uint8_t pad0[2];
1937} xcb_xkb_get_map_request_t;
1938
1939/**
1940 * @brief xcb_xkb_get_map_map_t
1941 **/
1942typedef struct xcb_xkb_get_map_map_t {
1943 xcb_xkb_key_type_t *types_rtrn;
1944 xcb_xkb_key_sym_map_t *syms_rtrn;
1945 uint8_t *acts_rtrn_count;
1946 uint8_t *pad2;
1947 xcb_xkb_action_t *acts_rtrn_acts;
1948 xcb_xkb_set_behavior_t *behaviors_rtrn;
1949 uint8_t *vmods_rtrn;
1950 uint8_t *pad3;
1951 xcb_xkb_set_explicit_t *explicit_rtrn;
1952 uint8_t *pad4;
1953 xcb_xkb_key_mod_map_t *modmap_rtrn;
1954 uint8_t *pad5;
1955 xcb_xkb_key_v_mod_map_t *vmodmap_rtrn;
1956} xcb_xkb_get_map_map_t;
1957
1958/**
1959 * @brief xcb_xkb_get_map_reply_t
1960 **/
1961typedef struct xcb_xkb_get_map_reply_t {
1962 uint8_t response_type;
1963 uint8_t deviceID;
1964 uint16_t sequence;
1965 uint32_t length;
1966 uint8_t pad0[2];
1967 xcb_keycode_t minKeyCode;
1968 xcb_keycode_t maxKeyCode;
1969 uint16_t present;
1970 uint8_t firstType;
1971 uint8_t nTypes;
1972 uint8_t totalTypes;
1973 xcb_keycode_t firstKeySym;
1974 uint16_t totalSyms;
1975 uint8_t nKeySyms;
1976 xcb_keycode_t firstKeyAction;
1977 uint16_t totalActions;
1978 uint8_t nKeyActions;
1979 xcb_keycode_t firstKeyBehavior;
1980 uint8_t nKeyBehaviors;
1981 uint8_t totalKeyBehaviors;
1982 xcb_keycode_t firstKeyExplicit;
1983 uint8_t nKeyExplicit;
1984 uint8_t totalKeyExplicit;
1985 xcb_keycode_t firstModMapKey;
1986 uint8_t nModMapKeys;
1987 uint8_t totalModMapKeys;
1988 xcb_keycode_t firstVModMapKey;
1989 uint8_t nVModMapKeys;
1990 uint8_t totalVModMapKeys;
1991 uint8_t pad1;
1992 uint16_t virtualMods;
1993} xcb_xkb_get_map_reply_t;
1994
1995/**
1996 * @brief xcb_xkb_set_map_values_t
1997 **/
1998typedef struct xcb_xkb_set_map_values_t {
1999 xcb_xkb_set_key_type_t *types;
2000 xcb_xkb_key_sym_map_t *syms;
2001 uint8_t *actionsCount;
2002 xcb_xkb_action_t *actions;
2003 xcb_xkb_set_behavior_t *behaviors;
2004 uint8_t *vmods;
2005 xcb_xkb_set_explicit_t *explicit;
2006 xcb_xkb_key_mod_map_t *modmap;
2007 xcb_xkb_key_v_mod_map_t *vmodmap;
2008} xcb_xkb_set_map_values_t;
2009
2010/** Opcode for xcb_xkb_set_map. */
2011#define XCB_XKB_SET_MAP 9
2012
2013/**
2014 * @brief xcb_xkb_set_map_request_t
2015 **/
2016typedef struct xcb_xkb_set_map_request_t {
2017 uint8_t major_opcode;
2018 uint8_t minor_opcode;
2019 uint16_t length;
2020 xcb_xkb_device_spec_t deviceSpec;
2021 uint16_t present;
2022 uint16_t flags;
2023 xcb_keycode_t minKeyCode;
2024 xcb_keycode_t maxKeyCode;
2025 uint8_t firstType;
2026 uint8_t nTypes;
2027 xcb_keycode_t firstKeySym;
2028 uint8_t nKeySyms;
2029 uint16_t totalSyms;
2030 xcb_keycode_t firstKeyAction;
2031 uint8_t nKeyActions;
2032 uint16_t totalActions;
2033 xcb_keycode_t firstKeyBehavior;
2034 uint8_t nKeyBehaviors;
2035 uint8_t totalKeyBehaviors;
2036 xcb_keycode_t firstKeyExplicit;
2037 uint8_t nKeyExplicit;
2038 uint8_t totalKeyExplicit;
2039 xcb_keycode_t firstModMapKey;
2040 uint8_t nModMapKeys;
2041 uint8_t totalModMapKeys;
2042 xcb_keycode_t firstVModMapKey;
2043 uint8_t nVModMapKeys;
2044 uint8_t totalVModMapKeys;
2045 uint16_t virtualMods;
2046} xcb_xkb_set_map_request_t;
2047
2048/**
2049 * @brief xcb_xkb_get_compat_map_cookie_t
2050 **/
2051typedef struct xcb_xkb_get_compat_map_cookie_t {
2052 unsigned int sequence;
2053} xcb_xkb_get_compat_map_cookie_t;
2054
2055/** Opcode for xcb_xkb_get_compat_map. */
2056#define XCB_XKB_GET_COMPAT_MAP 10
2057
2058/**
2059 * @brief xcb_xkb_get_compat_map_request_t
2060 **/
2061typedef struct xcb_xkb_get_compat_map_request_t {
2062 uint8_t major_opcode;
2063 uint8_t minor_opcode;
2064 uint16_t length;
2065 xcb_xkb_device_spec_t deviceSpec;
2066 uint8_t groups;
2067 uint8_t getAllSI;
2068 uint16_t firstSI;
2069 uint16_t nSI;
2070} xcb_xkb_get_compat_map_request_t;
2071
2072/**
2073 * @brief xcb_xkb_get_compat_map_reply_t
2074 **/
2075typedef struct xcb_xkb_get_compat_map_reply_t {
2076 uint8_t response_type;
2077 uint8_t deviceID;
2078 uint16_t sequence;
2079 uint32_t length;
2080 uint8_t groupsRtrn;
2081 uint8_t pad0;
2082 uint16_t firstSIRtrn;
2083 uint16_t nSIRtrn;
2084 uint16_t nTotalSI;
2085 uint8_t pad1[16];
2086} xcb_xkb_get_compat_map_reply_t;
2087
2088/** Opcode for xcb_xkb_set_compat_map. */
2089#define XCB_XKB_SET_COMPAT_MAP 11
2090
2091/**
2092 * @brief xcb_xkb_set_compat_map_request_t
2093 **/
2094typedef struct xcb_xkb_set_compat_map_request_t {
2095 uint8_t major_opcode;
2096 uint8_t minor_opcode;
2097 uint16_t length;
2098 xcb_xkb_device_spec_t deviceSpec;
2099 uint8_t pad0;
2100 uint8_t recomputeActions;
2101 uint8_t truncateSI;
2102 uint8_t groups;
2103 uint16_t firstSI;
2104 uint16_t nSI;
2105 uint8_t pad1[2];
2106} xcb_xkb_set_compat_map_request_t;
2107
2108/**
2109 * @brief xcb_xkb_get_indicator_state_cookie_t
2110 **/
2111typedef struct xcb_xkb_get_indicator_state_cookie_t {
2112 unsigned int sequence;
2113} xcb_xkb_get_indicator_state_cookie_t;
2114
2115/** Opcode for xcb_xkb_get_indicator_state. */
2116#define XCB_XKB_GET_INDICATOR_STATE 12
2117
2118/**
2119 * @brief xcb_xkb_get_indicator_state_request_t
2120 **/
2121typedef struct xcb_xkb_get_indicator_state_request_t {
2122 uint8_t major_opcode;
2123 uint8_t minor_opcode;
2124 uint16_t length;
2125 xcb_xkb_device_spec_t deviceSpec;
2126 uint8_t pad0[2];
2127} xcb_xkb_get_indicator_state_request_t;
2128
2129/**
2130 * @brief xcb_xkb_get_indicator_state_reply_t
2131 **/
2132typedef struct xcb_xkb_get_indicator_state_reply_t {
2133 uint8_t response_type;
2134 uint8_t deviceID;
2135 uint16_t sequence;
2136 uint32_t length;
2137 uint32_t state;
2138 uint8_t pad0[20];
2139} xcb_xkb_get_indicator_state_reply_t;
2140
2141/**
2142 * @brief xcb_xkb_get_indicator_map_cookie_t
2143 **/
2144typedef struct xcb_xkb_get_indicator_map_cookie_t {
2145 unsigned int sequence;
2146} xcb_xkb_get_indicator_map_cookie_t;
2147
2148/** Opcode for xcb_xkb_get_indicator_map. */
2149#define XCB_XKB_GET_INDICATOR_MAP 13
2150
2151/**
2152 * @brief xcb_xkb_get_indicator_map_request_t
2153 **/
2154typedef struct xcb_xkb_get_indicator_map_request_t {
2155 uint8_t major_opcode;
2156 uint8_t minor_opcode;
2157 uint16_t length;
2158 xcb_xkb_device_spec_t deviceSpec;
2159 uint8_t pad0[2];
2160 uint32_t which;
2161} xcb_xkb_get_indicator_map_request_t;
2162
2163/**
2164 * @brief xcb_xkb_get_indicator_map_reply_t
2165 **/
2166typedef struct xcb_xkb_get_indicator_map_reply_t {
2167 uint8_t response_type;
2168 uint8_t deviceID;
2169 uint16_t sequence;
2170 uint32_t length;
2171 uint32_t which;
2172 uint32_t realIndicators;
2173 uint8_t nIndicators;
2174 uint8_t pad0[15];
2175} xcb_xkb_get_indicator_map_reply_t;
2176
2177/** Opcode for xcb_xkb_set_indicator_map. */
2178#define XCB_XKB_SET_INDICATOR_MAP 14
2179
2180/**
2181 * @brief xcb_xkb_set_indicator_map_request_t
2182 **/
2183typedef struct xcb_xkb_set_indicator_map_request_t {
2184 uint8_t major_opcode;
2185 uint8_t minor_opcode;
2186 uint16_t length;
2187 xcb_xkb_device_spec_t deviceSpec;
2188 uint8_t pad0[2];
2189 uint32_t which;
2190} xcb_xkb_set_indicator_map_request_t;
2191
2192/**
2193 * @brief xcb_xkb_get_named_indicator_cookie_t
2194 **/
2195typedef struct xcb_xkb_get_named_indicator_cookie_t {
2196 unsigned int sequence;
2197} xcb_xkb_get_named_indicator_cookie_t;
2198
2199/** Opcode for xcb_xkb_get_named_indicator. */
2200#define XCB_XKB_GET_NAMED_INDICATOR 15
2201
2202/**
2203 * @brief xcb_xkb_get_named_indicator_request_t
2204 **/
2205typedef struct xcb_xkb_get_named_indicator_request_t {
2206 uint8_t major_opcode;
2207 uint8_t minor_opcode;
2208 uint16_t length;
2209 xcb_xkb_device_spec_t deviceSpec;
2210 xcb_xkb_led_class_spec_t ledClass;
2211 xcb_xkb_id_spec_t ledID;
2212 uint8_t pad0[2];
2213 xcb_atom_t indicator;
2214} xcb_xkb_get_named_indicator_request_t;
2215
2216/**
2217 * @brief xcb_xkb_get_named_indicator_reply_t
2218 **/
2219typedef struct xcb_xkb_get_named_indicator_reply_t {
2220 uint8_t response_type;
2221 uint8_t deviceID;
2222 uint16_t sequence;
2223 uint32_t length;
2224 xcb_atom_t indicator;
2225 uint8_t found;
2226 uint8_t on;
2227 uint8_t realIndicator;
2228 uint8_t ndx;
2229 uint8_t map_flags;
2230 uint8_t map_whichGroups;
2231 uint8_t map_groups;
2232 uint8_t map_whichMods;
2233 uint8_t map_mods;
2234 uint8_t map_realMods;
2235 uint16_t map_vmod;
2236 uint32_t map_ctrls;
2237 uint8_t supported;
2238 uint8_t pad0[3];
2239} xcb_xkb_get_named_indicator_reply_t;
2240
2241/** Opcode for xcb_xkb_set_named_indicator. */
2242#define XCB_XKB_SET_NAMED_INDICATOR 16
2243
2244/**
2245 * @brief xcb_xkb_set_named_indicator_request_t
2246 **/
2247typedef struct xcb_xkb_set_named_indicator_request_t {
2248 uint8_t major_opcode;
2249 uint8_t minor_opcode;
2250 uint16_t length;
2251 xcb_xkb_device_spec_t deviceSpec;
2252 xcb_xkb_led_class_spec_t ledClass;
2253 xcb_xkb_id_spec_t ledID;
2254 uint8_t pad0[2];
2255 xcb_atom_t indicator;
2256 uint8_t setState;
2257 uint8_t on;
2258 uint8_t setMap;
2259 uint8_t createMap;
2260 uint8_t pad1;
2261 uint8_t map_flags;
2262 uint8_t map_whichGroups;
2263 uint8_t map_groups;
2264 uint8_t map_whichMods;
2265 uint8_t map_realMods;
2266 uint16_t map_vmods;
2267 uint32_t map_ctrls;
2268} xcb_xkb_set_named_indicator_request_t;
2269
2270/**
2271 * @brief xcb_xkb_get_names_cookie_t
2272 **/
2273typedef struct xcb_xkb_get_names_cookie_t {
2274 unsigned int sequence;
2275} xcb_xkb_get_names_cookie_t;
2276
2277/** Opcode for xcb_xkb_get_names. */
2278#define XCB_XKB_GET_NAMES 17
2279
2280/**
2281 * @brief xcb_xkb_get_names_request_t
2282 **/
2283typedef struct xcb_xkb_get_names_request_t {
2284 uint8_t major_opcode;
2285 uint8_t minor_opcode;
2286 uint16_t length;
2287 xcb_xkb_device_spec_t deviceSpec;
2288 uint8_t pad0[2];
2289 uint32_t which;
2290} xcb_xkb_get_names_request_t;
2291
2292/**
2293 * @brief xcb_xkb_get_names_value_list_t
2294 **/
2295typedef struct xcb_xkb_get_names_value_list_t {
2296 xcb_atom_t keycodesName;
2297 xcb_atom_t geometryName;
2298 xcb_atom_t symbolsName;
2299 xcb_atom_t physSymbolsName;
2300 xcb_atom_t typesName;
2301 xcb_atom_t compatName;
2302 xcb_atom_t *typeNames;
2303 uint8_t *nLevelsPerType;
2304 uint8_t *pad1;
2305 xcb_atom_t *ktLevelNames;
2306 xcb_atom_t *indicatorNames;
2307 xcb_atom_t *virtualModNames;
2308 xcb_atom_t *groups;
2309 xcb_xkb_key_name_t *keyNames;
2310 xcb_xkb_key_alias_t *keyAliases;
2311 xcb_atom_t *radioGroupNames;
2312} xcb_xkb_get_names_value_list_t;
2313
2314/**
2315 * @brief xcb_xkb_get_names_reply_t
2316 **/
2317typedef struct xcb_xkb_get_names_reply_t {
2318 uint8_t response_type;
2319 uint8_t deviceID;
2320 uint16_t sequence;
2321 uint32_t length;
2322 uint32_t which;
2323 xcb_keycode_t minKeyCode;
2324 xcb_keycode_t maxKeyCode;
2325 uint8_t nTypes;
2326 uint8_t groupNames;
2327 uint16_t virtualMods;
2328 xcb_keycode_t firstKey;
2329 uint8_t nKeys;
2330 uint32_t indicators;
2331 uint8_t nRadioGroups;
2332 uint8_t nKeyAliases;
2333 uint16_t nKTLevels;
2334 uint8_t pad0[4];
2335} xcb_xkb_get_names_reply_t;
2336
2337/**
2338 * @brief xcb_xkb_set_names_values_t
2339 **/
2340typedef struct xcb_xkb_set_names_values_t {
2341 xcb_atom_t keycodesName;
2342 xcb_atom_t geometryName;
2343 xcb_atom_t symbolsName;
2344 xcb_atom_t physSymbolsName;
2345 xcb_atom_t typesName;
2346 xcb_atom_t compatName;
2347 xcb_atom_t *typeNames;
2348 uint8_t *nLevelsPerType;
2349 xcb_atom_t *ktLevelNames;
2350 xcb_atom_t *indicatorNames;
2351 xcb_atom_t *virtualModNames;
2352 xcb_atom_t *groups;
2353 xcb_xkb_key_name_t *keyNames;
2354 xcb_xkb_key_alias_t *keyAliases;
2355 xcb_atom_t *radioGroupNames;
2356} xcb_xkb_set_names_values_t;
2357
2358/** Opcode for xcb_xkb_set_names. */
2359#define XCB_XKB_SET_NAMES 18
2360
2361/**
2362 * @brief xcb_xkb_set_names_request_t
2363 **/
2364typedef struct xcb_xkb_set_names_request_t {
2365 uint8_t major_opcode;
2366 uint8_t minor_opcode;
2367 uint16_t length;
2368 xcb_xkb_device_spec_t deviceSpec;
2369 uint16_t virtualMods;
2370 uint32_t which;
2371 uint8_t firstType;
2372 uint8_t nTypes;
2373 uint8_t firstKTLevelt;
2374 uint8_t nKTLevels;
2375 uint32_t indicators;
2376 uint8_t groupNames;
2377 uint8_t nRadioGroups;
2378 xcb_keycode_t firstKey;
2379 uint8_t nKeys;
2380 uint8_t nKeyAliases;
2381 uint8_t pad0;
2382 uint16_t totalKTLevelNames;
2383} xcb_xkb_set_names_request_t;
2384
2385/**
2386 * @brief xcb_xkb_per_client_flags_cookie_t
2387 **/
2388typedef struct xcb_xkb_per_client_flags_cookie_t {
2389 unsigned int sequence;
2390} xcb_xkb_per_client_flags_cookie_t;
2391
2392/** Opcode for xcb_xkb_per_client_flags. */
2393#define XCB_XKB_PER_CLIENT_FLAGS 21
2394
2395/**
2396 * @brief xcb_xkb_per_client_flags_request_t
2397 **/
2398typedef struct xcb_xkb_per_client_flags_request_t {
2399 uint8_t major_opcode;
2400 uint8_t minor_opcode;
2401 uint16_t length;
2402 xcb_xkb_device_spec_t deviceSpec;
2403 uint8_t pad0[2];
2404 uint32_t change;
2405 uint32_t value;
2406 uint32_t ctrlsToChange;
2407 uint32_t autoCtrls;
2408 uint32_t autoCtrlsValues;
2409} xcb_xkb_per_client_flags_request_t;
2410
2411/**
2412 * @brief xcb_xkb_per_client_flags_reply_t
2413 **/
2414typedef struct xcb_xkb_per_client_flags_reply_t {
2415 uint8_t response_type;
2416 uint8_t deviceID;
2417 uint16_t sequence;
2418 uint32_t length;
2419 uint32_t supported;
2420 uint32_t value;
2421 uint32_t autoCtrls;
2422 uint32_t autoCtrlsValues;
2423 uint8_t pad0[8];
2424} xcb_xkb_per_client_flags_reply_t;
2425
2426/**
2427 * @brief xcb_xkb_list_components_cookie_t
2428 **/
2429typedef struct xcb_xkb_list_components_cookie_t {
2430 unsigned int sequence;
2431} xcb_xkb_list_components_cookie_t;
2432
2433/** Opcode for xcb_xkb_list_components. */
2434#define XCB_XKB_LIST_COMPONENTS 22
2435
2436/**
2437 * @brief xcb_xkb_list_components_request_t
2438 **/
2439typedef struct xcb_xkb_list_components_request_t {
2440 uint8_t major_opcode;
2441 uint8_t minor_opcode;
2442 uint16_t length;
2443 xcb_xkb_device_spec_t deviceSpec;
2444 uint16_t maxNames;
2445} xcb_xkb_list_components_request_t;
2446
2447/**
2448 * @brief xcb_xkb_list_components_reply_t
2449 **/
2450typedef struct xcb_xkb_list_components_reply_t {
2451 uint8_t response_type;
2452 uint8_t deviceID;
2453 uint16_t sequence;
2454 uint32_t length;
2455 uint16_t nKeymaps;
2456 uint16_t nKeycodes;
2457 uint16_t nTypes;
2458 uint16_t nCompatMaps;
2459 uint16_t nSymbols;
2460 uint16_t nGeometries;
2461 uint16_t extra;
2462 uint8_t pad0[10];
2463} xcb_xkb_list_components_reply_t;
2464
2465/**
2466 * @brief xcb_xkb_get_kbd_by_name_cookie_t
2467 **/
2468typedef struct xcb_xkb_get_kbd_by_name_cookie_t {
2469 unsigned int sequence;
2470} xcb_xkb_get_kbd_by_name_cookie_t;
2471
2472/** Opcode for xcb_xkb_get_kbd_by_name. */
2473#define XCB_XKB_GET_KBD_BY_NAME 23
2474
2475/**
2476 * @brief xcb_xkb_get_kbd_by_name_request_t
2477 **/
2478typedef struct xcb_xkb_get_kbd_by_name_request_t {
2479 uint8_t major_opcode;
2480 uint8_t minor_opcode;
2481 uint16_t length;
2482 xcb_xkb_device_spec_t deviceSpec;
2483 uint16_t need;
2484 uint16_t want;
2485 uint8_t load;
2486 uint8_t pad0;
2487} xcb_xkb_get_kbd_by_name_request_t;
2488
2489/**
2490 * @brief xcb_xkb_get_kbd_by_name_replies_types_map_t
2491 **/
2492typedef struct xcb_xkb_get_kbd_by_name_replies_types_map_t {
2493 xcb_xkb_key_type_t *types_rtrn;
2494 xcb_xkb_key_sym_map_t *syms_rtrn;
2495 uint8_t *acts_rtrn_count;
2496 xcb_xkb_action_t *acts_rtrn_acts;
2497 xcb_xkb_set_behavior_t *behaviors_rtrn;
2498 uint8_t *vmods_rtrn;
2499 xcb_xkb_set_explicit_t *explicit_rtrn;
2500 xcb_xkb_key_mod_map_t *modmap_rtrn;
2501 xcb_xkb_key_v_mod_map_t *vmodmap_rtrn;
2502} xcb_xkb_get_kbd_by_name_replies_types_map_t;
2503
2504/**
2505 * @brief xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t
2506 **/
2507typedef struct xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
2508 xcb_atom_t keycodesName;
2509 xcb_atom_t geometryName;
2510 xcb_atom_t symbolsName;
2511 xcb_atom_t physSymbolsName;
2512 xcb_atom_t typesName;
2513 xcb_atom_t compatName;
2514 xcb_atom_t *typeNames;
2515 uint8_t *nLevelsPerType;
2516 xcb_atom_t *ktLevelNames;
2517 xcb_atom_t *indicatorNames;
2518 xcb_atom_t *virtualModNames;
2519 xcb_atom_t *groups;
2520 xcb_xkb_key_name_t *keyNames;
2521 xcb_xkb_key_alias_t *keyAliases;
2522 xcb_atom_t *radioGroupNames;
2523} xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t;
2524
2525/**
2526 * @brief xcb_xkb_get_kbd_by_name_replies_t
2527 **/
2528typedef struct xcb_xkb_get_kbd_by_name_replies_t {
2529 struct {
2530 uint8_t getmap_type;
2531 uint8_t typeDeviceID;
2532 uint16_t getmap_sequence;
2533 uint32_t getmap_length;
2534 uint8_t pad1[2];
2535 xcb_keycode_t typeMinKeyCode;
2536 xcb_keycode_t typeMaxKeyCode;
2537 uint16_t present;
2538 uint8_t firstType;
2539 uint8_t nTypes;
2540 uint8_t totalTypes;
2541 xcb_keycode_t firstKeySym;
2542 uint16_t totalSyms;
2543 uint8_t nKeySyms;
2544 xcb_keycode_t firstKeyAction;
2545 uint16_t totalActions;
2546 uint8_t nKeyActions;
2547 xcb_keycode_t firstKeyBehavior;
2548 uint8_t nKeyBehaviors;
2549 uint8_t totalKeyBehaviors;
2550 xcb_keycode_t firstKeyExplicit;
2551 uint8_t nKeyExplicit;
2552 uint8_t totalKeyExplicit;
2553 xcb_keycode_t firstModMapKey;
2554 uint8_t nModMapKeys;
2555 uint8_t totalModMapKeys;
2556 xcb_keycode_t firstVModMapKey;
2557 uint8_t nVModMapKeys;
2558 uint8_t totalVModMapKeys;
2559 uint8_t pad2;
2560 uint16_t virtualMods;
2561 xcb_xkb_get_kbd_by_name_replies_types_map_t map;
2562 } types;
2563 struct {
2564 uint8_t compatmap_type;
2565 uint8_t compatDeviceID;
2566 uint16_t compatmap_sequence;
2567 uint32_t compatmap_length;
2568 uint8_t groupsRtrn;
2569 uint8_t pad7;
2570 uint16_t firstSIRtrn;
2571 uint16_t nSIRtrn;
2572 uint16_t nTotalSI;
2573 uint8_t pad8[16];
2574 xcb_xkb_sym_interpret_t *si_rtrn;
2575 xcb_xkb_mod_def_t *group_rtrn;
2576 } compat_map;
2577 struct {
2578 uint8_t indicatormap_type;
2579 uint8_t indicatorDeviceID;
2580 uint16_t indicatormap_sequence;
2581 uint32_t indicatormap_length;
2582 uint32_t which;
2583 uint32_t realIndicators;
2584 uint8_t nIndicators;
2585 uint8_t pad9[15];
2586 xcb_xkb_indicator_map_t *maps;
2587 } indicator_maps;
2588 struct {
2589 uint8_t keyname_type;
2590 uint8_t keyDeviceID;
2591 uint16_t keyname_sequence;
2592 uint32_t keyname_length;
2593 uint32_t which;
2594 xcb_keycode_t keyMinKeyCode;
2595 xcb_keycode_t keyMaxKeyCode;
2596 uint8_t nTypes;
2597 uint8_t groupNames;
2598 uint16_t virtualMods;
2599 xcb_keycode_t firstKey;
2600 uint8_t nKeys;
2601 uint32_t indicators;
2602 uint8_t nRadioGroups;
2603 uint8_t nKeyAliases;
2604 uint16_t nKTLevels;
2605 uint8_t pad10[4];
2606 xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t valueList;
2607 } key_names;
2608 struct {
2609 uint8_t geometry_type;
2610 uint8_t geometryDeviceID;
2611 uint16_t geometry_sequence;
2612 uint32_t geometry_length;
2613 xcb_atom_t name;
2614 uint8_t geometryFound;
2615 uint8_t pad12;
2616 uint16_t widthMM;
2617 uint16_t heightMM;
2618 uint16_t nProperties;
2619 uint16_t nColors;
2620 uint16_t nShapes;
2621 uint16_t nSections;
2622 uint16_t nDoodads;
2623 uint16_t nKeyAliases;
2624 uint8_t baseColorNdx;
2625 uint8_t labelColorNdx;
2626 xcb_xkb_counted_string_16_t *labelFont;
2627 } geometry;
2628} xcb_xkb_get_kbd_by_name_replies_t;
2629
2630xcb_xkb_get_kbd_by_name_replies_types_map_t *
2631xcb_xkb_get_kbd_by_name_replies_types_map (const xcb_xkb_get_kbd_by_name_replies_t *R);
2632
2633/**
2634 * @brief xcb_xkb_get_kbd_by_name_reply_t
2635 **/
2636typedef struct xcb_xkb_get_kbd_by_name_reply_t {
2637 uint8_t response_type;
2638 uint8_t deviceID;
2639 uint16_t sequence;
2640 uint32_t length;
2641 xcb_keycode_t minKeyCode;
2642 xcb_keycode_t maxKeyCode;
2643 uint8_t loaded;
2644 uint8_t newKeyboard;
2645 uint16_t found;
2646 uint16_t reported;
2647 uint8_t pad0[16];
2648} xcb_xkb_get_kbd_by_name_reply_t;
2649
2650/**
2651 * @brief xcb_xkb_get_device_info_cookie_t
2652 **/
2653typedef struct xcb_xkb_get_device_info_cookie_t {
2654 unsigned int sequence;
2655} xcb_xkb_get_device_info_cookie_t;
2656
2657/** Opcode for xcb_xkb_get_device_info. */
2658#define XCB_XKB_GET_DEVICE_INFO 24
2659
2660/**
2661 * @brief xcb_xkb_get_device_info_request_t
2662 **/
2663typedef struct xcb_xkb_get_device_info_request_t {
2664 uint8_t major_opcode;
2665 uint8_t minor_opcode;
2666 uint16_t length;
2667 xcb_xkb_device_spec_t deviceSpec;
2668 uint16_t wanted;
2669 uint8_t allButtons;
2670 uint8_t firstButton;
2671 uint8_t nButtons;
2672 uint8_t pad0;
2673 xcb_xkb_led_class_spec_t ledClass;
2674 xcb_xkb_id_spec_t ledID;
2675} xcb_xkb_get_device_info_request_t;
2676
2677/**
2678 * @brief xcb_xkb_get_device_info_reply_t
2679 **/
2680typedef struct xcb_xkb_get_device_info_reply_t {
2681 uint8_t response_type;
2682 uint8_t deviceID;
2683 uint16_t sequence;
2684 uint32_t length;
2685 uint16_t present;
2686 uint16_t supported;
2687 uint16_t unsupported;
2688 uint16_t nDeviceLedFBs;
2689 uint8_t firstBtnWanted;
2690 uint8_t nBtnsWanted;
2691 uint8_t firstBtnRtrn;
2692 uint8_t nBtnsRtrn;
2693 uint8_t totalBtns;
2694 uint8_t hasOwnState;
2695 uint16_t dfltKbdFB;
2696 uint16_t dfltLedFB;
2697 uint8_t pad0[2];
2698 xcb_atom_t devType;
2699 uint16_t nameLen;
2700} xcb_xkb_get_device_info_reply_t;
2701
2702/** Opcode for xcb_xkb_set_device_info. */
2703#define XCB_XKB_SET_DEVICE_INFO 25
2704
2705/**
2706 * @brief xcb_xkb_set_device_info_request_t
2707 **/
2708typedef struct xcb_xkb_set_device_info_request_t {
2709 uint8_t major_opcode;
2710 uint8_t minor_opcode;
2711 uint16_t length;
2712 xcb_xkb_device_spec_t deviceSpec;
2713 uint8_t firstBtn;
2714 uint8_t nBtns;
2715 uint16_t change;
2716 uint16_t nDeviceLedFBs;
2717} xcb_xkb_set_device_info_request_t;
2718
2719/**
2720 * @brief xcb_xkb_set_debugging_flags_cookie_t
2721 **/
2722typedef struct xcb_xkb_set_debugging_flags_cookie_t {
2723 unsigned int sequence;
2724} xcb_xkb_set_debugging_flags_cookie_t;
2725
2726/** Opcode for xcb_xkb_set_debugging_flags. */
2727#define XCB_XKB_SET_DEBUGGING_FLAGS 101
2728
2729/**
2730 * @brief xcb_xkb_set_debugging_flags_request_t
2731 **/
2732typedef struct xcb_xkb_set_debugging_flags_request_t {
2733 uint8_t major_opcode;
2734 uint8_t minor_opcode;
2735 uint16_t length;
2736 uint16_t msgLength;
2737 uint8_t pad0[2];
2738 uint32_t affectFlags;
2739 uint32_t flags;
2740 uint32_t affectCtrls;
2741 uint32_t ctrls;
2742} xcb_xkb_set_debugging_flags_request_t;
2743
2744/**
2745 * @brief xcb_xkb_set_debugging_flags_reply_t
2746 **/
2747typedef struct xcb_xkb_set_debugging_flags_reply_t {
2748 uint8_t response_type;
2749 uint8_t pad0;
2750 uint16_t sequence;
2751 uint32_t length;
2752 uint32_t currentFlags;
2753 uint32_t currentCtrls;
2754 uint32_t supportedFlags;
2755 uint32_t supportedCtrls;
2756 uint8_t pad1[8];
2757} xcb_xkb_set_debugging_flags_reply_t;
2758
2759/** Opcode for xcb_xkb_new_keyboard_notify. */
2760#define XCB_XKB_NEW_KEYBOARD_NOTIFY 0
2761
2762/**
2763 * @brief xcb_xkb_new_keyboard_notify_event_t
2764 **/
2765typedef struct xcb_xkb_new_keyboard_notify_event_t {
2766 uint8_t response_type;
2767 uint8_t xkbType;
2768 uint16_t sequence;
2769 xcb_timestamp_t time;
2770 uint8_t deviceID;
2771 uint8_t oldDeviceID;
2772 xcb_keycode_t minKeyCode;
2773 xcb_keycode_t maxKeyCode;
2774 xcb_keycode_t oldMinKeyCode;
2775 xcb_keycode_t oldMaxKeyCode;
2776 uint8_t requestMajor;
2777 uint8_t requestMinor;
2778 uint16_t changed;
2779 uint8_t pad0[14];
2780} xcb_xkb_new_keyboard_notify_event_t;
2781
2782/** Opcode for xcb_xkb_map_notify. */
2783#define XCB_XKB_MAP_NOTIFY 1
2784
2785/**
2786 * @brief xcb_xkb_map_notify_event_t
2787 **/
2788typedef struct xcb_xkb_map_notify_event_t {
2789 uint8_t response_type;
2790 uint8_t xkbType;
2791 uint16_t sequence;
2792 xcb_timestamp_t time;
2793 uint8_t deviceID;
2794 uint8_t ptrBtnActions;
2795 uint16_t changed;
2796 xcb_keycode_t minKeyCode;
2797 xcb_keycode_t maxKeyCode;
2798 uint8_t firstType;
2799 uint8_t nTypes;
2800 xcb_keycode_t firstKeySym;
2801 uint8_t nKeySyms;
2802 xcb_keycode_t firstKeyAct;
2803 uint8_t nKeyActs;
2804 xcb_keycode_t firstKeyBehavior;
2805 uint8_t nKeyBehavior;
2806 xcb_keycode_t firstKeyExplicit;
2807 uint8_t nKeyExplicit;
2808 xcb_keycode_t firstModMapKey;
2809 uint8_t nModMapKeys;
2810 xcb_keycode_t firstVModMapKey;
2811 uint8_t nVModMapKeys;
2812 uint16_t virtualMods;
2813 uint8_t pad0[2];
2814} xcb_xkb_map_notify_event_t;
2815
2816/** Opcode for xcb_xkb_state_notify. */
2817#define XCB_XKB_STATE_NOTIFY 2
2818
2819/**
2820 * @brief xcb_xkb_state_notify_event_t
2821 **/
2822typedef struct xcb_xkb_state_notify_event_t {
2823 uint8_t response_type;
2824 uint8_t xkbType;
2825 uint16_t sequence;
2826 xcb_timestamp_t time;
2827 uint8_t deviceID;
2828 uint8_t mods;
2829 uint8_t baseMods;
2830 uint8_t latchedMods;
2831 uint8_t lockedMods;
2832 uint8_t group;
2833 int16_t baseGroup;
2834 int16_t latchedGroup;
2835 uint8_t lockedGroup;
2836 uint8_t compatState;
2837 uint8_t grabMods;
2838 uint8_t compatGrabMods;
2839 uint8_t lookupMods;
2840 uint8_t compatLoockupMods;
2841 uint16_t ptrBtnState;
2842 uint16_t changed;
2843 xcb_keycode_t keycode;
2844 uint8_t eventType;
2845 uint8_t requestMajor;
2846 uint8_t requestMinor;
2847} xcb_xkb_state_notify_event_t;
2848
2849/** Opcode for xcb_xkb_controls_notify. */
2850#define XCB_XKB_CONTROLS_NOTIFY 3
2851
2852/**
2853 * @brief xcb_xkb_controls_notify_event_t
2854 **/
2855typedef struct xcb_xkb_controls_notify_event_t {
2856 uint8_t response_type;
2857 uint8_t xkbType;
2858 uint16_t sequence;
2859 xcb_timestamp_t time;
2860 uint8_t deviceID;
2861 uint8_t numGroups;
2862 uint8_t pad0[2];
2863 uint32_t changedControls;
2864 uint32_t enabledControls;
2865 uint32_t enabledControlChanges;
2866 xcb_keycode_t keycode;
2867 uint8_t eventType;
2868 uint8_t requestMajor;
2869 uint8_t requestMinor;
2870 uint8_t pad1[4];
2871} xcb_xkb_controls_notify_event_t;
2872
2873/** Opcode for xcb_xkb_indicator_state_notify. */
2874#define XCB_XKB_INDICATOR_STATE_NOTIFY 4
2875
2876/**
2877 * @brief xcb_xkb_indicator_state_notify_event_t
2878 **/
2879typedef struct xcb_xkb_indicator_state_notify_event_t {
2880 uint8_t response_type;
2881 uint8_t xkbType;
2882 uint16_t sequence;
2883 xcb_timestamp_t time;
2884 uint8_t deviceID;
2885 uint8_t pad0[3];
2886 uint32_t state;
2887 uint32_t stateChanged;
2888 uint8_t pad1[12];
2889} xcb_xkb_indicator_state_notify_event_t;
2890
2891/** Opcode for xcb_xkb_indicator_map_notify. */
2892#define XCB_XKB_INDICATOR_MAP_NOTIFY 5
2893
2894/**
2895 * @brief xcb_xkb_indicator_map_notify_event_t
2896 **/
2897typedef struct xcb_xkb_indicator_map_notify_event_t {
2898 uint8_t response_type;
2899 uint8_t xkbType;
2900 uint16_t sequence;
2901 xcb_timestamp_t time;
2902 uint8_t deviceID;
2903 uint8_t pad0[3];
2904 uint32_t state;
2905 uint32_t mapChanged;
2906 uint8_t pad1[12];
2907} xcb_xkb_indicator_map_notify_event_t;
2908
2909/** Opcode for xcb_xkb_names_notify. */
2910#define XCB_XKB_NAMES_NOTIFY 6
2911
2912/**
2913 * @brief xcb_xkb_names_notify_event_t
2914 **/
2915typedef struct xcb_xkb_names_notify_event_t {
2916 uint8_t response_type;
2917 uint8_t xkbType;
2918 uint16_t sequence;
2919 xcb_timestamp_t time;
2920 uint8_t deviceID;
2921 uint8_t pad0;
2922 uint16_t changed;
2923 uint8_t firstType;
2924 uint8_t nTypes;
2925 uint8_t firstLevelName;
2926 uint8_t nLevelNames;
2927 uint8_t pad1;
2928 uint8_t nRadioGroups;
2929 uint8_t nKeyAliases;
2930 uint8_t changedGroupNames;
2931 uint16_t changedVirtualMods;
2932 xcb_keycode_t firstKey;
2933 uint8_t nKeys;
2934 uint32_t changedIndicators;
2935 uint8_t pad2[4];
2936} xcb_xkb_names_notify_event_t;
2937
2938/** Opcode for xcb_xkb_compat_map_notify. */
2939#define XCB_XKB_COMPAT_MAP_NOTIFY 7
2940
2941/**
2942 * @brief xcb_xkb_compat_map_notify_event_t
2943 **/
2944typedef struct xcb_xkb_compat_map_notify_event_t {
2945 uint8_t response_type;
2946 uint8_t xkbType;
2947 uint16_t sequence;
2948 xcb_timestamp_t time;
2949 uint8_t deviceID;
2950 uint8_t changedGroups;
2951 uint16_t firstSI;
2952 uint16_t nSI;
2953 uint16_t nTotalSI;
2954 uint8_t pad0[16];
2955} xcb_xkb_compat_map_notify_event_t;
2956
2957/** Opcode for xcb_xkb_bell_notify. */
2958#define XCB_XKB_BELL_NOTIFY 8
2959
2960/**
2961 * @brief xcb_xkb_bell_notify_event_t
2962 **/
2963typedef struct xcb_xkb_bell_notify_event_t {
2964 uint8_t response_type;
2965 uint8_t xkbType;
2966 uint16_t sequence;
2967 xcb_timestamp_t time;
2968 uint8_t deviceID;
2969 uint8_t bellClass;
2970 uint8_t bellID;
2971 uint8_t percent;
2972 uint16_t pitch;
2973 uint16_t duration;
2974 xcb_atom_t name;
2975 xcb_window_t window;
2976 uint8_t eventOnly;
2977 uint8_t pad0[7];
2978} xcb_xkb_bell_notify_event_t;
2979
2980/** Opcode for xcb_xkb_action_message. */
2981#define XCB_XKB_ACTION_MESSAGE 9
2982
2983/**
2984 * @brief xcb_xkb_action_message_event_t
2985 **/
2986typedef struct xcb_xkb_action_message_event_t {
2987 uint8_t response_type;
2988 uint8_t xkbType;
2989 uint16_t sequence;
2990 xcb_timestamp_t time;
2991 uint8_t deviceID;
2992 xcb_keycode_t keycode;
2993 uint8_t press;
2994 uint8_t keyEventFollows;
2995 uint8_t mods;
2996 uint8_t group;
2997 xcb_xkb_string8_t message[8];
2998 uint8_t pad0[10];
2999} xcb_xkb_action_message_event_t;
3000
3001/** Opcode for xcb_xkb_access_x_notify. */
3002#define XCB_XKB_ACCESS_X_NOTIFY 10
3003
3004/**
3005 * @brief xcb_xkb_access_x_notify_event_t
3006 **/
3007typedef struct xcb_xkb_access_x_notify_event_t {
3008 uint8_t response_type;
3009 uint8_t xkbType;
3010 uint16_t sequence;
3011 xcb_timestamp_t time;
3012 uint8_t deviceID;
3013 xcb_keycode_t keycode;
3014 uint16_t detailt;
3015 uint16_t slowKeysDelay;
3016 uint16_t debounceDelay;
3017 uint8_t pad0[16];
3018} xcb_xkb_access_x_notify_event_t;
3019
3020/** Opcode for xcb_xkb_extension_device_notify. */
3021#define XCB_XKB_EXTENSION_DEVICE_NOTIFY 11
3022
3023/**
3024 * @brief xcb_xkb_extension_device_notify_event_t
3025 **/
3026typedef struct xcb_xkb_extension_device_notify_event_t {
3027 uint8_t response_type;
3028 uint8_t xkbType;
3029 uint16_t sequence;
3030 xcb_timestamp_t time;
3031 uint8_t deviceID;
3032 uint8_t pad0;
3033 uint16_t reason;
3034 uint16_t ledClass;
3035 uint16_t ledID;
3036 uint32_t ledsDefined;
3037 uint32_t ledState;
3038 uint8_t firstButton;
3039 uint8_t nButtons;
3040 uint16_t supported;
3041 uint16_t unsupported;
3042 uint8_t pad1[2];
3043} xcb_xkb_extension_device_notify_event_t;
3044
3045/**
3046 * Get the next element of the iterator
3047 * @param i Pointer to a xcb_xkb_device_spec_iterator_t
3048 *
3049 * Get the next element in the iterator. The member rem is
3050 * decreased by one. The member data points to the next
3051 * element. The member index is increased by sizeof(xcb_xkb_device_spec_t)
3052 */
3053void
3054xcb_xkb_device_spec_next (xcb_xkb_device_spec_iterator_t *i);
3055
3056/**
3057 * Return the iterator pointing to the last element
3058 * @param i An xcb_xkb_device_spec_iterator_t
3059 * @return The iterator pointing to the last element
3060 *
3061 * Set the current element in the iterator to the last element.
3062 * The member rem is set to 0. The member data points to the
3063 * last element.
3064 */
3065xcb_generic_iterator_t
3066xcb_xkb_device_spec_end (xcb_xkb_device_spec_iterator_t i);
3067
3068/**
3069 * Get the next element of the iterator
3070 * @param i Pointer to a xcb_xkb_led_class_spec_iterator_t
3071 *
3072 * Get the next element in the iterator. The member rem is
3073 * decreased by one. The member data points to the next
3074 * element. The member index is increased by sizeof(xcb_xkb_led_class_spec_t)
3075 */
3076void
3077xcb_xkb_led_class_spec_next (xcb_xkb_led_class_spec_iterator_t *i);
3078
3079/**
3080 * Return the iterator pointing to the last element
3081 * @param i An xcb_xkb_led_class_spec_iterator_t
3082 * @return The iterator pointing to the last element
3083 *
3084 * Set the current element in the iterator to the last element.
3085 * The member rem is set to 0. The member data points to the
3086 * last element.
3087 */
3088xcb_generic_iterator_t
3089xcb_xkb_led_class_spec_end (xcb_xkb_led_class_spec_iterator_t i);
3090
3091/**
3092 * Get the next element of the iterator
3093 * @param i Pointer to a xcb_xkb_bell_class_spec_iterator_t
3094 *
3095 * Get the next element in the iterator. The member rem is
3096 * decreased by one. The member data points to the next
3097 * element. The member index is increased by sizeof(xcb_xkb_bell_class_spec_t)
3098 */
3099void
3100xcb_xkb_bell_class_spec_next (xcb_xkb_bell_class_spec_iterator_t *i);
3101
3102/**
3103 * Return the iterator pointing to the last element
3104 * @param i An xcb_xkb_bell_class_spec_iterator_t
3105 * @return The iterator pointing to the last element
3106 *
3107 * Set the current element in the iterator to the last element.
3108 * The member rem is set to 0. The member data points to the
3109 * last element.
3110 */
3111xcb_generic_iterator_t
3112xcb_xkb_bell_class_spec_end (xcb_xkb_bell_class_spec_iterator_t i);
3113
3114/**
3115 * Get the next element of the iterator
3116 * @param i Pointer to a xcb_xkb_id_spec_iterator_t
3117 *
3118 * Get the next element in the iterator. The member rem is
3119 * decreased by one. The member data points to the next
3120 * element. The member index is increased by sizeof(xcb_xkb_id_spec_t)
3121 */
3122void
3123xcb_xkb_id_spec_next (xcb_xkb_id_spec_iterator_t *i);
3124
3125/**
3126 * Return the iterator pointing to the last element
3127 * @param i An xcb_xkb_id_spec_iterator_t
3128 * @return The iterator pointing to the last element
3129 *
3130 * Set the current element in the iterator to the last element.
3131 * The member rem is set to 0. The member data points to the
3132 * last element.
3133 */
3134xcb_generic_iterator_t
3135xcb_xkb_id_spec_end (xcb_xkb_id_spec_iterator_t i);
3136
3137/**
3138 * Get the next element of the iterator
3139 * @param i Pointer to a xcb_xkb_indicator_map_iterator_t
3140 *
3141 * Get the next element in the iterator. The member rem is
3142 * decreased by one. The member data points to the next
3143 * element. The member index is increased by sizeof(xcb_xkb_indicator_map_t)
3144 */
3145void
3146xcb_xkb_indicator_map_next (xcb_xkb_indicator_map_iterator_t *i);
3147
3148/**
3149 * Return the iterator pointing to the last element
3150 * @param i An xcb_xkb_indicator_map_iterator_t
3151 * @return The iterator pointing to the last element
3152 *
3153 * Set the current element in the iterator to the last element.
3154 * The member rem is set to 0. The member data points to the
3155 * last element.
3156 */
3157xcb_generic_iterator_t
3158xcb_xkb_indicator_map_end (xcb_xkb_indicator_map_iterator_t i);
3159
3160/**
3161 * Get the next element of the iterator
3162 * @param i Pointer to a xcb_xkb_mod_def_iterator_t
3163 *
3164 * Get the next element in the iterator. The member rem is
3165 * decreased by one. The member data points to the next
3166 * element. The member index is increased by sizeof(xcb_xkb_mod_def_t)
3167 */
3168void
3169xcb_xkb_mod_def_next (xcb_xkb_mod_def_iterator_t *i);
3170
3171/**
3172 * Return the iterator pointing to the last element
3173 * @param i An xcb_xkb_mod_def_iterator_t
3174 * @return The iterator pointing to the last element
3175 *
3176 * Set the current element in the iterator to the last element.
3177 * The member rem is set to 0. The member data points to the
3178 * last element.
3179 */
3180xcb_generic_iterator_t
3181xcb_xkb_mod_def_end (xcb_xkb_mod_def_iterator_t i);
3182
3183/**
3184 * Get the next element of the iterator
3185 * @param i Pointer to a xcb_xkb_key_name_iterator_t
3186 *
3187 * Get the next element in the iterator. The member rem is
3188 * decreased by one. The member data points to the next
3189 * element. The member index is increased by sizeof(xcb_xkb_key_name_t)
3190 */
3191void
3192xcb_xkb_key_name_next (xcb_xkb_key_name_iterator_t *i);
3193
3194/**
3195 * Return the iterator pointing to the last element
3196 * @param i An xcb_xkb_key_name_iterator_t
3197 * @return The iterator pointing to the last element
3198 *
3199 * Set the current element in the iterator to the last element.
3200 * The member rem is set to 0. The member data points to the
3201 * last element.
3202 */
3203xcb_generic_iterator_t
3204xcb_xkb_key_name_end (xcb_xkb_key_name_iterator_t i);
3205
3206/**
3207 * Get the next element of the iterator
3208 * @param i Pointer to a xcb_xkb_key_alias_iterator_t
3209 *
3210 * Get the next element in the iterator. The member rem is
3211 * decreased by one. The member data points to the next
3212 * element. The member index is increased by sizeof(xcb_xkb_key_alias_t)
3213 */
3214void
3215xcb_xkb_key_alias_next (xcb_xkb_key_alias_iterator_t *i);
3216
3217/**
3218 * Return the iterator pointing to the last element
3219 * @param i An xcb_xkb_key_alias_iterator_t
3220 * @return The iterator pointing to the last element
3221 *
3222 * Set the current element in the iterator to the last element.
3223 * The member rem is set to 0. The member data points to the
3224 * last element.
3225 */
3226xcb_generic_iterator_t
3227xcb_xkb_key_alias_end (xcb_xkb_key_alias_iterator_t i);
3228
3229int
3230xcb_xkb_counted_string_16_sizeof (const void *_buffer);
3231
3232char *
3233xcb_xkb_counted_string_16_string (const xcb_xkb_counted_string_16_t *R);
3234
3235int
3236xcb_xkb_counted_string_16_string_length (const xcb_xkb_counted_string_16_t *R);
3237
3238xcb_generic_iterator_t
3239xcb_xkb_counted_string_16_string_end (const xcb_xkb_counted_string_16_t *R);
3240
3241void *
3242xcb_xkb_counted_string_16_alignment_pad (const xcb_xkb_counted_string_16_t *R);
3243
3244int
3245xcb_xkb_counted_string_16_alignment_pad_length (const xcb_xkb_counted_string_16_t *R);
3246
3247xcb_generic_iterator_t
3248xcb_xkb_counted_string_16_alignment_pad_end (const xcb_xkb_counted_string_16_t *R);
3249
3250/**
3251 * Get the next element of the iterator
3252 * @param i Pointer to a xcb_xkb_counted_string_16_iterator_t
3253 *
3254 * Get the next element in the iterator. The member rem is
3255 * decreased by one. The member data points to the next
3256 * element. The member index is increased by sizeof(xcb_xkb_counted_string_16_t)
3257 */
3258void
3259xcb_xkb_counted_string_16_next (xcb_xkb_counted_string_16_iterator_t *i);
3260
3261/**
3262 * Return the iterator pointing to the last element
3263 * @param i An xcb_xkb_counted_string_16_iterator_t
3264 * @return The iterator pointing to the last element
3265 *
3266 * Set the current element in the iterator to the last element.
3267 * The member rem is set to 0. The member data points to the
3268 * last element.
3269 */
3270xcb_generic_iterator_t
3271xcb_xkb_counted_string_16_end (xcb_xkb_counted_string_16_iterator_t i);
3272
3273/**
3274 * Get the next element of the iterator
3275 * @param i Pointer to a xcb_xkb_kt_map_entry_iterator_t
3276 *
3277 * Get the next element in the iterator. The member rem is
3278 * decreased by one. The member data points to the next
3279 * element. The member index is increased by sizeof(xcb_xkb_kt_map_entry_t)
3280 */
3281void
3282xcb_xkb_kt_map_entry_next (xcb_xkb_kt_map_entry_iterator_t *i);
3283
3284/**
3285 * Return the iterator pointing to the last element
3286 * @param i An xcb_xkb_kt_map_entry_iterator_t
3287 * @return The iterator pointing to the last element
3288 *
3289 * Set the current element in the iterator to the last element.
3290 * The member rem is set to 0. The member data points to the
3291 * last element.
3292 */
3293xcb_generic_iterator_t
3294xcb_xkb_kt_map_entry_end (xcb_xkb_kt_map_entry_iterator_t i);
3295
3296int
3297xcb_xkb_key_type_sizeof (const void *_buffer);
3298
3299xcb_xkb_kt_map_entry_t *
3300xcb_xkb_key_type_map (const xcb_xkb_key_type_t *R);
3301
3302int
3303xcb_xkb_key_type_map_length (const xcb_xkb_key_type_t *R);
3304
3305xcb_xkb_kt_map_entry_iterator_t
3306xcb_xkb_key_type_map_iterator (const xcb_xkb_key_type_t *R);
3307
3308xcb_xkb_mod_def_t *
3309xcb_xkb_key_type_preserve (const xcb_xkb_key_type_t *R);
3310
3311int
3312xcb_xkb_key_type_preserve_length (const xcb_xkb_key_type_t *R);
3313
3314xcb_xkb_mod_def_iterator_t
3315xcb_xkb_key_type_preserve_iterator (const xcb_xkb_key_type_t *R);
3316
3317/**
3318 * Get the next element of the iterator
3319 * @param i Pointer to a xcb_xkb_key_type_iterator_t
3320 *
3321 * Get the next element in the iterator. The member rem is
3322 * decreased by one. The member data points to the next
3323 * element. The member index is increased by sizeof(xcb_xkb_key_type_t)
3324 */
3325void
3326xcb_xkb_key_type_next (xcb_xkb_key_type_iterator_t *i);
3327
3328/**
3329 * Return the iterator pointing to the last element
3330 * @param i An xcb_xkb_key_type_iterator_t
3331 * @return The iterator pointing to the last element
3332 *
3333 * Set the current element in the iterator to the last element.
3334 * The member rem is set to 0. The member data points to the
3335 * last element.
3336 */
3337xcb_generic_iterator_t
3338xcb_xkb_key_type_end (xcb_xkb_key_type_iterator_t i);
3339
3340int
3341xcb_xkb_key_sym_map_sizeof (const void *_buffer);
3342
3343xcb_keysym_t *
3344xcb_xkb_key_sym_map_syms (const xcb_xkb_key_sym_map_t *R);
3345
3346int
3347xcb_xkb_key_sym_map_syms_length (const xcb_xkb_key_sym_map_t *R);
3348
3349xcb_generic_iterator_t
3350xcb_xkb_key_sym_map_syms_end (const xcb_xkb_key_sym_map_t *R);
3351
3352/**
3353 * Get the next element of the iterator
3354 * @param i Pointer to a xcb_xkb_key_sym_map_iterator_t
3355 *
3356 * Get the next element in the iterator. The member rem is
3357 * decreased by one. The member data points to the next
3358 * element. The member index is increased by sizeof(xcb_xkb_key_sym_map_t)
3359 */
3360void
3361xcb_xkb_key_sym_map_next (xcb_xkb_key_sym_map_iterator_t *i);
3362
3363/**
3364 * Return the iterator pointing to the last element
3365 * @param i An xcb_xkb_key_sym_map_iterator_t
3366 * @return The iterator pointing to the last element
3367 *
3368 * Set the current element in the iterator to the last element.
3369 * The member rem is set to 0. The member data points to the
3370 * last element.
3371 */
3372xcb_generic_iterator_t
3373xcb_xkb_key_sym_map_end (xcb_xkb_key_sym_map_iterator_t i);
3374
3375/**
3376 * Get the next element of the iterator
3377 * @param i Pointer to a xcb_xkb_common_behavior_iterator_t
3378 *
3379 * Get the next element in the iterator. The member rem is
3380 * decreased by one. The member data points to the next
3381 * element. The member index is increased by sizeof(xcb_xkb_common_behavior_t)
3382 */
3383void
3384xcb_xkb_common_behavior_next (xcb_xkb_common_behavior_iterator_t *i);
3385
3386/**
3387 * Return the iterator pointing to the last element
3388 * @param i An xcb_xkb_common_behavior_iterator_t
3389 * @return The iterator pointing to the last element
3390 *
3391 * Set the current element in the iterator to the last element.
3392 * The member rem is set to 0. The member data points to the
3393 * last element.
3394 */
3395xcb_generic_iterator_t
3396xcb_xkb_common_behavior_end (xcb_xkb_common_behavior_iterator_t i);
3397
3398/**
3399 * Get the next element of the iterator
3400 * @param i Pointer to a xcb_xkb_default_behavior_iterator_t
3401 *
3402 * Get the next element in the iterator. The member rem is
3403 * decreased by one. The member data points to the next
3404 * element. The member index is increased by sizeof(xcb_xkb_default_behavior_t)
3405 */
3406void
3407xcb_xkb_default_behavior_next (xcb_xkb_default_behavior_iterator_t *i);
3408
3409/**
3410 * Return the iterator pointing to the last element
3411 * @param i An xcb_xkb_default_behavior_iterator_t
3412 * @return The iterator pointing to the last element
3413 *
3414 * Set the current element in the iterator to the last element.
3415 * The member rem is set to 0. The member data points to the
3416 * last element.
3417 */
3418xcb_generic_iterator_t
3419xcb_xkb_default_behavior_end (xcb_xkb_default_behavior_iterator_t i);
3420
3421/**
3422 * Get the next element of the iterator
3423 * @param i Pointer to a xcb_xkb_lock_behavior_iterator_t
3424 *
3425 * Get the next element in the iterator. The member rem is
3426 * decreased by one. The member data points to the next
3427 * element. The member index is increased by sizeof(xcb_xkb_lock_behavior_t)
3428 */
3429void
3430xcb_xkb_lock_behavior_next (xcb_xkb_lock_behavior_iterator_t *i);
3431
3432/**
3433 * Return the iterator pointing to the last element
3434 * @param i An xcb_xkb_lock_behavior_iterator_t
3435 * @return The iterator pointing to the last element
3436 *
3437 * Set the current element in the iterator to the last element.
3438 * The member rem is set to 0. The member data points to the
3439 * last element.
3440 */
3441xcb_generic_iterator_t
3442xcb_xkb_lock_behavior_end (xcb_xkb_lock_behavior_iterator_t i);
3443
3444/**
3445 * Get the next element of the iterator
3446 * @param i Pointer to a xcb_xkb_radio_group_behavior_iterator_t
3447 *
3448 * Get the next element in the iterator. The member rem is
3449 * decreased by one. The member data points to the next
3450 * element. The member index is increased by sizeof(xcb_xkb_radio_group_behavior_t)
3451 */
3452void
3453xcb_xkb_radio_group_behavior_next (xcb_xkb_radio_group_behavior_iterator_t *i);
3454
3455/**
3456 * Return the iterator pointing to the last element
3457 * @param i An xcb_xkb_radio_group_behavior_iterator_t
3458 * @return The iterator pointing to the last element
3459 *
3460 * Set the current element in the iterator to the last element.
3461 * The member rem is set to 0. The member data points to the
3462 * last element.
3463 */
3464xcb_generic_iterator_t
3465xcb_xkb_radio_group_behavior_end (xcb_xkb_radio_group_behavior_iterator_t i);
3466
3467/**
3468 * Get the next element of the iterator
3469 * @param i Pointer to a xcb_xkb_overlay_behavior_iterator_t
3470 *
3471 * Get the next element in the iterator. The member rem is
3472 * decreased by one. The member data points to the next
3473 * element. The member index is increased by sizeof(xcb_xkb_overlay_behavior_t)
3474 */
3475void
3476xcb_xkb_overlay_behavior_next (xcb_xkb_overlay_behavior_iterator_t *i);
3477
3478/**
3479 * Return the iterator pointing to the last element
3480 * @param i An xcb_xkb_overlay_behavior_iterator_t
3481 * @return The iterator pointing to the last element
3482 *
3483 * Set the current element in the iterator to the last element.
3484 * The member rem is set to 0. The member data points to the
3485 * last element.
3486 */
3487xcb_generic_iterator_t
3488xcb_xkb_overlay_behavior_end (xcb_xkb_overlay_behavior_iterator_t i);
3489
3490/**
3491 * Get the next element of the iterator
3492 * @param i Pointer to a xcb_xkb_permament_lock_behavior_iterator_t
3493 *
3494 * Get the next element in the iterator. The member rem is
3495 * decreased by one. The member data points to the next
3496 * element. The member index is increased by sizeof(xcb_xkb_permament_lock_behavior_t)
3497 */
3498void
3499xcb_xkb_permament_lock_behavior_next (xcb_xkb_permament_lock_behavior_iterator_t *i);
3500
3501/**
3502 * Return the iterator pointing to the last element
3503 * @param i An xcb_xkb_permament_lock_behavior_iterator_t
3504 * @return The iterator pointing to the last element
3505 *
3506 * Set the current element in the iterator to the last element.
3507 * The member rem is set to 0. The member data points to the
3508 * last element.
3509 */
3510xcb_generic_iterator_t
3511xcb_xkb_permament_lock_behavior_end (xcb_xkb_permament_lock_behavior_iterator_t i);
3512
3513/**
3514 * Get the next element of the iterator
3515 * @param i Pointer to a xcb_xkb_permament_radio_group_behavior_iterator_t
3516 *
3517 * Get the next element in the iterator. The member rem is
3518 * decreased by one. The member data points to the next
3519 * element. The member index is increased by sizeof(xcb_xkb_permament_radio_group_behavior_t)
3520 */
3521void
3522xcb_xkb_permament_radio_group_behavior_next (xcb_xkb_permament_radio_group_behavior_iterator_t *i);
3523
3524/**
3525 * Return the iterator pointing to the last element
3526 * @param i An xcb_xkb_permament_radio_group_behavior_iterator_t
3527 * @return The iterator pointing to the last element
3528 *
3529 * Set the current element in the iterator to the last element.
3530 * The member rem is set to 0. The member data points to the
3531 * last element.
3532 */
3533xcb_generic_iterator_t
3534xcb_xkb_permament_radio_group_behavior_end (xcb_xkb_permament_radio_group_behavior_iterator_t i);
3535
3536/**
3537 * Get the next element of the iterator
3538 * @param i Pointer to a xcb_xkb_permament_overlay_behavior_iterator_t
3539 *
3540 * Get the next element in the iterator. The member rem is
3541 * decreased by one. The member data points to the next
3542 * element. The member index is increased by sizeof(xcb_xkb_permament_overlay_behavior_t)
3543 */
3544void
3545xcb_xkb_permament_overlay_behavior_next (xcb_xkb_permament_overlay_behavior_iterator_t *i);
3546
3547/**
3548 * Return the iterator pointing to the last element
3549 * @param i An xcb_xkb_permament_overlay_behavior_iterator_t
3550 * @return The iterator pointing to the last element
3551 *
3552 * Set the current element in the iterator to the last element.
3553 * The member rem is set to 0. The member data points to the
3554 * last element.
3555 */
3556xcb_generic_iterator_t
3557xcb_xkb_permament_overlay_behavior_end (xcb_xkb_permament_overlay_behavior_iterator_t i);
3558
3559/**
3560 * Get the next element of the iterator
3561 * @param i Pointer to a xcb_xkb_behavior_iterator_t
3562 *
3563 * Get the next element in the iterator. The member rem is
3564 * decreased by one. The member data points to the next
3565 * element. The member index is increased by sizeof(xcb_xkb_behavior_t)
3566 */
3567void
3568xcb_xkb_behavior_next (xcb_xkb_behavior_iterator_t *i);
3569
3570/**
3571 * Return the iterator pointing to the last element
3572 * @param i An xcb_xkb_behavior_iterator_t
3573 * @return The iterator pointing to the last element
3574 *
3575 * Set the current element in the iterator to the last element.
3576 * The member rem is set to 0. The member data points to the
3577 * last element.
3578 */
3579xcb_generic_iterator_t
3580xcb_xkb_behavior_end (xcb_xkb_behavior_iterator_t i);
3581
3582/**
3583 * Get the next element of the iterator
3584 * @param i Pointer to a xcb_xkb_set_behavior_iterator_t
3585 *
3586 * Get the next element in the iterator. The member rem is
3587 * decreased by one. The member data points to the next
3588 * element. The member index is increased by sizeof(xcb_xkb_set_behavior_t)
3589 */
3590void
3591xcb_xkb_set_behavior_next (xcb_xkb_set_behavior_iterator_t *i);
3592
3593/**
3594 * Return the iterator pointing to the last element
3595 * @param i An xcb_xkb_set_behavior_iterator_t
3596 * @return The iterator pointing to the last element
3597 *
3598 * Set the current element in the iterator to the last element.
3599 * The member rem is set to 0. The member data points to the
3600 * last element.
3601 */
3602xcb_generic_iterator_t
3603xcb_xkb_set_behavior_end (xcb_xkb_set_behavior_iterator_t i);
3604
3605/**
3606 * Get the next element of the iterator
3607 * @param i Pointer to a xcb_xkb_set_explicit_iterator_t
3608 *
3609 * Get the next element in the iterator. The member rem is
3610 * decreased by one. The member data points to the next
3611 * element. The member index is increased by sizeof(xcb_xkb_set_explicit_t)
3612 */
3613void
3614xcb_xkb_set_explicit_next (xcb_xkb_set_explicit_iterator_t *i);
3615
3616/**
3617 * Return the iterator pointing to the last element
3618 * @param i An xcb_xkb_set_explicit_iterator_t
3619 * @return The iterator pointing to the last element
3620 *
3621 * Set the current element in the iterator to the last element.
3622 * The member rem is set to 0. The member data points to the
3623 * last element.
3624 */
3625xcb_generic_iterator_t
3626xcb_xkb_set_explicit_end (xcb_xkb_set_explicit_iterator_t i);
3627
3628/**
3629 * Get the next element of the iterator
3630 * @param i Pointer to a xcb_xkb_key_mod_map_iterator_t
3631 *
3632 * Get the next element in the iterator. The member rem is
3633 * decreased by one. The member data points to the next
3634 * element. The member index is increased by sizeof(xcb_xkb_key_mod_map_t)
3635 */
3636void
3637xcb_xkb_key_mod_map_next (xcb_xkb_key_mod_map_iterator_t *i);
3638
3639/**
3640 * Return the iterator pointing to the last element
3641 * @param i An xcb_xkb_key_mod_map_iterator_t
3642 * @return The iterator pointing to the last element
3643 *
3644 * Set the current element in the iterator to the last element.
3645 * The member rem is set to 0. The member data points to the
3646 * last element.
3647 */
3648xcb_generic_iterator_t
3649xcb_xkb_key_mod_map_end (xcb_xkb_key_mod_map_iterator_t i);
3650
3651/**
3652 * Get the next element of the iterator
3653 * @param i Pointer to a xcb_xkb_key_v_mod_map_iterator_t
3654 *
3655 * Get the next element in the iterator. The member rem is
3656 * decreased by one. The member data points to the next
3657 * element. The member index is increased by sizeof(xcb_xkb_key_v_mod_map_t)
3658 */
3659void
3660xcb_xkb_key_v_mod_map_next (xcb_xkb_key_v_mod_map_iterator_t *i);
3661
3662/**
3663 * Return the iterator pointing to the last element
3664 * @param i An xcb_xkb_key_v_mod_map_iterator_t
3665 * @return The iterator pointing to the last element
3666 *
3667 * Set the current element in the iterator to the last element.
3668 * The member rem is set to 0. The member data points to the
3669 * last element.
3670 */