xcb_dl/headers/
xkb.rs

1// This file was generated using generate.py. Do not edit.
2#![allow(unused_macros)]
3
4use crate::ffi::*;
5use crate::lazy::*;
6use crate::*;
7use std::os::raw::*;
8
9/// The name of the `xkb` extension.
10pub const XCB_XKB_NAME: &[u8] = b"XKEYBOARD";
11
12/// The name of the `xkb` extension.
13pub const XCB_XKB_NAME_STR: &str = "XKEYBOARD";
14
15/// The `xkb::Const` enum.
16///
17/// This enum has the following variants:
18///
19/// - [`xkb::Const::MaxLegalKeyCode`](XCB_XKB_CONST_MAX_LEGAL_KEY_CODE)
20/// - [`xkb::Const::PerKeyBitArraySize`](XCB_XKB_CONST_PER_KEY_BIT_ARRAY_SIZE)
21/// - [`xkb::Const::KeyNameLength`](XCB_XKB_CONST_KEY_NAME_LENGTH)
22pub type xcb_xkb_const_t = u32;
23/// The `xkb::Const::MaxLegalKeyCode` enum variant.
24///
25/// This is a variant of [`xcb_xkb_const_t`].
26pub const XCB_XKB_CONST_MAX_LEGAL_KEY_CODE: xcb_xkb_const_t = 255;
27/// The `xkb::Const::PerKeyBitArraySize` enum variant.
28///
29/// This is a variant of [`xcb_xkb_const_t`].
30pub const XCB_XKB_CONST_PER_KEY_BIT_ARRAY_SIZE: xcb_xkb_const_t = 32;
31/// The `xkb::Const::KeyNameLength` enum variant.
32///
33/// This is a variant of [`xcb_xkb_const_t`].
34pub const XCB_XKB_CONST_KEY_NAME_LENGTH: xcb_xkb_const_t = 4;
35
36/// The `xkb::EventType` enum.
37///
38/// This enum has the following variants:
39///
40/// - [`xkb::EventType::NewKeyboardNotify`](XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY)
41/// - [`xkb::EventType::MapNotify`](XCB_XKB_EVENT_TYPE_MAP_NOTIFY)
42/// - [`xkb::EventType::StateNotify`](XCB_XKB_EVENT_TYPE_STATE_NOTIFY)
43/// - [`xkb::EventType::ControlsNotify`](XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY)
44/// - [`xkb::EventType::IndicatorStateNotify`](XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY)
45/// - [`xkb::EventType::IndicatorMapNotify`](XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY)
46/// - [`xkb::EventType::NamesNotify`](XCB_XKB_EVENT_TYPE_NAMES_NOTIFY)
47/// - [`xkb::EventType::CompatMapNotify`](XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY)
48/// - [`xkb::EventType::BellNotify`](XCB_XKB_EVENT_TYPE_BELL_NOTIFY)
49/// - [`xkb::EventType::ActionMessage`](XCB_XKB_EVENT_TYPE_ACTION_MESSAGE)
50/// - [`xkb::EventType::AccessXNotify`](XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY)
51/// - [`xkb::EventType::ExtensionDeviceNotify`](XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY)
52pub type xcb_xkb_event_type_t = u32;
53/// The `xkb::EventType::NewKeyboardNotify` enum variant.
54///
55/// This is a variant of [`xcb_xkb_event_type_t`].
56pub const XCB_XKB_EVENT_TYPE_NEW_KEYBOARD_NOTIFY: xcb_xkb_event_type_t = 1;
57/// The `xkb::EventType::MapNotify` enum variant.
58///
59/// This is a variant of [`xcb_xkb_event_type_t`].
60pub const XCB_XKB_EVENT_TYPE_MAP_NOTIFY: xcb_xkb_event_type_t = 2;
61/// The `xkb::EventType::StateNotify` enum variant.
62///
63/// This is a variant of [`xcb_xkb_event_type_t`].
64pub const XCB_XKB_EVENT_TYPE_STATE_NOTIFY: xcb_xkb_event_type_t = 4;
65/// The `xkb::EventType::ControlsNotify` enum variant.
66///
67/// This is a variant of [`xcb_xkb_event_type_t`].
68pub const XCB_XKB_EVENT_TYPE_CONTROLS_NOTIFY: xcb_xkb_event_type_t = 8;
69/// The `xkb::EventType::IndicatorStateNotify` enum variant.
70///
71/// This is a variant of [`xcb_xkb_event_type_t`].
72pub const XCB_XKB_EVENT_TYPE_INDICATOR_STATE_NOTIFY: xcb_xkb_event_type_t = 16;
73/// The `xkb::EventType::IndicatorMapNotify` enum variant.
74///
75/// This is a variant of [`xcb_xkb_event_type_t`].
76pub const XCB_XKB_EVENT_TYPE_INDICATOR_MAP_NOTIFY: xcb_xkb_event_type_t = 32;
77/// The `xkb::EventType::NamesNotify` enum variant.
78///
79/// This is a variant of [`xcb_xkb_event_type_t`].
80pub const XCB_XKB_EVENT_TYPE_NAMES_NOTIFY: xcb_xkb_event_type_t = 64;
81/// The `xkb::EventType::CompatMapNotify` enum variant.
82///
83/// This is a variant of [`xcb_xkb_event_type_t`].
84pub const XCB_XKB_EVENT_TYPE_COMPAT_MAP_NOTIFY: xcb_xkb_event_type_t = 128;
85/// The `xkb::EventType::BellNotify` enum variant.
86///
87/// This is a variant of [`xcb_xkb_event_type_t`].
88pub const XCB_XKB_EVENT_TYPE_BELL_NOTIFY: xcb_xkb_event_type_t = 256;
89/// The `xkb::EventType::ActionMessage` enum variant.
90///
91/// This is a variant of [`xcb_xkb_event_type_t`].
92pub const XCB_XKB_EVENT_TYPE_ACTION_MESSAGE: xcb_xkb_event_type_t = 512;
93/// The `xkb::EventType::AccessXNotify` enum variant.
94///
95/// This is a variant of [`xcb_xkb_event_type_t`].
96pub const XCB_XKB_EVENT_TYPE_ACCESS_X_NOTIFY: xcb_xkb_event_type_t = 1024;
97/// The `xkb::EventType::ExtensionDeviceNotify` enum variant.
98///
99/// This is a variant of [`xcb_xkb_event_type_t`].
100pub const XCB_XKB_EVENT_TYPE_EXTENSION_DEVICE_NOTIFY: xcb_xkb_event_type_t = 2048;
101
102/// The `xkb::NKNDetail` enum.
103///
104/// This enum has the following variants:
105///
106/// - [`xkb::NKNDetail::Keycodes`](XCB_XKB_NKN_DETAIL_KEYCODES)
107/// - [`xkb::NKNDetail::Geometry`](XCB_XKB_NKN_DETAIL_GEOMETRY)
108/// - [`xkb::NKNDetail::DeviceID`](XCB_XKB_NKN_DETAIL_DEVICE_ID)
109pub type xcb_xkb_nkn_detail_t = u32;
110/// The `xkb::NKNDetail::Keycodes` enum variant.
111///
112/// This is a variant of [`xcb_xkb_nkn_detail_t`].
113pub const XCB_XKB_NKN_DETAIL_KEYCODES: xcb_xkb_nkn_detail_t = 1;
114/// The `xkb::NKNDetail::Geometry` enum variant.
115///
116/// This is a variant of [`xcb_xkb_nkn_detail_t`].
117pub const XCB_XKB_NKN_DETAIL_GEOMETRY: xcb_xkb_nkn_detail_t = 2;
118/// The `xkb::NKNDetail::DeviceID` enum variant.
119///
120/// This is a variant of [`xcb_xkb_nkn_detail_t`].
121pub const XCB_XKB_NKN_DETAIL_DEVICE_ID: xcb_xkb_nkn_detail_t = 4;
122
123/// The `xkb::AXNDetail` enum.
124///
125/// This enum has the following variants:
126///
127/// - [`xkb::AXNDetail::SKPress`](XCB_XKB_AXN_DETAIL_SK_PRESS)
128/// - [`xkb::AXNDetail::SKAccept`](XCB_XKB_AXN_DETAIL_SK_ACCEPT)
129/// - [`xkb::AXNDetail::SKReject`](XCB_XKB_AXN_DETAIL_SK_REJECT)
130/// - [`xkb::AXNDetail::SKRelease`](XCB_XKB_AXN_DETAIL_SK_RELEASE)
131/// - [`xkb::AXNDetail::BKAccept`](XCB_XKB_AXN_DETAIL_BK_ACCEPT)
132/// - [`xkb::AXNDetail::BKReject`](XCB_XKB_AXN_DETAIL_BK_REJECT)
133/// - [`xkb::AXNDetail::AXKWarning`](XCB_XKB_AXN_DETAIL_AXK_WARNING)
134pub type xcb_xkb_axn_detail_t = u32;
135/// The `xkb::AXNDetail::SKPress` enum variant.
136///
137/// This is a variant of [`xcb_xkb_axn_detail_t`].
138pub const XCB_XKB_AXN_DETAIL_SK_PRESS: xcb_xkb_axn_detail_t = 1;
139/// The `xkb::AXNDetail::SKAccept` enum variant.
140///
141/// This is a variant of [`xcb_xkb_axn_detail_t`].
142pub const XCB_XKB_AXN_DETAIL_SK_ACCEPT: xcb_xkb_axn_detail_t = 2;
143/// The `xkb::AXNDetail::SKReject` enum variant.
144///
145/// This is a variant of [`xcb_xkb_axn_detail_t`].
146pub const XCB_XKB_AXN_DETAIL_SK_REJECT: xcb_xkb_axn_detail_t = 4;
147/// The `xkb::AXNDetail::SKRelease` enum variant.
148///
149/// This is a variant of [`xcb_xkb_axn_detail_t`].
150pub const XCB_XKB_AXN_DETAIL_SK_RELEASE: xcb_xkb_axn_detail_t = 8;
151/// The `xkb::AXNDetail::BKAccept` enum variant.
152///
153/// This is a variant of [`xcb_xkb_axn_detail_t`].
154pub const XCB_XKB_AXN_DETAIL_BK_ACCEPT: xcb_xkb_axn_detail_t = 16;
155/// The `xkb::AXNDetail::BKReject` enum variant.
156///
157/// This is a variant of [`xcb_xkb_axn_detail_t`].
158pub const XCB_XKB_AXN_DETAIL_BK_REJECT: xcb_xkb_axn_detail_t = 32;
159/// The `xkb::AXNDetail::AXKWarning` enum variant.
160///
161/// This is a variant of [`xcb_xkb_axn_detail_t`].
162pub const XCB_XKB_AXN_DETAIL_AXK_WARNING: xcb_xkb_axn_detail_t = 64;
163
164/// The `xkb::MapPart` enum.
165///
166/// This enum has the following variants:
167///
168/// - [`xkb::MapPart::KeyTypes`](XCB_XKB_MAP_PART_KEY_TYPES)
169/// - [`xkb::MapPart::KeySyms`](XCB_XKB_MAP_PART_KEY_SYMS)
170/// - [`xkb::MapPart::ModifierMap`](XCB_XKB_MAP_PART_MODIFIER_MAP)
171/// - [`xkb::MapPart::ExplicitComponents`](XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS)
172/// - [`xkb::MapPart::KeyActions`](XCB_XKB_MAP_PART_KEY_ACTIONS)
173/// - [`xkb::MapPart::KeyBehaviors`](XCB_XKB_MAP_PART_KEY_BEHAVIORS)
174/// - [`xkb::MapPart::VirtualMods`](XCB_XKB_MAP_PART_VIRTUAL_MODS)
175/// - [`xkb::MapPart::VirtualModMap`](XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP)
176pub type xcb_xkb_map_part_t = u32;
177/// The `xkb::MapPart::KeyTypes` enum variant.
178///
179/// This is a variant of [`xcb_xkb_map_part_t`].
180pub const XCB_XKB_MAP_PART_KEY_TYPES: xcb_xkb_map_part_t = 1;
181/// The `xkb::MapPart::KeySyms` enum variant.
182///
183/// This is a variant of [`xcb_xkb_map_part_t`].
184pub const XCB_XKB_MAP_PART_KEY_SYMS: xcb_xkb_map_part_t = 2;
185/// The `xkb::MapPart::ModifierMap` enum variant.
186///
187/// This is a variant of [`xcb_xkb_map_part_t`].
188pub const XCB_XKB_MAP_PART_MODIFIER_MAP: xcb_xkb_map_part_t = 4;
189/// The `xkb::MapPart::ExplicitComponents` enum variant.
190///
191/// This is a variant of [`xcb_xkb_map_part_t`].
192pub const XCB_XKB_MAP_PART_EXPLICIT_COMPONENTS: xcb_xkb_map_part_t = 8;
193/// The `xkb::MapPart::KeyActions` enum variant.
194///
195/// This is a variant of [`xcb_xkb_map_part_t`].
196pub const XCB_XKB_MAP_PART_KEY_ACTIONS: xcb_xkb_map_part_t = 16;
197/// The `xkb::MapPart::KeyBehaviors` enum variant.
198///
199/// This is a variant of [`xcb_xkb_map_part_t`].
200pub const XCB_XKB_MAP_PART_KEY_BEHAVIORS: xcb_xkb_map_part_t = 32;
201/// The `xkb::MapPart::VirtualMods` enum variant.
202///
203/// This is a variant of [`xcb_xkb_map_part_t`].
204pub const XCB_XKB_MAP_PART_VIRTUAL_MODS: xcb_xkb_map_part_t = 64;
205/// The `xkb::MapPart::VirtualModMap` enum variant.
206///
207/// This is a variant of [`xcb_xkb_map_part_t`].
208pub const XCB_XKB_MAP_PART_VIRTUAL_MOD_MAP: xcb_xkb_map_part_t = 128;
209
210/// The `xkb::SetMapFlags` enum.
211///
212/// This enum has the following variants:
213///
214/// - [`xkb::SetMapFlags::ResizeTypes`](XCB_XKB_SET_MAP_FLAGS_RESIZE_TYPES)
215/// - [`xkb::SetMapFlags::RecomputeActions`](XCB_XKB_SET_MAP_FLAGS_RECOMPUTE_ACTIONS)
216pub type xcb_xkb_set_map_flags_t = u32;
217/// The `xkb::SetMapFlags::ResizeTypes` enum variant.
218///
219/// This is a variant of [`xcb_xkb_set_map_flags_t`].
220pub const XCB_XKB_SET_MAP_FLAGS_RESIZE_TYPES: xcb_xkb_set_map_flags_t = 1;
221/// The `xkb::SetMapFlags::RecomputeActions` enum variant.
222///
223/// This is a variant of [`xcb_xkb_set_map_flags_t`].
224pub const XCB_XKB_SET_MAP_FLAGS_RECOMPUTE_ACTIONS: xcb_xkb_set_map_flags_t = 2;
225
226/// The `xkb::StatePart` enum.
227///
228/// This enum has the following variants:
229///
230/// - [`xkb::StatePart::ModifierState`](XCB_XKB_STATE_PART_MODIFIER_STATE)
231/// - [`xkb::StatePart::ModifierBase`](XCB_XKB_STATE_PART_MODIFIER_BASE)
232/// - [`xkb::StatePart::ModifierLatch`](XCB_XKB_STATE_PART_MODIFIER_LATCH)
233/// - [`xkb::StatePart::ModifierLock`](XCB_XKB_STATE_PART_MODIFIER_LOCK)
234/// - [`xkb::StatePart::GroupState`](XCB_XKB_STATE_PART_GROUP_STATE)
235/// - [`xkb::StatePart::GroupBase`](XCB_XKB_STATE_PART_GROUP_BASE)
236/// - [`xkb::StatePart::GroupLatch`](XCB_XKB_STATE_PART_GROUP_LATCH)
237/// - [`xkb::StatePart::GroupLock`](XCB_XKB_STATE_PART_GROUP_LOCK)
238/// - [`xkb::StatePart::CompatState`](XCB_XKB_STATE_PART_COMPAT_STATE)
239/// - [`xkb::StatePart::GrabMods`](XCB_XKB_STATE_PART_GRAB_MODS)
240/// - [`xkb::StatePart::CompatGrabMods`](XCB_XKB_STATE_PART_COMPAT_GRAB_MODS)
241/// - [`xkb::StatePart::LookupMods`](XCB_XKB_STATE_PART_LOOKUP_MODS)
242/// - [`xkb::StatePart::CompatLookupMods`](XCB_XKB_STATE_PART_COMPAT_LOOKUP_MODS)
243/// - [`xkb::StatePart::PointerButtons`](XCB_XKB_STATE_PART_POINTER_BUTTONS)
244pub type xcb_xkb_state_part_t = u32;
245/// The `xkb::StatePart::ModifierState` enum variant.
246///
247/// This is a variant of [`xcb_xkb_state_part_t`].
248pub const XCB_XKB_STATE_PART_MODIFIER_STATE: xcb_xkb_state_part_t = 1;
249/// The `xkb::StatePart::ModifierBase` enum variant.
250///
251/// This is a variant of [`xcb_xkb_state_part_t`].
252pub const XCB_XKB_STATE_PART_MODIFIER_BASE: xcb_xkb_state_part_t = 2;
253/// The `xkb::StatePart::ModifierLatch` enum variant.
254///
255/// This is a variant of [`xcb_xkb_state_part_t`].
256pub const XCB_XKB_STATE_PART_MODIFIER_LATCH: xcb_xkb_state_part_t = 4;
257/// The `xkb::StatePart::ModifierLock` enum variant.
258///
259/// This is a variant of [`xcb_xkb_state_part_t`].
260pub const XCB_XKB_STATE_PART_MODIFIER_LOCK: xcb_xkb_state_part_t = 8;
261/// The `xkb::StatePart::GroupState` enum variant.
262///
263/// This is a variant of [`xcb_xkb_state_part_t`].
264pub const XCB_XKB_STATE_PART_GROUP_STATE: xcb_xkb_state_part_t = 16;
265/// The `xkb::StatePart::GroupBase` enum variant.
266///
267/// This is a variant of [`xcb_xkb_state_part_t`].
268pub const XCB_XKB_STATE_PART_GROUP_BASE: xcb_xkb_state_part_t = 32;
269/// The `xkb::StatePart::GroupLatch` enum variant.
270///
271/// This is a variant of [`xcb_xkb_state_part_t`].
272pub const XCB_XKB_STATE_PART_GROUP_LATCH: xcb_xkb_state_part_t = 64;
273/// The `xkb::StatePart::GroupLock` enum variant.
274///
275/// This is a variant of [`xcb_xkb_state_part_t`].
276pub const XCB_XKB_STATE_PART_GROUP_LOCK: xcb_xkb_state_part_t = 128;
277/// The `xkb::StatePart::CompatState` enum variant.
278///
279/// This is a variant of [`xcb_xkb_state_part_t`].
280pub const XCB_XKB_STATE_PART_COMPAT_STATE: xcb_xkb_state_part_t = 256;
281/// The `xkb::StatePart::GrabMods` enum variant.
282///
283/// This is a variant of [`xcb_xkb_state_part_t`].
284pub const XCB_XKB_STATE_PART_GRAB_MODS: xcb_xkb_state_part_t = 512;
285/// The `xkb::StatePart::CompatGrabMods` enum variant.
286///
287/// This is a variant of [`xcb_xkb_state_part_t`].
288pub const XCB_XKB_STATE_PART_COMPAT_GRAB_MODS: xcb_xkb_state_part_t = 1024;
289/// The `xkb::StatePart::LookupMods` enum variant.
290///
291/// This is a variant of [`xcb_xkb_state_part_t`].
292pub const XCB_XKB_STATE_PART_LOOKUP_MODS: xcb_xkb_state_part_t = 2048;
293/// The `xkb::StatePart::CompatLookupMods` enum variant.
294///
295/// This is a variant of [`xcb_xkb_state_part_t`].
296pub const XCB_XKB_STATE_PART_COMPAT_LOOKUP_MODS: xcb_xkb_state_part_t = 4096;
297/// The `xkb::StatePart::PointerButtons` enum variant.
298///
299/// This is a variant of [`xcb_xkb_state_part_t`].
300pub const XCB_XKB_STATE_PART_POINTER_BUTTONS: xcb_xkb_state_part_t = 8192;
301
302/// The `xkb::BoolCtrl` enum.
303///
304/// This enum has the following variants:
305///
306/// - [`xkb::BoolCtrl::RepeatKeys`](XCB_XKB_BOOL_CTRL_REPEAT_KEYS)
307/// - [`xkb::BoolCtrl::SlowKeys`](XCB_XKB_BOOL_CTRL_SLOW_KEYS)
308/// - [`xkb::BoolCtrl::BounceKeys`](XCB_XKB_BOOL_CTRL_BOUNCE_KEYS)
309/// - [`xkb::BoolCtrl::StickyKeys`](XCB_XKB_BOOL_CTRL_STICKY_KEYS)
310/// - [`xkb::BoolCtrl::MouseKeys`](XCB_XKB_BOOL_CTRL_MOUSE_KEYS)
311/// - [`xkb::BoolCtrl::MouseKeysAccel`](XCB_XKB_BOOL_CTRL_MOUSE_KEYS_ACCEL)
312/// - [`xkb::BoolCtrl::AccessXKeys`](XCB_XKB_BOOL_CTRL_ACCESS_X_KEYS)
313/// - [`xkb::BoolCtrl::AccessXTimeoutMask`](XCB_XKB_BOOL_CTRL_ACCESS_X_TIMEOUT_MASK)
314/// - [`xkb::BoolCtrl::AccessXFeedbackMask`](XCB_XKB_BOOL_CTRL_ACCESS_X_FEEDBACK_MASK)
315/// - [`xkb::BoolCtrl::AudibleBellMask`](XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK)
316/// - [`xkb::BoolCtrl::Overlay1Mask`](XCB_XKB_BOOL_CTRL_OVERLAY_1_MASK)
317/// - [`xkb::BoolCtrl::Overlay2Mask`](XCB_XKB_BOOL_CTRL_OVERLAY_2_MASK)
318/// - [`xkb::BoolCtrl::IgnoreGroupLockMask`](XCB_XKB_BOOL_CTRL_IGNORE_GROUP_LOCK_MASK)
319pub type xcb_xkb_bool_ctrl_t = u32;
320/// The `xkb::BoolCtrl::RepeatKeys` enum variant.
321///
322/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
323pub const XCB_XKB_BOOL_CTRL_REPEAT_KEYS: xcb_xkb_bool_ctrl_t = 1;
324/// The `xkb::BoolCtrl::SlowKeys` enum variant.
325///
326/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
327pub const XCB_XKB_BOOL_CTRL_SLOW_KEYS: xcb_xkb_bool_ctrl_t = 2;
328/// The `xkb::BoolCtrl::BounceKeys` enum variant.
329///
330/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
331pub const XCB_XKB_BOOL_CTRL_BOUNCE_KEYS: xcb_xkb_bool_ctrl_t = 4;
332/// The `xkb::BoolCtrl::StickyKeys` enum variant.
333///
334/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
335pub const XCB_XKB_BOOL_CTRL_STICKY_KEYS: xcb_xkb_bool_ctrl_t = 8;
336/// The `xkb::BoolCtrl::MouseKeys` enum variant.
337///
338/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
339pub const XCB_XKB_BOOL_CTRL_MOUSE_KEYS: xcb_xkb_bool_ctrl_t = 16;
340/// The `xkb::BoolCtrl::MouseKeysAccel` enum variant.
341///
342/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
343pub const XCB_XKB_BOOL_CTRL_MOUSE_KEYS_ACCEL: xcb_xkb_bool_ctrl_t = 32;
344/// The `xkb::BoolCtrl::AccessXKeys` enum variant.
345///
346/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
347pub const XCB_XKB_BOOL_CTRL_ACCESS_X_KEYS: xcb_xkb_bool_ctrl_t = 64;
348/// The `xkb::BoolCtrl::AccessXTimeoutMask` enum variant.
349///
350/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
351pub const XCB_XKB_BOOL_CTRL_ACCESS_X_TIMEOUT_MASK: xcb_xkb_bool_ctrl_t = 128;
352/// The `xkb::BoolCtrl::AccessXFeedbackMask` enum variant.
353///
354/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
355pub const XCB_XKB_BOOL_CTRL_ACCESS_X_FEEDBACK_MASK: xcb_xkb_bool_ctrl_t = 256;
356/// The `xkb::BoolCtrl::AudibleBellMask` enum variant.
357///
358/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
359pub const XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK: xcb_xkb_bool_ctrl_t = 512;
360/// The `xkb::BoolCtrl::Overlay1Mask` enum variant.
361///
362/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
363pub const XCB_XKB_BOOL_CTRL_OVERLAY_1_MASK: xcb_xkb_bool_ctrl_t = 1024;
364/// The `xkb::BoolCtrl::Overlay2Mask` enum variant.
365///
366/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
367pub const XCB_XKB_BOOL_CTRL_OVERLAY_2_MASK: xcb_xkb_bool_ctrl_t = 2048;
368/// The `xkb::BoolCtrl::IgnoreGroupLockMask` enum variant.
369///
370/// This is a variant of [`xcb_xkb_bool_ctrl_t`].
371pub const XCB_XKB_BOOL_CTRL_IGNORE_GROUP_LOCK_MASK: xcb_xkb_bool_ctrl_t = 4096;
372
373/// The `xkb::Control` enum.
374///
375/// This enum has the following variants:
376///
377/// - [`xkb::Control::GroupsWrap`](XCB_XKB_CONTROL_GROUPS_WRAP)
378/// - [`xkb::Control::InternalMods`](XCB_XKB_CONTROL_INTERNAL_MODS)
379/// - [`xkb::Control::IgnoreLockMods`](XCB_XKB_CONTROL_IGNORE_LOCK_MODS)
380/// - [`xkb::Control::PerKeyRepeat`](XCB_XKB_CONTROL_PER_KEY_REPEAT)
381/// - [`xkb::Control::ControlsEnabled`](XCB_XKB_CONTROL_CONTROLS_ENABLED)
382pub type xcb_xkb_control_t = u32;
383/// The `xkb::Control::GroupsWrap` enum variant.
384///
385/// This is a variant of [`xcb_xkb_control_t`].
386pub const XCB_XKB_CONTROL_GROUPS_WRAP: xcb_xkb_control_t = 134217728;
387/// The `xkb::Control::InternalMods` enum variant.
388///
389/// This is a variant of [`xcb_xkb_control_t`].
390pub const XCB_XKB_CONTROL_INTERNAL_MODS: xcb_xkb_control_t = 268435456;
391/// The `xkb::Control::IgnoreLockMods` enum variant.
392///
393/// This is a variant of [`xcb_xkb_control_t`].
394pub const XCB_XKB_CONTROL_IGNORE_LOCK_MODS: xcb_xkb_control_t = 536870912;
395/// The `xkb::Control::PerKeyRepeat` enum variant.
396///
397/// This is a variant of [`xcb_xkb_control_t`].
398pub const XCB_XKB_CONTROL_PER_KEY_REPEAT: xcb_xkb_control_t = 1073741824;
399/// The `xkb::Control::ControlsEnabled` enum variant.
400///
401/// This is a variant of [`xcb_xkb_control_t`].
402pub const XCB_XKB_CONTROL_CONTROLS_ENABLED: xcb_xkb_control_t = 2147483648;
403
404/// The `xkb::AXOption` enum.
405///
406/// This enum has the following variants:
407///
408/// - [`xkb::AXOption::SKPressFB`](XCB_XKB_AX_OPTION_SK_PRESS_FB)
409/// - [`xkb::AXOption::SKAcceptFB`](XCB_XKB_AX_OPTION_SK_ACCEPT_FB)
410/// - [`xkb::AXOption::FeatureFB`](XCB_XKB_AX_OPTION_FEATURE_FB)
411/// - [`xkb::AXOption::SlowWarnFB`](XCB_XKB_AX_OPTION_SLOW_WARN_FB)
412/// - [`xkb::AXOption::IndicatorFB`](XCB_XKB_AX_OPTION_INDICATOR_FB)
413/// - [`xkb::AXOption::StickyKeysFB`](XCB_XKB_AX_OPTION_STICKY_KEYS_FB)
414/// - [`xkb::AXOption::TwoKeys`](XCB_XKB_AX_OPTION_TWO_KEYS)
415/// - [`xkb::AXOption::LatchToLock`](XCB_XKB_AX_OPTION_LATCH_TO_LOCK)
416/// - [`xkb::AXOption::SKReleaseFB`](XCB_XKB_AX_OPTION_SK_RELEASE_FB)
417/// - [`xkb::AXOption::SKRejectFB`](XCB_XKB_AX_OPTION_SK_REJECT_FB)
418/// - [`xkb::AXOption::BKRejectFB`](XCB_XKB_AX_OPTION_BK_REJECT_FB)
419/// - [`xkb::AXOption::DumbBell`](XCB_XKB_AX_OPTION_DUMB_BELL)
420pub type xcb_xkb_ax_option_t = u32;
421/// The `xkb::AXOption::SKPressFB` enum variant.
422///
423/// This is a variant of [`xcb_xkb_ax_option_t`].
424pub const XCB_XKB_AX_OPTION_SK_PRESS_FB: xcb_xkb_ax_option_t = 1;
425/// The `xkb::AXOption::SKAcceptFB` enum variant.
426///
427/// This is a variant of [`xcb_xkb_ax_option_t`].
428pub const XCB_XKB_AX_OPTION_SK_ACCEPT_FB: xcb_xkb_ax_option_t = 2;
429/// The `xkb::AXOption::FeatureFB` enum variant.
430///
431/// This is a variant of [`xcb_xkb_ax_option_t`].
432pub const XCB_XKB_AX_OPTION_FEATURE_FB: xcb_xkb_ax_option_t = 4;
433/// The `xkb::AXOption::SlowWarnFB` enum variant.
434///
435/// This is a variant of [`xcb_xkb_ax_option_t`].
436pub const XCB_XKB_AX_OPTION_SLOW_WARN_FB: xcb_xkb_ax_option_t = 8;
437/// The `xkb::AXOption::IndicatorFB` enum variant.
438///
439/// This is a variant of [`xcb_xkb_ax_option_t`].
440pub const XCB_XKB_AX_OPTION_INDICATOR_FB: xcb_xkb_ax_option_t = 16;
441/// The `xkb::AXOption::StickyKeysFB` enum variant.
442///
443/// This is a variant of [`xcb_xkb_ax_option_t`].
444pub const XCB_XKB_AX_OPTION_STICKY_KEYS_FB: xcb_xkb_ax_option_t = 32;
445/// The `xkb::AXOption::TwoKeys` enum variant.
446///
447/// This is a variant of [`xcb_xkb_ax_option_t`].
448pub const XCB_XKB_AX_OPTION_TWO_KEYS: xcb_xkb_ax_option_t = 64;
449/// The `xkb::AXOption::LatchToLock` enum variant.
450///
451/// This is a variant of [`xcb_xkb_ax_option_t`].
452pub const XCB_XKB_AX_OPTION_LATCH_TO_LOCK: xcb_xkb_ax_option_t = 128;
453/// The `xkb::AXOption::SKReleaseFB` enum variant.
454///
455/// This is a variant of [`xcb_xkb_ax_option_t`].
456pub const XCB_XKB_AX_OPTION_SK_RELEASE_FB: xcb_xkb_ax_option_t = 256;
457/// The `xkb::AXOption::SKRejectFB` enum variant.
458///
459/// This is a variant of [`xcb_xkb_ax_option_t`].
460pub const XCB_XKB_AX_OPTION_SK_REJECT_FB: xcb_xkb_ax_option_t = 512;
461/// The `xkb::AXOption::BKRejectFB` enum variant.
462///
463/// This is a variant of [`xcb_xkb_ax_option_t`].
464pub const XCB_XKB_AX_OPTION_BK_REJECT_FB: xcb_xkb_ax_option_t = 1024;
465/// The `xkb::AXOption::DumbBell` enum variant.
466///
467/// This is a variant of [`xcb_xkb_ax_option_t`].
468pub const XCB_XKB_AX_OPTION_DUMB_BELL: xcb_xkb_ax_option_t = 2048;
469
470/// The `xkb::DeviceSpec` type.
471pub type xcb_xkb_device_spec_t = u16;
472
473/// An iterator over `xkb::DeviceSpec` objects.
474#[derive(Copy, Clone, Debug)]
475#[repr(C)]
476pub struct xcb_xkb_device_spec_iterator_t {
477    /// The value of the current iteration.
478    pub data: *mut xcb_xkb_device_spec_t,
479    /// The number of elements remaining including this one.
480    pub rem: c_int,
481    /// The offset of `data`, in bytes, from the start of the containing object.
482    pub index: c_int,
483}
484
485impl Default for xcb_xkb_device_spec_iterator_t {
486    fn default() -> Self {
487        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
488    }
489}
490
491/// The `xkb::LedClassResult` enum.
492///
493/// This enum has the following variants:
494///
495/// - [`xkb::LedClassResult::KbdFeedbackClass`](XCB_XKB_LED_CLASS_RESULT_KBD_FEEDBACK_CLASS)
496/// - [`xkb::LedClassResult::LedFeedbackClass`](XCB_XKB_LED_CLASS_RESULT_LED_FEEDBACK_CLASS)
497pub type xcb_xkb_led_class_result_t = u32;
498/// The `xkb::LedClassResult::KbdFeedbackClass` enum variant.
499///
500/// This is a variant of [`xcb_xkb_led_class_result_t`].
501pub const XCB_XKB_LED_CLASS_RESULT_KBD_FEEDBACK_CLASS: xcb_xkb_led_class_result_t = 0;
502/// The `xkb::LedClassResult::LedFeedbackClass` enum variant.
503///
504/// This is a variant of [`xcb_xkb_led_class_result_t`].
505pub const XCB_XKB_LED_CLASS_RESULT_LED_FEEDBACK_CLASS: xcb_xkb_led_class_result_t = 4;
506
507/// The `xkb::LedClass` enum.
508///
509/// This enum has the following variants:
510///
511/// - [`xkb::LedClass::KbdFeedbackClass`](XCB_XKB_LED_CLASS_KBD_FEEDBACK_CLASS)
512/// - [`xkb::LedClass::LedFeedbackClass`](XCB_XKB_LED_CLASS_LED_FEEDBACK_CLASS)
513/// - [`xkb::LedClass::DfltXIClass`](XCB_XKB_LED_CLASS_DFLT_XI_CLASS)
514/// - [`xkb::LedClass::AllXIClasses`](XCB_XKB_LED_CLASS_ALL_XI_CLASSES)
515pub type xcb_xkb_led_class_t = u32;
516/// The `xkb::LedClass::KbdFeedbackClass` enum variant.
517///
518/// This is a variant of [`xcb_xkb_led_class_t`].
519pub const XCB_XKB_LED_CLASS_KBD_FEEDBACK_CLASS: xcb_xkb_led_class_t = 0;
520/// The `xkb::LedClass::LedFeedbackClass` enum variant.
521///
522/// This is a variant of [`xcb_xkb_led_class_t`].
523pub const XCB_XKB_LED_CLASS_LED_FEEDBACK_CLASS: xcb_xkb_led_class_t = 4;
524/// The `xkb::LedClass::DfltXIClass` enum variant.
525///
526/// This is a variant of [`xcb_xkb_led_class_t`].
527pub const XCB_XKB_LED_CLASS_DFLT_XI_CLASS: xcb_xkb_led_class_t = 768;
528/// The `xkb::LedClass::AllXIClasses` enum variant.
529///
530/// This is a variant of [`xcb_xkb_led_class_t`].
531pub const XCB_XKB_LED_CLASS_ALL_XI_CLASSES: xcb_xkb_led_class_t = 1280;
532
533/// The `xkb::LedClassSpec` type.
534pub type xcb_xkb_led_class_spec_t = u16;
535
536/// An iterator over `xkb::LedClassSpec` objects.
537#[derive(Copy, Clone, Debug)]
538#[repr(C)]
539pub struct xcb_xkb_led_class_spec_iterator_t {
540    /// The value of the current iteration.
541    pub data: *mut xcb_xkb_led_class_spec_t,
542    /// The number of elements remaining including this one.
543    pub rem: c_int,
544    /// The offset of `data`, in bytes, from the start of the containing object.
545    pub index: c_int,
546}
547
548impl Default for xcb_xkb_led_class_spec_iterator_t {
549    fn default() -> Self {
550        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
551    }
552}
553
554/// The `xkb::BellClassResult` enum.
555///
556/// This enum has the following variants:
557///
558/// - [`xkb::BellClassResult::KbdFeedbackClass`](XCB_XKB_BELL_CLASS_RESULT_KBD_FEEDBACK_CLASS)
559/// - [`xkb::BellClassResult::BellFeedbackClass`](XCB_XKB_BELL_CLASS_RESULT_BELL_FEEDBACK_CLASS)
560pub type xcb_xkb_bell_class_result_t = u32;
561/// The `xkb::BellClassResult::KbdFeedbackClass` enum variant.
562///
563/// This is a variant of [`xcb_xkb_bell_class_result_t`].
564pub const XCB_XKB_BELL_CLASS_RESULT_KBD_FEEDBACK_CLASS: xcb_xkb_bell_class_result_t = 0;
565/// The `xkb::BellClassResult::BellFeedbackClass` enum variant.
566///
567/// This is a variant of [`xcb_xkb_bell_class_result_t`].
568pub const XCB_XKB_BELL_CLASS_RESULT_BELL_FEEDBACK_CLASS: xcb_xkb_bell_class_result_t = 5;
569
570/// The `xkb::BellClass` enum.
571///
572/// This enum has the following variants:
573///
574/// - [`xkb::BellClass::KbdFeedbackClass`](XCB_XKB_BELL_CLASS_KBD_FEEDBACK_CLASS)
575/// - [`xkb::BellClass::BellFeedbackClass`](XCB_XKB_BELL_CLASS_BELL_FEEDBACK_CLASS)
576/// - [`xkb::BellClass::DfltXIClass`](XCB_XKB_BELL_CLASS_DFLT_XI_CLASS)
577pub type xcb_xkb_bell_class_t = u32;
578/// The `xkb::BellClass::KbdFeedbackClass` enum variant.
579///
580/// This is a variant of [`xcb_xkb_bell_class_t`].
581pub const XCB_XKB_BELL_CLASS_KBD_FEEDBACK_CLASS: xcb_xkb_bell_class_t = 0;
582/// The `xkb::BellClass::BellFeedbackClass` enum variant.
583///
584/// This is a variant of [`xcb_xkb_bell_class_t`].
585pub const XCB_XKB_BELL_CLASS_BELL_FEEDBACK_CLASS: xcb_xkb_bell_class_t = 5;
586/// The `xkb::BellClass::DfltXIClass` enum variant.
587///
588/// This is a variant of [`xcb_xkb_bell_class_t`].
589pub const XCB_XKB_BELL_CLASS_DFLT_XI_CLASS: xcb_xkb_bell_class_t = 768;
590
591/// The `xkb::BellClassSpec` type.
592pub type xcb_xkb_bell_class_spec_t = u16;
593
594/// An iterator over `xkb::BellClassSpec` objects.
595#[derive(Copy, Clone, Debug)]
596#[repr(C)]
597pub struct xcb_xkb_bell_class_spec_iterator_t {
598    /// The value of the current iteration.
599    pub data: *mut xcb_xkb_bell_class_spec_t,
600    /// The number of elements remaining including this one.
601    pub rem: c_int,
602    /// The offset of `data`, in bytes, from the start of the containing object.
603    pub index: c_int,
604}
605
606impl Default for xcb_xkb_bell_class_spec_iterator_t {
607    fn default() -> Self {
608        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
609    }
610}
611
612/// The `xkb::ID` enum.
613///
614/// This enum has the following variants:
615///
616/// - [`xkb::ID::UseCoreKbd`](XCB_XKB_ID_USE_CORE_KBD)
617/// - [`xkb::ID::UseCorePtr`](XCB_XKB_ID_USE_CORE_PTR)
618/// - [`xkb::ID::DfltXIClass`](XCB_XKB_ID_DFLT_XI_CLASS)
619/// - [`xkb::ID::DfltXIId`](XCB_XKB_ID_DFLT_XI_ID)
620/// - [`xkb::ID::AllXIClass`](XCB_XKB_ID_ALL_XI_CLASS)
621/// - [`xkb::ID::AllXIId`](XCB_XKB_ID_ALL_XI_ID)
622/// - [`xkb::ID::XINone`](XCB_XKB_ID_XI_NONE)
623pub type xcb_xkb_id_t = u32;
624/// The `xkb::ID::UseCoreKbd` enum variant.
625///
626/// This is a variant of [`xcb_xkb_id_t`].
627pub const XCB_XKB_ID_USE_CORE_KBD: xcb_xkb_id_t = 256;
628/// The `xkb::ID::UseCorePtr` enum variant.
629///
630/// This is a variant of [`xcb_xkb_id_t`].
631pub const XCB_XKB_ID_USE_CORE_PTR: xcb_xkb_id_t = 512;
632/// The `xkb::ID::DfltXIClass` enum variant.
633///
634/// This is a variant of [`xcb_xkb_id_t`].
635pub const XCB_XKB_ID_DFLT_XI_CLASS: xcb_xkb_id_t = 768;
636/// The `xkb::ID::DfltXIId` enum variant.
637///
638/// This is a variant of [`xcb_xkb_id_t`].
639pub const XCB_XKB_ID_DFLT_XI_ID: xcb_xkb_id_t = 1024;
640/// The `xkb::ID::AllXIClass` enum variant.
641///
642/// This is a variant of [`xcb_xkb_id_t`].
643pub const XCB_XKB_ID_ALL_XI_CLASS: xcb_xkb_id_t = 1280;
644/// The `xkb::ID::AllXIId` enum variant.
645///
646/// This is a variant of [`xcb_xkb_id_t`].
647pub const XCB_XKB_ID_ALL_XI_ID: xcb_xkb_id_t = 1536;
648/// The `xkb::ID::XINone` enum variant.
649///
650/// This is a variant of [`xcb_xkb_id_t`].
651pub const XCB_XKB_ID_XI_NONE: xcb_xkb_id_t = 65280;
652
653/// The `xkb::IDSpec` type.
654pub type xcb_xkb_id_spec_t = u16;
655
656/// An iterator over `xkb::IDSpec` objects.
657#[derive(Copy, Clone, Debug)]
658#[repr(C)]
659pub struct xcb_xkb_id_spec_iterator_t {
660    /// The value of the current iteration.
661    pub data: *mut xcb_xkb_id_spec_t,
662    /// The number of elements remaining including this one.
663    pub rem: c_int,
664    /// The offset of `data`, in bytes, from the start of the containing object.
665    pub index: c_int,
666}
667
668impl Default for xcb_xkb_id_spec_iterator_t {
669    fn default() -> Self {
670        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
671    }
672}
673
674/// The `xkb::Group` enum.
675///
676/// This enum has the following variants:
677///
678/// - [`xkb::Group::1`](XCB_XKB_GROUP_1)
679/// - [`xkb::Group::2`](XCB_XKB_GROUP_2)
680/// - [`xkb::Group::3`](XCB_XKB_GROUP_3)
681/// - [`xkb::Group::4`](XCB_XKB_GROUP_4)
682pub type xcb_xkb_group_t = u32;
683/// The `xkb::Group::1` enum variant.
684///
685/// This is a variant of [`xcb_xkb_group_t`].
686pub const XCB_XKB_GROUP_1: xcb_xkb_group_t = 0;
687/// The `xkb::Group::2` enum variant.
688///
689/// This is a variant of [`xcb_xkb_group_t`].
690pub const XCB_XKB_GROUP_2: xcb_xkb_group_t = 1;
691/// The `xkb::Group::3` enum variant.
692///
693/// This is a variant of [`xcb_xkb_group_t`].
694pub const XCB_XKB_GROUP_3: xcb_xkb_group_t = 2;
695/// The `xkb::Group::4` enum variant.
696///
697/// This is a variant of [`xcb_xkb_group_t`].
698pub const XCB_XKB_GROUP_4: xcb_xkb_group_t = 3;
699
700/// The `xkb::Groups` enum.
701///
702/// This enum has the following variants:
703///
704/// - [`xkb::Groups::Any`](XCB_XKB_GROUPS_ANY)
705/// - [`xkb::Groups::All`](XCB_XKB_GROUPS_ALL)
706pub type xcb_xkb_groups_t = u32;
707/// The `xkb::Groups::Any` enum variant.
708///
709/// This is a variant of [`xcb_xkb_groups_t`].
710pub const XCB_XKB_GROUPS_ANY: xcb_xkb_groups_t = 254;
711/// The `xkb::Groups::All` enum variant.
712///
713/// This is a variant of [`xcb_xkb_groups_t`].
714pub const XCB_XKB_GROUPS_ALL: xcb_xkb_groups_t = 255;
715
716/// The `xkb::SetOfGroup` enum.
717///
718/// This enum has the following variants:
719///
720/// - [`xkb::SetOfGroup::Group1`](XCB_XKB_SET_OF_GROUP_GROUP_1)
721/// - [`xkb::SetOfGroup::Group2`](XCB_XKB_SET_OF_GROUP_GROUP_2)
722/// - [`xkb::SetOfGroup::Group3`](XCB_XKB_SET_OF_GROUP_GROUP_3)
723/// - [`xkb::SetOfGroup::Group4`](XCB_XKB_SET_OF_GROUP_GROUP_4)
724pub type xcb_xkb_set_of_group_t = u32;
725/// The `xkb::SetOfGroup::Group1` enum variant.
726///
727/// This is a variant of [`xcb_xkb_set_of_group_t`].
728pub const XCB_XKB_SET_OF_GROUP_GROUP_1: xcb_xkb_set_of_group_t = 1;
729/// The `xkb::SetOfGroup::Group2` enum variant.
730///
731/// This is a variant of [`xcb_xkb_set_of_group_t`].
732pub const XCB_XKB_SET_OF_GROUP_GROUP_2: xcb_xkb_set_of_group_t = 2;
733/// The `xkb::SetOfGroup::Group3` enum variant.
734///
735/// This is a variant of [`xcb_xkb_set_of_group_t`].
736pub const XCB_XKB_SET_OF_GROUP_GROUP_3: xcb_xkb_set_of_group_t = 4;
737/// The `xkb::SetOfGroup::Group4` enum variant.
738///
739/// This is a variant of [`xcb_xkb_set_of_group_t`].
740pub const XCB_XKB_SET_OF_GROUP_GROUP_4: xcb_xkb_set_of_group_t = 8;
741
742/// The `xkb::SetOfGroups` enum.
743///
744/// This enum has the following variants:
745///
746/// - [`xkb::SetOfGroups::Any`](XCB_XKB_SET_OF_GROUPS_ANY)
747pub type xcb_xkb_set_of_groups_t = u32;
748/// The `xkb::SetOfGroups::Any` enum variant.
749///
750/// This is a variant of [`xcb_xkb_set_of_groups_t`].
751pub const XCB_XKB_SET_OF_GROUPS_ANY: xcb_xkb_set_of_groups_t = 128;
752
753/// The `xkb::GroupsWrap` enum.
754///
755/// This enum has the following variants:
756///
757/// - [`xkb::GroupsWrap::WrapIntoRange`](XCB_XKB_GROUPS_WRAP_WRAP_INTO_RANGE)
758/// - [`xkb::GroupsWrap::ClampIntoRange`](XCB_XKB_GROUPS_WRAP_CLAMP_INTO_RANGE)
759/// - [`xkb::GroupsWrap::RedirectIntoRange`](XCB_XKB_GROUPS_WRAP_REDIRECT_INTO_RANGE)
760pub type xcb_xkb_groups_wrap_t = u32;
761/// The `xkb::GroupsWrap::WrapIntoRange` enum variant.
762///
763/// This is a variant of [`xcb_xkb_groups_wrap_t`].
764pub const XCB_XKB_GROUPS_WRAP_WRAP_INTO_RANGE: xcb_xkb_groups_wrap_t = 0;
765/// The `xkb::GroupsWrap::ClampIntoRange` enum variant.
766///
767/// This is a variant of [`xcb_xkb_groups_wrap_t`].
768pub const XCB_XKB_GROUPS_WRAP_CLAMP_INTO_RANGE: xcb_xkb_groups_wrap_t = 64;
769/// The `xkb::GroupsWrap::RedirectIntoRange` enum variant.
770///
771/// This is a variant of [`xcb_xkb_groups_wrap_t`].
772pub const XCB_XKB_GROUPS_WRAP_REDIRECT_INTO_RANGE: xcb_xkb_groups_wrap_t = 128;
773
774/// The `xkb::VModsHigh` enum.
775///
776/// This enum has the following variants:
777///
778/// - [`xkb::VModsHigh::15`](XCB_XKB_V_MODS_HIGH_15)
779/// - [`xkb::VModsHigh::14`](XCB_XKB_V_MODS_HIGH_14)
780/// - [`xkb::VModsHigh::13`](XCB_XKB_V_MODS_HIGH_13)
781/// - [`xkb::VModsHigh::12`](XCB_XKB_V_MODS_HIGH_12)
782/// - [`xkb::VModsHigh::11`](XCB_XKB_V_MODS_HIGH_11)
783/// - [`xkb::VModsHigh::10`](XCB_XKB_V_MODS_HIGH_10)
784/// - [`xkb::VModsHigh::9`](XCB_XKB_V_MODS_HIGH_9)
785/// - [`xkb::VModsHigh::8`](XCB_XKB_V_MODS_HIGH_8)
786pub type xcb_xkb_v_mods_high_t = u32;
787/// The `xkb::VModsHigh::15` enum variant.
788///
789/// This is a variant of [`xcb_xkb_v_mods_high_t`].
790pub const XCB_XKB_V_MODS_HIGH_15: xcb_xkb_v_mods_high_t = 128;
791/// The `xkb::VModsHigh::14` enum variant.
792///
793/// This is a variant of [`xcb_xkb_v_mods_high_t`].
794pub const XCB_XKB_V_MODS_HIGH_14: xcb_xkb_v_mods_high_t = 64;
795/// The `xkb::VModsHigh::13` enum variant.
796///
797/// This is a variant of [`xcb_xkb_v_mods_high_t`].
798pub const XCB_XKB_V_MODS_HIGH_13: xcb_xkb_v_mods_high_t = 32;
799/// The `xkb::VModsHigh::12` enum variant.
800///
801/// This is a variant of [`xcb_xkb_v_mods_high_t`].
802pub const XCB_XKB_V_MODS_HIGH_12: xcb_xkb_v_mods_high_t = 16;
803/// The `xkb::VModsHigh::11` enum variant.
804///
805/// This is a variant of [`xcb_xkb_v_mods_high_t`].
806pub const XCB_XKB_V_MODS_HIGH_11: xcb_xkb_v_mods_high_t = 8;
807/// The `xkb::VModsHigh::10` enum variant.
808///
809/// This is a variant of [`xcb_xkb_v_mods_high_t`].
810pub const XCB_XKB_V_MODS_HIGH_10: xcb_xkb_v_mods_high_t = 4;
811/// The `xkb::VModsHigh::9` enum variant.
812///
813/// This is a variant of [`xcb_xkb_v_mods_high_t`].
814pub const XCB_XKB_V_MODS_HIGH_9: xcb_xkb_v_mods_high_t = 2;
815/// The `xkb::VModsHigh::8` enum variant.
816///
817/// This is a variant of [`xcb_xkb_v_mods_high_t`].
818pub const XCB_XKB_V_MODS_HIGH_8: xcb_xkb_v_mods_high_t = 1;
819
820/// The `xkb::VModsLow` enum.
821///
822/// This enum has the following variants:
823///
824/// - [`xkb::VModsLow::7`](XCB_XKB_V_MODS_LOW_7)
825/// - [`xkb::VModsLow::6`](XCB_XKB_V_MODS_LOW_6)
826/// - [`xkb::VModsLow::5`](XCB_XKB_V_MODS_LOW_5)
827/// - [`xkb::VModsLow::4`](XCB_XKB_V_MODS_LOW_4)
828/// - [`xkb::VModsLow::3`](XCB_XKB_V_MODS_LOW_3)
829/// - [`xkb::VModsLow::2`](XCB_XKB_V_MODS_LOW_2)
830/// - [`xkb::VModsLow::1`](XCB_XKB_V_MODS_LOW_1)
831/// - [`xkb::VModsLow::0`](XCB_XKB_V_MODS_LOW_0)
832pub type xcb_xkb_v_mods_low_t = u32;
833/// The `xkb::VModsLow::7` enum variant.
834///
835/// This is a variant of [`xcb_xkb_v_mods_low_t`].
836pub const XCB_XKB_V_MODS_LOW_7: xcb_xkb_v_mods_low_t = 128;
837/// The `xkb::VModsLow::6` enum variant.
838///
839/// This is a variant of [`xcb_xkb_v_mods_low_t`].
840pub const XCB_XKB_V_MODS_LOW_6: xcb_xkb_v_mods_low_t = 64;
841/// The `xkb::VModsLow::5` enum variant.
842///
843/// This is a variant of [`xcb_xkb_v_mods_low_t`].
844pub const XCB_XKB_V_MODS_LOW_5: xcb_xkb_v_mods_low_t = 32;
845/// The `xkb::VModsLow::4` enum variant.
846///
847/// This is a variant of [`xcb_xkb_v_mods_low_t`].
848pub const XCB_XKB_V_MODS_LOW_4: xcb_xkb_v_mods_low_t = 16;
849/// The `xkb::VModsLow::3` enum variant.
850///
851/// This is a variant of [`xcb_xkb_v_mods_low_t`].
852pub const XCB_XKB_V_MODS_LOW_3: xcb_xkb_v_mods_low_t = 8;
853/// The `xkb::VModsLow::2` enum variant.
854///
855/// This is a variant of [`xcb_xkb_v_mods_low_t`].
856pub const XCB_XKB_V_MODS_LOW_2: xcb_xkb_v_mods_low_t = 4;
857/// The `xkb::VModsLow::1` enum variant.
858///
859/// This is a variant of [`xcb_xkb_v_mods_low_t`].
860pub const XCB_XKB_V_MODS_LOW_1: xcb_xkb_v_mods_low_t = 2;
861/// The `xkb::VModsLow::0` enum variant.
862///
863/// This is a variant of [`xcb_xkb_v_mods_low_t`].
864pub const XCB_XKB_V_MODS_LOW_0: xcb_xkb_v_mods_low_t = 1;
865
866/// The `xkb::VMod` enum.
867///
868/// This enum has the following variants:
869///
870/// - [`xkb::VMod::15`](XCB_XKB_V_MOD_15)
871/// - [`xkb::VMod::14`](XCB_XKB_V_MOD_14)
872/// - [`xkb::VMod::13`](XCB_XKB_V_MOD_13)
873/// - [`xkb::VMod::12`](XCB_XKB_V_MOD_12)
874/// - [`xkb::VMod::11`](XCB_XKB_V_MOD_11)
875/// - [`xkb::VMod::10`](XCB_XKB_V_MOD_10)
876/// - [`xkb::VMod::9`](XCB_XKB_V_MOD_9)
877/// - [`xkb::VMod::8`](XCB_XKB_V_MOD_8)
878/// - [`xkb::VMod::7`](XCB_XKB_V_MOD_7)
879/// - [`xkb::VMod::6`](XCB_XKB_V_MOD_6)
880/// - [`xkb::VMod::5`](XCB_XKB_V_MOD_5)
881/// - [`xkb::VMod::4`](XCB_XKB_V_MOD_4)
882/// - [`xkb::VMod::3`](XCB_XKB_V_MOD_3)
883/// - [`xkb::VMod::2`](XCB_XKB_V_MOD_2)
884/// - [`xkb::VMod::1`](XCB_XKB_V_MOD_1)
885/// - [`xkb::VMod::0`](XCB_XKB_V_MOD_0)
886pub type xcb_xkb_v_mod_t = u32;
887/// The `xkb::VMod::15` enum variant.
888///
889/// This is a variant of [`xcb_xkb_v_mod_t`].
890pub const XCB_XKB_V_MOD_15: xcb_xkb_v_mod_t = 32768;
891/// The `xkb::VMod::14` enum variant.
892///
893/// This is a variant of [`xcb_xkb_v_mod_t`].
894pub const XCB_XKB_V_MOD_14: xcb_xkb_v_mod_t = 16384;
895/// The `xkb::VMod::13` enum variant.
896///
897/// This is a variant of [`xcb_xkb_v_mod_t`].
898pub const XCB_XKB_V_MOD_13: xcb_xkb_v_mod_t = 8192;
899/// The `xkb::VMod::12` enum variant.
900///
901/// This is a variant of [`xcb_xkb_v_mod_t`].
902pub const XCB_XKB_V_MOD_12: xcb_xkb_v_mod_t = 4096;
903/// The `xkb::VMod::11` enum variant.
904///
905/// This is a variant of [`xcb_xkb_v_mod_t`].
906pub const XCB_XKB_V_MOD_11: xcb_xkb_v_mod_t = 2048;
907/// The `xkb::VMod::10` enum variant.
908///
909/// This is a variant of [`xcb_xkb_v_mod_t`].
910pub const XCB_XKB_V_MOD_10: xcb_xkb_v_mod_t = 1024;
911/// The `xkb::VMod::9` enum variant.
912///
913/// This is a variant of [`xcb_xkb_v_mod_t`].
914pub const XCB_XKB_V_MOD_9: xcb_xkb_v_mod_t = 512;
915/// The `xkb::VMod::8` enum variant.
916///
917/// This is a variant of [`xcb_xkb_v_mod_t`].
918pub const XCB_XKB_V_MOD_8: xcb_xkb_v_mod_t = 256;
919/// The `xkb::VMod::7` enum variant.
920///
921/// This is a variant of [`xcb_xkb_v_mod_t`].
922pub const XCB_XKB_V_MOD_7: xcb_xkb_v_mod_t = 128;
923/// The `xkb::VMod::6` enum variant.
924///
925/// This is a variant of [`xcb_xkb_v_mod_t`].
926pub const XCB_XKB_V_MOD_6: xcb_xkb_v_mod_t = 64;
927/// The `xkb::VMod::5` enum variant.
928///
929/// This is a variant of [`xcb_xkb_v_mod_t`].
930pub const XCB_XKB_V_MOD_5: xcb_xkb_v_mod_t = 32;
931/// The `xkb::VMod::4` enum variant.
932///
933/// This is a variant of [`xcb_xkb_v_mod_t`].
934pub const XCB_XKB_V_MOD_4: xcb_xkb_v_mod_t = 16;
935/// The `xkb::VMod::3` enum variant.
936///
937/// This is a variant of [`xcb_xkb_v_mod_t`].
938pub const XCB_XKB_V_MOD_3: xcb_xkb_v_mod_t = 8;
939/// The `xkb::VMod::2` enum variant.
940///
941/// This is a variant of [`xcb_xkb_v_mod_t`].
942pub const XCB_XKB_V_MOD_2: xcb_xkb_v_mod_t = 4;
943/// The `xkb::VMod::1` enum variant.
944///
945/// This is a variant of [`xcb_xkb_v_mod_t`].
946pub const XCB_XKB_V_MOD_1: xcb_xkb_v_mod_t = 2;
947/// The `xkb::VMod::0` enum variant.
948///
949/// This is a variant of [`xcb_xkb_v_mod_t`].
950pub const XCB_XKB_V_MOD_0: xcb_xkb_v_mod_t = 1;
951
952/// The `xkb::Explicit` enum.
953///
954/// This enum has the following variants:
955///
956/// - [`xkb::Explicit::VModMap`](XCB_XKB_EXPLICIT_V_MOD_MAP)
957/// - [`xkb::Explicit::Behavior`](XCB_XKB_EXPLICIT_BEHAVIOR)
958/// - [`xkb::Explicit::AutoRepeat`](XCB_XKB_EXPLICIT_AUTO_REPEAT)
959/// - [`xkb::Explicit::Interpret`](XCB_XKB_EXPLICIT_INTERPRET)
960/// - [`xkb::Explicit::KeyType4`](XCB_XKB_EXPLICIT_KEY_TYPE_4)
961/// - [`xkb::Explicit::KeyType3`](XCB_XKB_EXPLICIT_KEY_TYPE_3)
962/// - [`xkb::Explicit::KeyType2`](XCB_XKB_EXPLICIT_KEY_TYPE_2)
963/// - [`xkb::Explicit::KeyType1`](XCB_XKB_EXPLICIT_KEY_TYPE_1)
964pub type xcb_xkb_explicit_t = u32;
965/// The `xkb::Explicit::VModMap` enum variant.
966///
967/// This is a variant of [`xcb_xkb_explicit_t`].
968pub const XCB_XKB_EXPLICIT_V_MOD_MAP: xcb_xkb_explicit_t = 128;
969/// The `xkb::Explicit::Behavior` enum variant.
970///
971/// This is a variant of [`xcb_xkb_explicit_t`].
972pub const XCB_XKB_EXPLICIT_BEHAVIOR: xcb_xkb_explicit_t = 64;
973/// The `xkb::Explicit::AutoRepeat` enum variant.
974///
975/// This is a variant of [`xcb_xkb_explicit_t`].
976pub const XCB_XKB_EXPLICIT_AUTO_REPEAT: xcb_xkb_explicit_t = 32;
977/// The `xkb::Explicit::Interpret` enum variant.
978///
979/// This is a variant of [`xcb_xkb_explicit_t`].
980pub const XCB_XKB_EXPLICIT_INTERPRET: xcb_xkb_explicit_t = 16;
981/// The `xkb::Explicit::KeyType4` enum variant.
982///
983/// This is a variant of [`xcb_xkb_explicit_t`].
984pub const XCB_XKB_EXPLICIT_KEY_TYPE_4: xcb_xkb_explicit_t = 8;
985/// The `xkb::Explicit::KeyType3` enum variant.
986///
987/// This is a variant of [`xcb_xkb_explicit_t`].
988pub const XCB_XKB_EXPLICIT_KEY_TYPE_3: xcb_xkb_explicit_t = 4;
989/// The `xkb::Explicit::KeyType2` enum variant.
990///
991/// This is a variant of [`xcb_xkb_explicit_t`].
992pub const XCB_XKB_EXPLICIT_KEY_TYPE_2: xcb_xkb_explicit_t = 2;
993/// The `xkb::Explicit::KeyType1` enum variant.
994///
995/// This is a variant of [`xcb_xkb_explicit_t`].
996pub const XCB_XKB_EXPLICIT_KEY_TYPE_1: xcb_xkb_explicit_t = 1;
997
998/// The `xkb::SymInterpretMatch` enum.
999///
1000/// This enum has the following variants:
1001///
1002/// - [`xkb::SymInterpretMatch::NoneOf`](XCB_XKB_SYM_INTERPRET_MATCH_NONE_OF)
1003/// - [`xkb::SymInterpretMatch::AnyOfOrNone`](XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF_OR_NONE)
1004/// - [`xkb::SymInterpretMatch::AnyOf`](XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF)
1005/// - [`xkb::SymInterpretMatch::AllOf`](XCB_XKB_SYM_INTERPRET_MATCH_ALL_OF)
1006/// - [`xkb::SymInterpretMatch::Exactly`](XCB_XKB_SYM_INTERPRET_MATCH_EXACTLY)
1007pub type xcb_xkb_sym_interpret_match_t = u32;
1008/// The `xkb::SymInterpretMatch::NoneOf` enum variant.
1009///
1010/// This is a variant of [`xcb_xkb_sym_interpret_match_t`].
1011pub const XCB_XKB_SYM_INTERPRET_MATCH_NONE_OF: xcb_xkb_sym_interpret_match_t = 0;
1012/// The `xkb::SymInterpretMatch::AnyOfOrNone` enum variant.
1013///
1014/// This is a variant of [`xcb_xkb_sym_interpret_match_t`].
1015pub const XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF_OR_NONE: xcb_xkb_sym_interpret_match_t = 1;
1016/// The `xkb::SymInterpretMatch::AnyOf` enum variant.
1017///
1018/// This is a variant of [`xcb_xkb_sym_interpret_match_t`].
1019pub const XCB_XKB_SYM_INTERPRET_MATCH_ANY_OF: xcb_xkb_sym_interpret_match_t = 2;
1020/// The `xkb::SymInterpretMatch::AllOf` enum variant.
1021///
1022/// This is a variant of [`xcb_xkb_sym_interpret_match_t`].
1023pub const XCB_XKB_SYM_INTERPRET_MATCH_ALL_OF: xcb_xkb_sym_interpret_match_t = 3;
1024/// The `xkb::SymInterpretMatch::Exactly` enum variant.
1025///
1026/// This is a variant of [`xcb_xkb_sym_interpret_match_t`].
1027pub const XCB_XKB_SYM_INTERPRET_MATCH_EXACTLY: xcb_xkb_sym_interpret_match_t = 4;
1028
1029/// The `xkb::SymInterpMatch` enum.
1030///
1031/// This enum has the following variants:
1032///
1033/// - [`xkb::SymInterpMatch::LevelOneOnly`](XCB_XKB_SYM_INTERP_MATCH_LEVEL_ONE_ONLY)
1034/// - [`xkb::SymInterpMatch::OpMask`](XCB_XKB_SYM_INTERP_MATCH_OP_MASK)
1035pub type xcb_xkb_sym_interp_match_t = u32;
1036/// The `xkb::SymInterpMatch::LevelOneOnly` enum variant.
1037///
1038/// This is a variant of [`xcb_xkb_sym_interp_match_t`].
1039pub const XCB_XKB_SYM_INTERP_MATCH_LEVEL_ONE_ONLY: xcb_xkb_sym_interp_match_t = 128;
1040/// The `xkb::SymInterpMatch::OpMask` enum variant.
1041///
1042/// This is a variant of [`xcb_xkb_sym_interp_match_t`].
1043pub const XCB_XKB_SYM_INTERP_MATCH_OP_MASK: xcb_xkb_sym_interp_match_t = 127;
1044
1045/// The `xkb::IMFlag` enum.
1046///
1047/// This enum has the following variants:
1048///
1049/// - [`xkb::IMFlag::NoExplicit`](XCB_XKB_IM_FLAG_NO_EXPLICIT)
1050/// - [`xkb::IMFlag::NoAutomatic`](XCB_XKB_IM_FLAG_NO_AUTOMATIC)
1051/// - [`xkb::IMFlag::LEDDrivesKB`](XCB_XKB_IM_FLAG_LED_DRIVES_KB)
1052pub type xcb_xkb_im_flag_t = u32;
1053/// The `xkb::IMFlag::NoExplicit` enum variant.
1054///
1055/// This is a variant of [`xcb_xkb_im_flag_t`].
1056pub const XCB_XKB_IM_FLAG_NO_EXPLICIT: xcb_xkb_im_flag_t = 128;
1057/// The `xkb::IMFlag::NoAutomatic` enum variant.
1058///
1059/// This is a variant of [`xcb_xkb_im_flag_t`].
1060pub const XCB_XKB_IM_FLAG_NO_AUTOMATIC: xcb_xkb_im_flag_t = 64;
1061/// The `xkb::IMFlag::LEDDrivesKB` enum variant.
1062///
1063/// This is a variant of [`xcb_xkb_im_flag_t`].
1064pub const XCB_XKB_IM_FLAG_LED_DRIVES_KB: xcb_xkb_im_flag_t = 32;
1065
1066/// The `xkb::IMModsWhich` enum.
1067///
1068/// This enum has the following variants:
1069///
1070/// - [`xkb::IMModsWhich::UseCompat`](XCB_XKB_IM_MODS_WHICH_USE_COMPAT)
1071/// - [`xkb::IMModsWhich::UseEffective`](XCB_XKB_IM_MODS_WHICH_USE_EFFECTIVE)
1072/// - [`xkb::IMModsWhich::UseLocked`](XCB_XKB_IM_MODS_WHICH_USE_LOCKED)
1073/// - [`xkb::IMModsWhich::UseLatched`](XCB_XKB_IM_MODS_WHICH_USE_LATCHED)
1074/// - [`xkb::IMModsWhich::UseBase`](XCB_XKB_IM_MODS_WHICH_USE_BASE)
1075pub type xcb_xkb_im_mods_which_t = u32;
1076/// The `xkb::IMModsWhich::UseCompat` enum variant.
1077///
1078/// This is a variant of [`xcb_xkb_im_mods_which_t`].
1079pub const XCB_XKB_IM_MODS_WHICH_USE_COMPAT: xcb_xkb_im_mods_which_t = 16;
1080/// The `xkb::IMModsWhich::UseEffective` enum variant.
1081///
1082/// This is a variant of [`xcb_xkb_im_mods_which_t`].
1083pub const XCB_XKB_IM_MODS_WHICH_USE_EFFECTIVE: xcb_xkb_im_mods_which_t = 8;
1084/// The `xkb::IMModsWhich::UseLocked` enum variant.
1085///
1086/// This is a variant of [`xcb_xkb_im_mods_which_t`].
1087pub const XCB_XKB_IM_MODS_WHICH_USE_LOCKED: xcb_xkb_im_mods_which_t = 4;
1088/// The `xkb::IMModsWhich::UseLatched` enum variant.
1089///
1090/// This is a variant of [`xcb_xkb_im_mods_which_t`].
1091pub const XCB_XKB_IM_MODS_WHICH_USE_LATCHED: xcb_xkb_im_mods_which_t = 2;
1092/// The `xkb::IMModsWhich::UseBase` enum variant.
1093///
1094/// This is a variant of [`xcb_xkb_im_mods_which_t`].
1095pub const XCB_XKB_IM_MODS_WHICH_USE_BASE: xcb_xkb_im_mods_which_t = 1;
1096
1097/// The `xkb::IMGroupsWhich` enum.
1098///
1099/// This enum has the following variants:
1100///
1101/// - [`xkb::IMGroupsWhich::UseCompat`](XCB_XKB_IM_GROUPS_WHICH_USE_COMPAT)
1102/// - [`xkb::IMGroupsWhich::UseEffective`](XCB_XKB_IM_GROUPS_WHICH_USE_EFFECTIVE)
1103/// - [`xkb::IMGroupsWhich::UseLocked`](XCB_XKB_IM_GROUPS_WHICH_USE_LOCKED)
1104/// - [`xkb::IMGroupsWhich::UseLatched`](XCB_XKB_IM_GROUPS_WHICH_USE_LATCHED)
1105/// - [`xkb::IMGroupsWhich::UseBase`](XCB_XKB_IM_GROUPS_WHICH_USE_BASE)
1106pub type xcb_xkb_im_groups_which_t = u32;
1107/// The `xkb::IMGroupsWhich::UseCompat` enum variant.
1108///
1109/// This is a variant of [`xcb_xkb_im_groups_which_t`].
1110pub const XCB_XKB_IM_GROUPS_WHICH_USE_COMPAT: xcb_xkb_im_groups_which_t = 16;
1111/// The `xkb::IMGroupsWhich::UseEffective` enum variant.
1112///
1113/// This is a variant of [`xcb_xkb_im_groups_which_t`].
1114pub const XCB_XKB_IM_GROUPS_WHICH_USE_EFFECTIVE: xcb_xkb_im_groups_which_t = 8;
1115/// The `xkb::IMGroupsWhich::UseLocked` enum variant.
1116///
1117/// This is a variant of [`xcb_xkb_im_groups_which_t`].
1118pub const XCB_XKB_IM_GROUPS_WHICH_USE_LOCKED: xcb_xkb_im_groups_which_t = 4;
1119/// The `xkb::IMGroupsWhich::UseLatched` enum variant.
1120///
1121/// This is a variant of [`xcb_xkb_im_groups_which_t`].
1122pub const XCB_XKB_IM_GROUPS_WHICH_USE_LATCHED: xcb_xkb_im_groups_which_t = 2;
1123/// The `xkb::IMGroupsWhich::UseBase` enum variant.
1124///
1125/// This is a variant of [`xcb_xkb_im_groups_which_t`].
1126pub const XCB_XKB_IM_GROUPS_WHICH_USE_BASE: xcb_xkb_im_groups_which_t = 1;
1127
1128/// The `xkb::IndicatorMap` struct.
1129#[derive(Copy, Clone, Debug)]
1130#[repr(C)]
1131pub struct xcb_xkb_indicator_map_t {
1132    pub flags: u8,
1133    pub which_groups: u8,
1134    pub groups: u8,
1135    pub which_mods: u8,
1136    pub mods: u8,
1137    pub real_mods: u8,
1138    pub vmods: u16,
1139    pub ctrls: u32,
1140}
1141
1142impl Default for xcb_xkb_indicator_map_t {
1143    fn default() -> Self {
1144        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1145    }
1146}
1147
1148/// An iterator over `xkb::IndicatorMap` objects.
1149#[derive(Copy, Clone, Debug)]
1150#[repr(C)]
1151pub struct xcb_xkb_indicator_map_iterator_t {
1152    /// The value of the current iteration.
1153    pub data: *mut xcb_xkb_indicator_map_t,
1154    /// The number of elements remaining including this one.
1155    pub rem: c_int,
1156    /// The offset of `data`, in bytes, from the start of the containing object.
1157    pub index: c_int,
1158}
1159
1160impl Default for xcb_xkb_indicator_map_iterator_t {
1161    fn default() -> Self {
1162        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1163    }
1164}
1165
1166/// The `xkb::CMDetail` enum.
1167///
1168/// This enum has the following variants:
1169///
1170/// - [`xkb::CMDetail::SymInterp`](XCB_XKB_CM_DETAIL_SYM_INTERP)
1171/// - [`xkb::CMDetail::GroupCompat`](XCB_XKB_CM_DETAIL_GROUP_COMPAT)
1172pub type xcb_xkb_cm_detail_t = u32;
1173/// The `xkb::CMDetail::SymInterp` enum variant.
1174///
1175/// This is a variant of [`xcb_xkb_cm_detail_t`].
1176pub const XCB_XKB_CM_DETAIL_SYM_INTERP: xcb_xkb_cm_detail_t = 1;
1177/// The `xkb::CMDetail::GroupCompat` enum variant.
1178///
1179/// This is a variant of [`xcb_xkb_cm_detail_t`].
1180pub const XCB_XKB_CM_DETAIL_GROUP_COMPAT: xcb_xkb_cm_detail_t = 2;
1181
1182/// The `xkb::NameDetail` enum.
1183///
1184/// This enum has the following variants:
1185///
1186/// - [`xkb::NameDetail::Keycodes`](XCB_XKB_NAME_DETAIL_KEYCODES)
1187/// - [`xkb::NameDetail::Geometry`](XCB_XKB_NAME_DETAIL_GEOMETRY)
1188/// - [`xkb::NameDetail::Symbols`](XCB_XKB_NAME_DETAIL_SYMBOLS)
1189/// - [`xkb::NameDetail::PhysSymbols`](XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS)
1190/// - [`xkb::NameDetail::Types`](XCB_XKB_NAME_DETAIL_TYPES)
1191/// - [`xkb::NameDetail::Compat`](XCB_XKB_NAME_DETAIL_COMPAT)
1192/// - [`xkb::NameDetail::KeyTypeNames`](XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES)
1193/// - [`xkb::NameDetail::KTLevelNames`](XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES)
1194/// - [`xkb::NameDetail::IndicatorNames`](XCB_XKB_NAME_DETAIL_INDICATOR_NAMES)
1195/// - [`xkb::NameDetail::KeyNames`](XCB_XKB_NAME_DETAIL_KEY_NAMES)
1196/// - [`xkb::NameDetail::KeyAliases`](XCB_XKB_NAME_DETAIL_KEY_ALIASES)
1197/// - [`xkb::NameDetail::VirtualModNames`](XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES)
1198/// - [`xkb::NameDetail::GroupNames`](XCB_XKB_NAME_DETAIL_GROUP_NAMES)
1199/// - [`xkb::NameDetail::RGNames`](XCB_XKB_NAME_DETAIL_RG_NAMES)
1200pub type xcb_xkb_name_detail_t = u32;
1201/// The `xkb::NameDetail::Keycodes` enum variant.
1202///
1203/// This is a variant of [`xcb_xkb_name_detail_t`].
1204pub const XCB_XKB_NAME_DETAIL_KEYCODES: xcb_xkb_name_detail_t = 1;
1205/// The `xkb::NameDetail::Geometry` enum variant.
1206///
1207/// This is a variant of [`xcb_xkb_name_detail_t`].
1208pub const XCB_XKB_NAME_DETAIL_GEOMETRY: xcb_xkb_name_detail_t = 2;
1209/// The `xkb::NameDetail::Symbols` enum variant.
1210///
1211/// This is a variant of [`xcb_xkb_name_detail_t`].
1212pub const XCB_XKB_NAME_DETAIL_SYMBOLS: xcb_xkb_name_detail_t = 4;
1213/// The `xkb::NameDetail::PhysSymbols` enum variant.
1214///
1215/// This is a variant of [`xcb_xkb_name_detail_t`].
1216pub const XCB_XKB_NAME_DETAIL_PHYS_SYMBOLS: xcb_xkb_name_detail_t = 8;
1217/// The `xkb::NameDetail::Types` enum variant.
1218///
1219/// This is a variant of [`xcb_xkb_name_detail_t`].
1220pub const XCB_XKB_NAME_DETAIL_TYPES: xcb_xkb_name_detail_t = 16;
1221/// The `xkb::NameDetail::Compat` enum variant.
1222///
1223/// This is a variant of [`xcb_xkb_name_detail_t`].
1224pub const XCB_XKB_NAME_DETAIL_COMPAT: xcb_xkb_name_detail_t = 32;
1225/// The `xkb::NameDetail::KeyTypeNames` enum variant.
1226///
1227/// This is a variant of [`xcb_xkb_name_detail_t`].
1228pub const XCB_XKB_NAME_DETAIL_KEY_TYPE_NAMES: xcb_xkb_name_detail_t = 64;
1229/// The `xkb::NameDetail::KTLevelNames` enum variant.
1230///
1231/// This is a variant of [`xcb_xkb_name_detail_t`].
1232pub const XCB_XKB_NAME_DETAIL_KT_LEVEL_NAMES: xcb_xkb_name_detail_t = 128;
1233/// The `xkb::NameDetail::IndicatorNames` enum variant.
1234///
1235/// This is a variant of [`xcb_xkb_name_detail_t`].
1236pub const XCB_XKB_NAME_DETAIL_INDICATOR_NAMES: xcb_xkb_name_detail_t = 256;
1237/// The `xkb::NameDetail::KeyNames` enum variant.
1238///
1239/// This is a variant of [`xcb_xkb_name_detail_t`].
1240pub const XCB_XKB_NAME_DETAIL_KEY_NAMES: xcb_xkb_name_detail_t = 512;
1241/// The `xkb::NameDetail::KeyAliases` enum variant.
1242///
1243/// This is a variant of [`xcb_xkb_name_detail_t`].
1244pub const XCB_XKB_NAME_DETAIL_KEY_ALIASES: xcb_xkb_name_detail_t = 1024;
1245/// The `xkb::NameDetail::VirtualModNames` enum variant.
1246///
1247/// This is a variant of [`xcb_xkb_name_detail_t`].
1248pub const XCB_XKB_NAME_DETAIL_VIRTUAL_MOD_NAMES: xcb_xkb_name_detail_t = 2048;
1249/// The `xkb::NameDetail::GroupNames` enum variant.
1250///
1251/// This is a variant of [`xcb_xkb_name_detail_t`].
1252pub const XCB_XKB_NAME_DETAIL_GROUP_NAMES: xcb_xkb_name_detail_t = 4096;
1253/// The `xkb::NameDetail::RGNames` enum variant.
1254///
1255/// This is a variant of [`xcb_xkb_name_detail_t`].
1256pub const XCB_XKB_NAME_DETAIL_RG_NAMES: xcb_xkb_name_detail_t = 8192;
1257
1258/// The `xkb::GBNDetail` enum.
1259///
1260/// This enum has the following variants:
1261///
1262/// - [`xkb::GBNDetail::Types`](XCB_XKB_GBN_DETAIL_TYPES)
1263/// - [`xkb::GBNDetail::CompatMap`](XCB_XKB_GBN_DETAIL_COMPAT_MAP)
1264/// - [`xkb::GBNDetail::ClientSymbols`](XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS)
1265/// - [`xkb::GBNDetail::ServerSymbols`](XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS)
1266/// - [`xkb::GBNDetail::IndicatorMaps`](XCB_XKB_GBN_DETAIL_INDICATOR_MAPS)
1267/// - [`xkb::GBNDetail::KeyNames`](XCB_XKB_GBN_DETAIL_KEY_NAMES)
1268/// - [`xkb::GBNDetail::Geometry`](XCB_XKB_GBN_DETAIL_GEOMETRY)
1269/// - [`xkb::GBNDetail::OtherNames`](XCB_XKB_GBN_DETAIL_OTHER_NAMES)
1270pub type xcb_xkb_gbn_detail_t = u32;
1271/// The `xkb::GBNDetail::Types` enum variant.
1272///
1273/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1274pub const XCB_XKB_GBN_DETAIL_TYPES: xcb_xkb_gbn_detail_t = 1;
1275/// The `xkb::GBNDetail::CompatMap` enum variant.
1276///
1277/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1278pub const XCB_XKB_GBN_DETAIL_COMPAT_MAP: xcb_xkb_gbn_detail_t = 2;
1279/// The `xkb::GBNDetail::ClientSymbols` enum variant.
1280///
1281/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1282pub const XCB_XKB_GBN_DETAIL_CLIENT_SYMBOLS: xcb_xkb_gbn_detail_t = 4;
1283/// The `xkb::GBNDetail::ServerSymbols` enum variant.
1284///
1285/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1286pub const XCB_XKB_GBN_DETAIL_SERVER_SYMBOLS: xcb_xkb_gbn_detail_t = 8;
1287/// The `xkb::GBNDetail::IndicatorMaps` enum variant.
1288///
1289/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1290pub const XCB_XKB_GBN_DETAIL_INDICATOR_MAPS: xcb_xkb_gbn_detail_t = 16;
1291/// The `xkb::GBNDetail::KeyNames` enum variant.
1292///
1293/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1294pub const XCB_XKB_GBN_DETAIL_KEY_NAMES: xcb_xkb_gbn_detail_t = 32;
1295/// The `xkb::GBNDetail::Geometry` enum variant.
1296///
1297/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1298pub const XCB_XKB_GBN_DETAIL_GEOMETRY: xcb_xkb_gbn_detail_t = 64;
1299/// The `xkb::GBNDetail::OtherNames` enum variant.
1300///
1301/// This is a variant of [`xcb_xkb_gbn_detail_t`].
1302pub const XCB_XKB_GBN_DETAIL_OTHER_NAMES: xcb_xkb_gbn_detail_t = 128;
1303
1304/// The `xkb::XIFeature` enum.
1305///
1306/// This enum has the following variants:
1307///
1308/// - [`xkb::XIFeature::Keyboards`](XCB_XKB_XI_FEATURE_KEYBOARDS)
1309/// - [`xkb::XIFeature::ButtonActions`](XCB_XKB_XI_FEATURE_BUTTON_ACTIONS)
1310/// - [`xkb::XIFeature::IndicatorNames`](XCB_XKB_XI_FEATURE_INDICATOR_NAMES)
1311/// - [`xkb::XIFeature::IndicatorMaps`](XCB_XKB_XI_FEATURE_INDICATOR_MAPS)
1312/// - [`xkb::XIFeature::IndicatorState`](XCB_XKB_XI_FEATURE_INDICATOR_STATE)
1313pub type xcb_xkb_xi_feature_t = u32;
1314/// The `xkb::XIFeature::Keyboards` enum variant.
1315///
1316/// This is a variant of [`xcb_xkb_xi_feature_t`].
1317pub const XCB_XKB_XI_FEATURE_KEYBOARDS: xcb_xkb_xi_feature_t = 1;
1318/// The `xkb::XIFeature::ButtonActions` enum variant.
1319///
1320/// This is a variant of [`xcb_xkb_xi_feature_t`].
1321pub const XCB_XKB_XI_FEATURE_BUTTON_ACTIONS: xcb_xkb_xi_feature_t = 2;
1322/// The `xkb::XIFeature::IndicatorNames` enum variant.
1323///
1324/// This is a variant of [`xcb_xkb_xi_feature_t`].
1325pub const XCB_XKB_XI_FEATURE_INDICATOR_NAMES: xcb_xkb_xi_feature_t = 4;
1326/// The `xkb::XIFeature::IndicatorMaps` enum variant.
1327///
1328/// This is a variant of [`xcb_xkb_xi_feature_t`].
1329pub const XCB_XKB_XI_FEATURE_INDICATOR_MAPS: xcb_xkb_xi_feature_t = 8;
1330/// The `xkb::XIFeature::IndicatorState` enum variant.
1331///
1332/// This is a variant of [`xcb_xkb_xi_feature_t`].
1333pub const XCB_XKB_XI_FEATURE_INDICATOR_STATE: xcb_xkb_xi_feature_t = 16;
1334
1335/// The `xkb::PerClientFlag` enum.
1336///
1337/// This enum has the following variants:
1338///
1339/// - [`xkb::PerClientFlag::DetectableAutoRepeat`](XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT)
1340/// - [`xkb::PerClientFlag::GrabsUseXKBState`](XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE)
1341/// - [`xkb::PerClientFlag::AutoResetControls`](XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS)
1342/// - [`xkb::PerClientFlag::LookupStateWhenGrabbed`](XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED)
1343/// - [`xkb::PerClientFlag::SendEventUsesXKBState`](XCB_XKB_PER_CLIENT_FLAG_SEND_EVENT_USES_XKB_STATE)
1344pub type xcb_xkb_per_client_flag_t = u32;
1345/// The `xkb::PerClientFlag::DetectableAutoRepeat` enum variant.
1346///
1347/// This is a variant of [`xcb_xkb_per_client_flag_t`].
1348pub const XCB_XKB_PER_CLIENT_FLAG_DETECTABLE_AUTO_REPEAT: xcb_xkb_per_client_flag_t = 1;
1349/// The `xkb::PerClientFlag::GrabsUseXKBState` enum variant.
1350///
1351/// This is a variant of [`xcb_xkb_per_client_flag_t`].
1352pub const XCB_XKB_PER_CLIENT_FLAG_GRABS_USE_XKB_STATE: xcb_xkb_per_client_flag_t = 2;
1353/// The `xkb::PerClientFlag::AutoResetControls` enum variant.
1354///
1355/// This is a variant of [`xcb_xkb_per_client_flag_t`].
1356pub const XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS: xcb_xkb_per_client_flag_t = 4;
1357/// The `xkb::PerClientFlag::LookupStateWhenGrabbed` enum variant.
1358///
1359/// This is a variant of [`xcb_xkb_per_client_flag_t`].
1360pub const XCB_XKB_PER_CLIENT_FLAG_LOOKUP_STATE_WHEN_GRABBED: xcb_xkb_per_client_flag_t = 8;
1361/// The `xkb::PerClientFlag::SendEventUsesXKBState` enum variant.
1362///
1363/// This is a variant of [`xcb_xkb_per_client_flag_t`].
1364pub const XCB_XKB_PER_CLIENT_FLAG_SEND_EVENT_USES_XKB_STATE: xcb_xkb_per_client_flag_t = 16;
1365
1366/// The `xkb::ModDef` struct.
1367#[derive(Copy, Clone, Debug)]
1368#[repr(C)]
1369pub struct xcb_xkb_mod_def_t {
1370    pub mask: u8,
1371    pub real_mods: u8,
1372    pub vmods: u16,
1373}
1374
1375impl Default for xcb_xkb_mod_def_t {
1376    fn default() -> Self {
1377        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1378    }
1379}
1380
1381/// An iterator over `xkb::ModDef` objects.
1382#[derive(Copy, Clone, Debug)]
1383#[repr(C)]
1384pub struct xcb_xkb_mod_def_iterator_t {
1385    /// The value of the current iteration.
1386    pub data: *mut xcb_xkb_mod_def_t,
1387    /// The number of elements remaining including this one.
1388    pub rem: c_int,
1389    /// The offset of `data`, in bytes, from the start of the containing object.
1390    pub index: c_int,
1391}
1392
1393impl Default for xcb_xkb_mod_def_iterator_t {
1394    fn default() -> Self {
1395        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1396    }
1397}
1398
1399/// The `xkb::KeyName` struct.
1400#[derive(Copy, Clone, Debug)]
1401#[repr(C)]
1402pub struct xcb_xkb_key_name_t {
1403    pub name: [c_char; 4],
1404}
1405
1406impl Default for xcb_xkb_key_name_t {
1407    fn default() -> Self {
1408        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1409    }
1410}
1411
1412/// An iterator over `xkb::KeyName` objects.
1413#[derive(Copy, Clone, Debug)]
1414#[repr(C)]
1415pub struct xcb_xkb_key_name_iterator_t {
1416    /// The value of the current iteration.
1417    pub data: *mut xcb_xkb_key_name_t,
1418    /// The number of elements remaining including this one.
1419    pub rem: c_int,
1420    /// The offset of `data`, in bytes, from the start of the containing object.
1421    pub index: c_int,
1422}
1423
1424impl Default for xcb_xkb_key_name_iterator_t {
1425    fn default() -> Self {
1426        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1427    }
1428}
1429
1430/// The `xkb::KeyAlias` struct.
1431#[derive(Copy, Clone, Debug)]
1432#[repr(C)]
1433pub struct xcb_xkb_key_alias_t {
1434    pub real: [c_char; 4],
1435    pub alias: [c_char; 4],
1436}
1437
1438impl Default for xcb_xkb_key_alias_t {
1439    fn default() -> Self {
1440        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1441    }
1442}
1443
1444/// An iterator over `xkb::KeyAlias` objects.
1445#[derive(Copy, Clone, Debug)]
1446#[repr(C)]
1447pub struct xcb_xkb_key_alias_iterator_t {
1448    /// The value of the current iteration.
1449    pub data: *mut xcb_xkb_key_alias_t,
1450    /// The number of elements remaining including this one.
1451    pub rem: c_int,
1452    /// The offset of `data`, in bytes, from the start of the containing object.
1453    pub index: c_int,
1454}
1455
1456impl Default for xcb_xkb_key_alias_iterator_t {
1457    fn default() -> Self {
1458        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1459    }
1460}
1461
1462/// The `xkb::CountedString16` struct.
1463///
1464/// The following fields can be accessed via accessor functions:
1465///
1466/// - `string`
1467/// - `alignment_pad`
1468#[derive(Copy, Clone, Debug)]
1469#[repr(C)]
1470pub struct xcb_xkb_counted_string_16_t {
1471    pub length: u16,
1472}
1473
1474impl Default for xcb_xkb_counted_string_16_t {
1475    fn default() -> Self {
1476        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1477    }
1478}
1479
1480/// An iterator over `xkb::CountedString16` objects.
1481#[derive(Copy, Clone, Debug)]
1482#[repr(C)]
1483pub struct xcb_xkb_counted_string_16_iterator_t {
1484    /// The value of the current iteration.
1485    pub data: *mut xcb_xkb_counted_string_16_t,
1486    /// The number of elements remaining including this one.
1487    pub rem: c_int,
1488    /// The offset of `data`, in bytes, from the start of the containing object.
1489    pub index: c_int,
1490}
1491
1492impl Default for xcb_xkb_counted_string_16_iterator_t {
1493    fn default() -> Self {
1494        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1495    }
1496}
1497
1498/// The `xkb::KTMapEntry` struct.
1499#[derive(Copy, Clone, Debug)]
1500#[repr(C)]
1501pub struct xcb_xkb_kt_map_entry_t {
1502    pub active: u8,
1503    pub mods_mask: u8,
1504    pub level: u8,
1505    pub mods_mods: u8,
1506    pub mods_vmods: u16,
1507    pub pad0: [u8; 2],
1508}
1509
1510impl Default for xcb_xkb_kt_map_entry_t {
1511    fn default() -> Self {
1512        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1513    }
1514}
1515
1516/// An iterator over `xkb::KTMapEntry` objects.
1517#[derive(Copy, Clone, Debug)]
1518#[repr(C)]
1519pub struct xcb_xkb_kt_map_entry_iterator_t {
1520    /// The value of the current iteration.
1521    pub data: *mut xcb_xkb_kt_map_entry_t,
1522    /// The number of elements remaining including this one.
1523    pub rem: c_int,
1524    /// The offset of `data`, in bytes, from the start of the containing object.
1525    pub index: c_int,
1526}
1527
1528impl Default for xcb_xkb_kt_map_entry_iterator_t {
1529    fn default() -> Self {
1530        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1531    }
1532}
1533
1534/// The `xkb::KeyType` struct.
1535///
1536/// The following fields can be accessed via accessor functions:
1537///
1538/// - `map`
1539/// - `preserve`
1540#[derive(Copy, Clone, Debug)]
1541#[repr(C)]
1542pub struct xcb_xkb_key_type_t {
1543    pub mods_mask: u8,
1544    pub mods_mods: u8,
1545    pub mods_vmods: u16,
1546    pub num_levels: u8,
1547    pub n_map_entries: u8,
1548    pub has_preserve: u8,
1549    pub pad0: u8,
1550}
1551
1552impl Default for xcb_xkb_key_type_t {
1553    fn default() -> Self {
1554        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1555    }
1556}
1557
1558/// An iterator over `xkb::KeyType` objects.
1559#[derive(Copy, Clone, Debug)]
1560#[repr(C)]
1561pub struct xcb_xkb_key_type_iterator_t {
1562    /// The value of the current iteration.
1563    pub data: *mut xcb_xkb_key_type_t,
1564    /// The number of elements remaining including this one.
1565    pub rem: c_int,
1566    /// The offset of `data`, in bytes, from the start of the containing object.
1567    pub index: c_int,
1568}
1569
1570impl Default for xcb_xkb_key_type_iterator_t {
1571    fn default() -> Self {
1572        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1573    }
1574}
1575
1576/// The `xkb::KeySymMap` struct.
1577///
1578/// The following fields can be accessed via accessor functions:
1579///
1580/// - `syms`
1581#[derive(Copy, Clone, Debug)]
1582#[repr(C)]
1583pub struct xcb_xkb_key_sym_map_t {
1584    pub kt_index: [u8; 4],
1585    pub group_info: u8,
1586    pub width: u8,
1587    pub n_syms: u16,
1588}
1589
1590impl Default for xcb_xkb_key_sym_map_t {
1591    fn default() -> Self {
1592        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1593    }
1594}
1595
1596/// An iterator over `xkb::KeySymMap` objects.
1597#[derive(Copy, Clone, Debug)]
1598#[repr(C)]
1599pub struct xcb_xkb_key_sym_map_iterator_t {
1600    /// The value of the current iteration.
1601    pub data: *mut xcb_xkb_key_sym_map_t,
1602    /// The number of elements remaining including this one.
1603    pub rem: c_int,
1604    /// The offset of `data`, in bytes, from the start of the containing object.
1605    pub index: c_int,
1606}
1607
1608impl Default for xcb_xkb_key_sym_map_iterator_t {
1609    fn default() -> Self {
1610        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1611    }
1612}
1613
1614/// The `xkb::CommonBehavior` struct.
1615#[derive(Copy, Clone, Debug)]
1616#[repr(C)]
1617pub struct xcb_xkb_common_behavior_t {
1618    pub type_: u8,
1619    pub data: u8,
1620}
1621
1622impl Default for xcb_xkb_common_behavior_t {
1623    fn default() -> Self {
1624        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1625    }
1626}
1627
1628/// An iterator over `xkb::CommonBehavior` objects.
1629#[derive(Copy, Clone, Debug)]
1630#[repr(C)]
1631pub struct xcb_xkb_common_behavior_iterator_t {
1632    /// The value of the current iteration.
1633    pub data: *mut xcb_xkb_common_behavior_t,
1634    /// The number of elements remaining including this one.
1635    pub rem: c_int,
1636    /// The offset of `data`, in bytes, from the start of the containing object.
1637    pub index: c_int,
1638}
1639
1640impl Default for xcb_xkb_common_behavior_iterator_t {
1641    fn default() -> Self {
1642        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1643    }
1644}
1645
1646/// The `xkb::DefaultBehavior` struct.
1647#[derive(Copy, Clone, Debug)]
1648#[repr(C)]
1649pub struct xcb_xkb_default_behavior_t {
1650    pub type_: u8,
1651    pub pad0: u8,
1652}
1653
1654impl Default for xcb_xkb_default_behavior_t {
1655    fn default() -> Self {
1656        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1657    }
1658}
1659
1660/// An iterator over `xkb::DefaultBehavior` objects.
1661#[derive(Copy, Clone, Debug)]
1662#[repr(C)]
1663pub struct xcb_xkb_default_behavior_iterator_t {
1664    /// The value of the current iteration.
1665    pub data: *mut xcb_xkb_default_behavior_t,
1666    /// The number of elements remaining including this one.
1667    pub rem: c_int,
1668    /// The offset of `data`, in bytes, from the start of the containing object.
1669    pub index: c_int,
1670}
1671
1672impl Default for xcb_xkb_default_behavior_iterator_t {
1673    fn default() -> Self {
1674        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1675    }
1676}
1677
1678/// The `xkb::LockBehavior` struct.
1679#[derive(Copy, Clone, Debug)]
1680#[repr(C)]
1681pub struct xcb_xkb_lock_behavior_t {
1682    pub type_: u8,
1683    pub pad0: u8,
1684}
1685
1686impl Default for xcb_xkb_lock_behavior_t {
1687    fn default() -> Self {
1688        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1689    }
1690}
1691
1692/// An iterator over `xkb::LockBehavior` objects.
1693#[derive(Copy, Clone, Debug)]
1694#[repr(C)]
1695pub struct xcb_xkb_lock_behavior_iterator_t {
1696    /// The value of the current iteration.
1697    pub data: *mut xcb_xkb_lock_behavior_t,
1698    /// The number of elements remaining including this one.
1699    pub rem: c_int,
1700    /// The offset of `data`, in bytes, from the start of the containing object.
1701    pub index: c_int,
1702}
1703
1704impl Default for xcb_xkb_lock_behavior_iterator_t {
1705    fn default() -> Self {
1706        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1707    }
1708}
1709
1710/// The `xkb::RadioGroupBehavior` struct.
1711#[derive(Copy, Clone, Debug)]
1712#[repr(C)]
1713pub struct xcb_xkb_radio_group_behavior_t {
1714    pub type_: u8,
1715    pub group: u8,
1716}
1717
1718impl Default for xcb_xkb_radio_group_behavior_t {
1719    fn default() -> Self {
1720        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1721    }
1722}
1723
1724/// An iterator over `xkb::RadioGroupBehavior` objects.
1725#[derive(Copy, Clone, Debug)]
1726#[repr(C)]
1727pub struct xcb_xkb_radio_group_behavior_iterator_t {
1728    /// The value of the current iteration.
1729    pub data: *mut xcb_xkb_radio_group_behavior_t,
1730    /// The number of elements remaining including this one.
1731    pub rem: c_int,
1732    /// The offset of `data`, in bytes, from the start of the containing object.
1733    pub index: c_int,
1734}
1735
1736impl Default for xcb_xkb_radio_group_behavior_iterator_t {
1737    fn default() -> Self {
1738        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1739    }
1740}
1741
1742/// The `xkb::OverlayBehavior` struct.
1743#[derive(Copy, Clone, Debug)]
1744#[repr(C)]
1745pub struct xcb_xkb_overlay_behavior_t {
1746    pub type_: u8,
1747    pub key: xcb_keycode_t,
1748}
1749
1750impl Default for xcb_xkb_overlay_behavior_t {
1751    fn default() -> Self {
1752        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1753    }
1754}
1755
1756/// An iterator over `xkb::OverlayBehavior` objects.
1757#[derive(Copy, Clone, Debug)]
1758#[repr(C)]
1759pub struct xcb_xkb_overlay_behavior_iterator_t {
1760    /// The value of the current iteration.
1761    pub data: *mut xcb_xkb_overlay_behavior_t,
1762    /// The number of elements remaining including this one.
1763    pub rem: c_int,
1764    /// The offset of `data`, in bytes, from the start of the containing object.
1765    pub index: c_int,
1766}
1767
1768impl Default for xcb_xkb_overlay_behavior_iterator_t {
1769    fn default() -> Self {
1770        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1771    }
1772}
1773
1774/// The `xkb::PermamentLockBehavior` struct.
1775#[derive(Copy, Clone, Debug)]
1776#[repr(C)]
1777pub struct xcb_xkb_permament_lock_behavior_t {
1778    pub type_: u8,
1779    pub pad0: u8,
1780}
1781
1782impl Default for xcb_xkb_permament_lock_behavior_t {
1783    fn default() -> Self {
1784        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1785    }
1786}
1787
1788/// An iterator over `xkb::PermamentLockBehavior` objects.
1789#[derive(Copy, Clone, Debug)]
1790#[repr(C)]
1791pub struct xcb_xkb_permament_lock_behavior_iterator_t {
1792    /// The value of the current iteration.
1793    pub data: *mut xcb_xkb_permament_lock_behavior_t,
1794    /// The number of elements remaining including this one.
1795    pub rem: c_int,
1796    /// The offset of `data`, in bytes, from the start of the containing object.
1797    pub index: c_int,
1798}
1799
1800impl Default for xcb_xkb_permament_lock_behavior_iterator_t {
1801    fn default() -> Self {
1802        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1803    }
1804}
1805
1806/// The `xkb::PermamentRadioGroupBehavior` struct.
1807#[derive(Copy, Clone, Debug)]
1808#[repr(C)]
1809pub struct xcb_xkb_permament_radio_group_behavior_t {
1810    pub type_: u8,
1811    pub group: u8,
1812}
1813
1814impl Default for xcb_xkb_permament_radio_group_behavior_t {
1815    fn default() -> Self {
1816        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1817    }
1818}
1819
1820/// An iterator over `xkb::PermamentRadioGroupBehavior` objects.
1821#[derive(Copy, Clone, Debug)]
1822#[repr(C)]
1823pub struct xcb_xkb_permament_radio_group_behavior_iterator_t {
1824    /// The value of the current iteration.
1825    pub data: *mut xcb_xkb_permament_radio_group_behavior_t,
1826    /// The number of elements remaining including this one.
1827    pub rem: c_int,
1828    /// The offset of `data`, in bytes, from the start of the containing object.
1829    pub index: c_int,
1830}
1831
1832impl Default for xcb_xkb_permament_radio_group_behavior_iterator_t {
1833    fn default() -> Self {
1834        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1835    }
1836}
1837
1838/// The `xkb::PermamentOverlayBehavior` struct.
1839#[derive(Copy, Clone, Debug)]
1840#[repr(C)]
1841pub struct xcb_xkb_permament_overlay_behavior_t {
1842    pub type_: u8,
1843    pub key: xcb_keycode_t,
1844}
1845
1846impl Default for xcb_xkb_permament_overlay_behavior_t {
1847    fn default() -> Self {
1848        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1849    }
1850}
1851
1852/// An iterator over `xkb::PermamentOverlayBehavior` objects.
1853#[derive(Copy, Clone, Debug)]
1854#[repr(C)]
1855pub struct xcb_xkb_permament_overlay_behavior_iterator_t {
1856    /// The value of the current iteration.
1857    pub data: *mut xcb_xkb_permament_overlay_behavior_t,
1858    /// The number of elements remaining including this one.
1859    pub rem: c_int,
1860    /// The offset of `data`, in bytes, from the start of the containing object.
1861    pub index: c_int,
1862}
1863
1864impl Default for xcb_xkb_permament_overlay_behavior_iterator_t {
1865    fn default() -> Self {
1866        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1867    }
1868}
1869
1870/// The `xkb::Behavior` union.
1871#[derive(Copy, Clone)]
1872#[repr(C)]
1873pub union xcb_xkb_behavior_t {
1874    pub common: xcb_xkb_common_behavior_t,
1875    pub default: xcb_xkb_default_behavior_t,
1876    pub lock: xcb_xkb_lock_behavior_t,
1877    pub radio_group: xcb_xkb_radio_group_behavior_t,
1878    pub overlay1: xcb_xkb_overlay_behavior_t,
1879    pub overlay2: xcb_xkb_overlay_behavior_t,
1880    pub permament_lock: xcb_xkb_permament_lock_behavior_t,
1881    pub permament_radio_group: xcb_xkb_permament_radio_group_behavior_t,
1882    pub permament_overlay1: xcb_xkb_permament_overlay_behavior_t,
1883    pub permament_overlay2: xcb_xkb_permament_overlay_behavior_t,
1884    pub type_: u8,
1885}
1886
1887impl Default for xcb_xkb_behavior_t {
1888    fn default() -> Self {
1889        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1890    }
1891}
1892
1893/// An iterator over `xkb::Behavior` objects.
1894#[derive(Copy, Clone, Debug)]
1895#[repr(C)]
1896pub struct xcb_xkb_behavior_iterator_t {
1897    /// The value of the current iteration.
1898    pub data: *mut xcb_xkb_behavior_t,
1899    /// The number of elements remaining including this one.
1900    pub rem: c_int,
1901    /// The offset of `data`, in bytes, from the start of the containing object.
1902    pub index: c_int,
1903}
1904
1905impl Default for xcb_xkb_behavior_iterator_t {
1906    fn default() -> Self {
1907        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1908    }
1909}
1910
1911/// The `xkb::BehaviorType` enum.
1912///
1913/// This enum has the following variants:
1914///
1915/// - [`xkb::BehaviorType::Default`](XCB_XKB_BEHAVIOR_TYPE_DEFAULT)
1916/// - [`xkb::BehaviorType::Lock`](XCB_XKB_BEHAVIOR_TYPE_LOCK)
1917/// - [`xkb::BehaviorType::RadioGroup`](XCB_XKB_BEHAVIOR_TYPE_RADIO_GROUP)
1918/// - [`xkb::BehaviorType::Overlay1`](XCB_XKB_BEHAVIOR_TYPE_OVERLAY_1)
1919/// - [`xkb::BehaviorType::Overlay2`](XCB_XKB_BEHAVIOR_TYPE_OVERLAY_2)
1920/// - [`xkb::BehaviorType::PermamentLock`](XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_LOCK)
1921/// - [`xkb::BehaviorType::PermamentRadioGroup`](XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_RADIO_GROUP)
1922/// - [`xkb::BehaviorType::PermamentOverlay1`](XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_1)
1923/// - [`xkb::BehaviorType::PermamentOverlay2`](XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_2)
1924pub type xcb_xkb_behavior_type_t = u32;
1925/// The `xkb::BehaviorType::Default` enum variant.
1926///
1927/// This is a variant of [`xcb_xkb_behavior_type_t`].
1928pub const XCB_XKB_BEHAVIOR_TYPE_DEFAULT: xcb_xkb_behavior_type_t = 0;
1929/// The `xkb::BehaviorType::Lock` enum variant.
1930///
1931/// This is a variant of [`xcb_xkb_behavior_type_t`].
1932pub const XCB_XKB_BEHAVIOR_TYPE_LOCK: xcb_xkb_behavior_type_t = 1;
1933/// The `xkb::BehaviorType::RadioGroup` enum variant.
1934///
1935/// This is a variant of [`xcb_xkb_behavior_type_t`].
1936pub const XCB_XKB_BEHAVIOR_TYPE_RADIO_GROUP: xcb_xkb_behavior_type_t = 2;
1937/// The `xkb::BehaviorType::Overlay1` enum variant.
1938///
1939/// This is a variant of [`xcb_xkb_behavior_type_t`].
1940pub const XCB_XKB_BEHAVIOR_TYPE_OVERLAY_1: xcb_xkb_behavior_type_t = 3;
1941/// The `xkb::BehaviorType::Overlay2` enum variant.
1942///
1943/// This is a variant of [`xcb_xkb_behavior_type_t`].
1944pub const XCB_XKB_BEHAVIOR_TYPE_OVERLAY_2: xcb_xkb_behavior_type_t = 4;
1945/// The `xkb::BehaviorType::PermamentLock` enum variant.
1946///
1947/// This is a variant of [`xcb_xkb_behavior_type_t`].
1948pub const XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_LOCK: xcb_xkb_behavior_type_t = 129;
1949/// The `xkb::BehaviorType::PermamentRadioGroup` enum variant.
1950///
1951/// This is a variant of [`xcb_xkb_behavior_type_t`].
1952pub const XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_RADIO_GROUP: xcb_xkb_behavior_type_t = 130;
1953/// The `xkb::BehaviorType::PermamentOverlay1` enum variant.
1954///
1955/// This is a variant of [`xcb_xkb_behavior_type_t`].
1956pub const XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_1: xcb_xkb_behavior_type_t = 131;
1957/// The `xkb::BehaviorType::PermamentOverlay2` enum variant.
1958///
1959/// This is a variant of [`xcb_xkb_behavior_type_t`].
1960pub const XCB_XKB_BEHAVIOR_TYPE_PERMAMENT_OVERLAY_2: xcb_xkb_behavior_type_t = 132;
1961
1962/// The `xkb::SetBehavior` struct.
1963#[derive(Copy, Clone, Debug)]
1964#[repr(C)]
1965pub struct xcb_xkb_set_behavior_t {
1966    pub keycode: xcb_keycode_t,
1967    pub behavior: xcb_xkb_behavior_t,
1968    pub pad0: u8,
1969}
1970
1971impl Default for xcb_xkb_set_behavior_t {
1972    fn default() -> Self {
1973        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1974    }
1975}
1976
1977/// An iterator over `xkb::SetBehavior` objects.
1978#[derive(Copy, Clone, Debug)]
1979#[repr(C)]
1980pub struct xcb_xkb_set_behavior_iterator_t {
1981    /// The value of the current iteration.
1982    pub data: *mut xcb_xkb_set_behavior_t,
1983    /// The number of elements remaining including this one.
1984    pub rem: c_int,
1985    /// The offset of `data`, in bytes, from the start of the containing object.
1986    pub index: c_int,
1987}
1988
1989impl Default for xcb_xkb_set_behavior_iterator_t {
1990    fn default() -> Self {
1991        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
1992    }
1993}
1994
1995/// The `xkb::SetExplicit` struct.
1996#[derive(Copy, Clone, Debug)]
1997#[repr(C)]
1998pub struct xcb_xkb_set_explicit_t {
1999    pub keycode: xcb_keycode_t,
2000    pub explicit: u8,
2001}
2002
2003impl Default for xcb_xkb_set_explicit_t {
2004    fn default() -> Self {
2005        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2006    }
2007}
2008
2009/// An iterator over `xkb::SetExplicit` objects.
2010#[derive(Copy, Clone, Debug)]
2011#[repr(C)]
2012pub struct xcb_xkb_set_explicit_iterator_t {
2013    /// The value of the current iteration.
2014    pub data: *mut xcb_xkb_set_explicit_t,
2015    /// The number of elements remaining including this one.
2016    pub rem: c_int,
2017    /// The offset of `data`, in bytes, from the start of the containing object.
2018    pub index: c_int,
2019}
2020
2021impl Default for xcb_xkb_set_explicit_iterator_t {
2022    fn default() -> Self {
2023        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2024    }
2025}
2026
2027/// The `xkb::KeyModMap` struct.
2028#[derive(Copy, Clone, Debug)]
2029#[repr(C)]
2030pub struct xcb_xkb_key_mod_map_t {
2031    pub keycode: xcb_keycode_t,
2032    pub mods: u8,
2033}
2034
2035impl Default for xcb_xkb_key_mod_map_t {
2036    fn default() -> Self {
2037        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2038    }
2039}
2040
2041/// An iterator over `xkb::KeyModMap` objects.
2042#[derive(Copy, Clone, Debug)]
2043#[repr(C)]
2044pub struct xcb_xkb_key_mod_map_iterator_t {
2045    /// The value of the current iteration.
2046    pub data: *mut xcb_xkb_key_mod_map_t,
2047    /// The number of elements remaining including this one.
2048    pub rem: c_int,
2049    /// The offset of `data`, in bytes, from the start of the containing object.
2050    pub index: c_int,
2051}
2052
2053impl Default for xcb_xkb_key_mod_map_iterator_t {
2054    fn default() -> Self {
2055        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2056    }
2057}
2058
2059/// The `xkb::KeyVModMap` struct.
2060#[derive(Copy, Clone, Debug)]
2061#[repr(C)]
2062pub struct xcb_xkb_key_v_mod_map_t {
2063    pub keycode: xcb_keycode_t,
2064    pub pad0: u8,
2065    pub vmods: u16,
2066}
2067
2068impl Default for xcb_xkb_key_v_mod_map_t {
2069    fn default() -> Self {
2070        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2071    }
2072}
2073
2074/// An iterator over `xkb::KeyVModMap` objects.
2075#[derive(Copy, Clone, Debug)]
2076#[repr(C)]
2077pub struct xcb_xkb_key_v_mod_map_iterator_t {
2078    /// The value of the current iteration.
2079    pub data: *mut xcb_xkb_key_v_mod_map_t,
2080    /// The number of elements remaining including this one.
2081    pub rem: c_int,
2082    /// The offset of `data`, in bytes, from the start of the containing object.
2083    pub index: c_int,
2084}
2085
2086impl Default for xcb_xkb_key_v_mod_map_iterator_t {
2087    fn default() -> Self {
2088        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2089    }
2090}
2091
2092/// The `xkb::KTSetMapEntry` struct.
2093#[derive(Copy, Clone, Debug)]
2094#[repr(C)]
2095pub struct xcb_xkb_kt_set_map_entry_t {
2096    pub level: u8,
2097    pub real_mods: u8,
2098    pub virtual_mods: u16,
2099}
2100
2101impl Default for xcb_xkb_kt_set_map_entry_t {
2102    fn default() -> Self {
2103        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2104    }
2105}
2106
2107/// An iterator over `xkb::KTSetMapEntry` objects.
2108#[derive(Copy, Clone, Debug)]
2109#[repr(C)]
2110pub struct xcb_xkb_kt_set_map_entry_iterator_t {
2111    /// The value of the current iteration.
2112    pub data: *mut xcb_xkb_kt_set_map_entry_t,
2113    /// The number of elements remaining including this one.
2114    pub rem: c_int,
2115    /// The offset of `data`, in bytes, from the start of the containing object.
2116    pub index: c_int,
2117}
2118
2119impl Default for xcb_xkb_kt_set_map_entry_iterator_t {
2120    fn default() -> Self {
2121        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2122    }
2123}
2124
2125/// The `xkb::SetKeyType` struct.
2126///
2127/// The following fields can be accessed via accessor functions:
2128///
2129/// - `entries`
2130/// - `preserve_entries`
2131#[derive(Copy, Clone, Debug)]
2132#[repr(C)]
2133pub struct xcb_xkb_set_key_type_t {
2134    pub mask: u8,
2135    pub real_mods: u8,
2136    pub virtual_mods: u16,
2137    pub num_levels: u8,
2138    pub n_map_entries: u8,
2139    pub preserve: u8,
2140    pub pad0: u8,
2141}
2142
2143impl Default for xcb_xkb_set_key_type_t {
2144    fn default() -> Self {
2145        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2146    }
2147}
2148
2149/// An iterator over `xkb::SetKeyType` objects.
2150#[derive(Copy, Clone, Debug)]
2151#[repr(C)]
2152pub struct xcb_xkb_set_key_type_iterator_t {
2153    /// The value of the current iteration.
2154    pub data: *mut xcb_xkb_set_key_type_t,
2155    /// The number of elements remaining including this one.
2156    pub rem: c_int,
2157    /// The offset of `data`, in bytes, from the start of the containing object.
2158    pub index: c_int,
2159}
2160
2161impl Default for xcb_xkb_set_key_type_iterator_t {
2162    fn default() -> Self {
2163        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2164    }
2165}
2166
2167/// The `xkb::STRING8` type.
2168pub type xcb_xkb_string8_t = c_char;
2169
2170/// An iterator over `xkb::STRING8` objects.
2171#[derive(Copy, Clone, Debug)]
2172#[repr(C)]
2173pub struct xcb_xkb_string8_iterator_t {
2174    /// The value of the current iteration.
2175    pub data: *mut xcb_xkb_string8_t,
2176    /// The number of elements remaining including this one.
2177    pub rem: c_int,
2178    /// The offset of `data`, in bytes, from the start of the containing object.
2179    pub index: c_int,
2180}
2181
2182impl Default for xcb_xkb_string8_iterator_t {
2183    fn default() -> Self {
2184        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2185    }
2186}
2187
2188/// The `xkb::Outline` struct.
2189///
2190/// The following fields can be accessed via accessor functions:
2191///
2192/// - `points`
2193#[derive(Copy, Clone, Debug)]
2194#[repr(C)]
2195pub struct xcb_xkb_outline_t {
2196    pub n_points: u8,
2197    pub corner_radius: u8,
2198    pub pad0: [u8; 2],
2199}
2200
2201impl Default for xcb_xkb_outline_t {
2202    fn default() -> Self {
2203        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2204    }
2205}
2206
2207/// An iterator over `xkb::Outline` objects.
2208#[derive(Copy, Clone, Debug)]
2209#[repr(C)]
2210pub struct xcb_xkb_outline_iterator_t {
2211    /// The value of the current iteration.
2212    pub data: *mut xcb_xkb_outline_t,
2213    /// The number of elements remaining including this one.
2214    pub rem: c_int,
2215    /// The offset of `data`, in bytes, from the start of the containing object.
2216    pub index: c_int,
2217}
2218
2219impl Default for xcb_xkb_outline_iterator_t {
2220    fn default() -> Self {
2221        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2222    }
2223}
2224
2225/// The `xkb::Shape` struct.
2226///
2227/// The following fields can be accessed via accessor functions:
2228///
2229/// - `outlines`
2230#[derive(Copy, Clone, Debug)]
2231#[repr(C)]
2232pub struct xcb_xkb_shape_t {
2233    pub name: xcb_atom_t,
2234    pub n_outlines: u8,
2235    pub primary_ndx: u8,
2236    pub approx_ndx: u8,
2237    pub pad0: u8,
2238}
2239
2240impl Default for xcb_xkb_shape_t {
2241    fn default() -> Self {
2242        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2243    }
2244}
2245
2246/// An iterator over `xkb::Shape` objects.
2247#[derive(Copy, Clone, Debug)]
2248#[repr(C)]
2249pub struct xcb_xkb_shape_iterator_t {
2250    /// The value of the current iteration.
2251    pub data: *mut xcb_xkb_shape_t,
2252    /// The number of elements remaining including this one.
2253    pub rem: c_int,
2254    /// The offset of `data`, in bytes, from the start of the containing object.
2255    pub index: c_int,
2256}
2257
2258impl Default for xcb_xkb_shape_iterator_t {
2259    fn default() -> Self {
2260        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2261    }
2262}
2263
2264/// The `xkb::Key` struct.
2265#[derive(Copy, Clone, Debug)]
2266#[repr(C)]
2267pub struct xcb_xkb_key_t {
2268    pub name: [xcb_xkb_string8_t; 4],
2269    pub gap: i16,
2270    pub shape_ndx: u8,
2271    pub color_ndx: u8,
2272}
2273
2274impl Default for xcb_xkb_key_t {
2275    fn default() -> Self {
2276        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2277    }
2278}
2279
2280/// An iterator over `xkb::Key` objects.
2281#[derive(Copy, Clone, Debug)]
2282#[repr(C)]
2283pub struct xcb_xkb_key_iterator_t {
2284    /// The value of the current iteration.
2285    pub data: *mut xcb_xkb_key_t,
2286    /// The number of elements remaining including this one.
2287    pub rem: c_int,
2288    /// The offset of `data`, in bytes, from the start of the containing object.
2289    pub index: c_int,
2290}
2291
2292impl Default for xcb_xkb_key_iterator_t {
2293    fn default() -> Self {
2294        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2295    }
2296}
2297
2298/// The `xkb::OverlayKey` struct.
2299#[derive(Copy, Clone, Debug)]
2300#[repr(C)]
2301pub struct xcb_xkb_overlay_key_t {
2302    pub over: [xcb_xkb_string8_t; 4],
2303    pub under: [xcb_xkb_string8_t; 4],
2304}
2305
2306impl Default for xcb_xkb_overlay_key_t {
2307    fn default() -> Self {
2308        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2309    }
2310}
2311
2312/// An iterator over `xkb::OverlayKey` objects.
2313#[derive(Copy, Clone, Debug)]
2314#[repr(C)]
2315pub struct xcb_xkb_overlay_key_iterator_t {
2316    /// The value of the current iteration.
2317    pub data: *mut xcb_xkb_overlay_key_t,
2318    /// The number of elements remaining including this one.
2319    pub rem: c_int,
2320    /// The offset of `data`, in bytes, from the start of the containing object.
2321    pub index: c_int,
2322}
2323
2324impl Default for xcb_xkb_overlay_key_iterator_t {
2325    fn default() -> Self {
2326        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2327    }
2328}
2329
2330/// The `xkb::OverlayRow` struct.
2331///
2332/// The following fields can be accessed via accessor functions:
2333///
2334/// - `keys`
2335#[derive(Copy, Clone, Debug)]
2336#[repr(C)]
2337pub struct xcb_xkb_overlay_row_t {
2338    pub row_under: u8,
2339    pub n_keys: u8,
2340    pub pad0: [u8; 2],
2341}
2342
2343impl Default for xcb_xkb_overlay_row_t {
2344    fn default() -> Self {
2345        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2346    }
2347}
2348
2349/// An iterator over `xkb::OverlayRow` objects.
2350#[derive(Copy, Clone, Debug)]
2351#[repr(C)]
2352pub struct xcb_xkb_overlay_row_iterator_t {
2353    /// The value of the current iteration.
2354    pub data: *mut xcb_xkb_overlay_row_t,
2355    /// The number of elements remaining including this one.
2356    pub rem: c_int,
2357    /// The offset of `data`, in bytes, from the start of the containing object.
2358    pub index: c_int,
2359}
2360
2361impl Default for xcb_xkb_overlay_row_iterator_t {
2362    fn default() -> Self {
2363        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2364    }
2365}
2366
2367/// The `xkb::Overlay` struct.
2368///
2369/// The following fields can be accessed via accessor functions:
2370///
2371/// - `rows`
2372#[derive(Copy, Clone, Debug)]
2373#[repr(C)]
2374pub struct xcb_xkb_overlay_t {
2375    pub name: xcb_atom_t,
2376    pub n_rows: u8,
2377    pub pad0: [u8; 3],
2378}
2379
2380impl Default for xcb_xkb_overlay_t {
2381    fn default() -> Self {
2382        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2383    }
2384}
2385
2386/// An iterator over `xkb::Overlay` objects.
2387#[derive(Copy, Clone, Debug)]
2388#[repr(C)]
2389pub struct xcb_xkb_overlay_iterator_t {
2390    /// The value of the current iteration.
2391    pub data: *mut xcb_xkb_overlay_t,
2392    /// The number of elements remaining including this one.
2393    pub rem: c_int,
2394    /// The offset of `data`, in bytes, from the start of the containing object.
2395    pub index: c_int,
2396}
2397
2398impl Default for xcb_xkb_overlay_iterator_t {
2399    fn default() -> Self {
2400        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2401    }
2402}
2403
2404/// The `xkb::Row` struct.
2405///
2406/// The following fields can be accessed via accessor functions:
2407///
2408/// - `keys`
2409#[derive(Copy, Clone, Debug)]
2410#[repr(C)]
2411pub struct xcb_xkb_row_t {
2412    pub top: i16,
2413    pub left: i16,
2414    pub n_keys: u8,
2415    pub vertical: u8,
2416    pub pad0: [u8; 2],
2417}
2418
2419impl Default for xcb_xkb_row_t {
2420    fn default() -> Self {
2421        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2422    }
2423}
2424
2425/// An iterator over `xkb::Row` objects.
2426#[derive(Copy, Clone, Debug)]
2427#[repr(C)]
2428pub struct xcb_xkb_row_iterator_t {
2429    /// The value of the current iteration.
2430    pub data: *mut xcb_xkb_row_t,
2431    /// The number of elements remaining including this one.
2432    pub rem: c_int,
2433    /// The offset of `data`, in bytes, from the start of the containing object.
2434    pub index: c_int,
2435}
2436
2437impl Default for xcb_xkb_row_iterator_t {
2438    fn default() -> Self {
2439        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2440    }
2441}
2442
2443/// The `xkb::DoodadType` enum.
2444///
2445/// This enum has the following variants:
2446///
2447/// - [`xkb::DoodadType::Outline`](XCB_XKB_DOODAD_TYPE_OUTLINE)
2448/// - [`xkb::DoodadType::Solid`](XCB_XKB_DOODAD_TYPE_SOLID)
2449/// - [`xkb::DoodadType::Text`](XCB_XKB_DOODAD_TYPE_TEXT)
2450/// - [`xkb::DoodadType::Indicator`](XCB_XKB_DOODAD_TYPE_INDICATOR)
2451/// - [`xkb::DoodadType::Logo`](XCB_XKB_DOODAD_TYPE_LOGO)
2452pub type xcb_xkb_doodad_type_t = u32;
2453/// The `xkb::DoodadType::Outline` enum variant.
2454///
2455/// This is a variant of [`xcb_xkb_doodad_type_t`].
2456pub const XCB_XKB_DOODAD_TYPE_OUTLINE: xcb_xkb_doodad_type_t = 1;
2457/// The `xkb::DoodadType::Solid` enum variant.
2458///
2459/// This is a variant of [`xcb_xkb_doodad_type_t`].
2460pub const XCB_XKB_DOODAD_TYPE_SOLID: xcb_xkb_doodad_type_t = 2;
2461/// The `xkb::DoodadType::Text` enum variant.
2462///
2463/// This is a variant of [`xcb_xkb_doodad_type_t`].
2464pub const XCB_XKB_DOODAD_TYPE_TEXT: xcb_xkb_doodad_type_t = 3;
2465/// The `xkb::DoodadType::Indicator` enum variant.
2466///
2467/// This is a variant of [`xcb_xkb_doodad_type_t`].
2468pub const XCB_XKB_DOODAD_TYPE_INDICATOR: xcb_xkb_doodad_type_t = 4;
2469/// The `xkb::DoodadType::Logo` enum variant.
2470///
2471/// This is a variant of [`xcb_xkb_doodad_type_t`].
2472pub const XCB_XKB_DOODAD_TYPE_LOGO: xcb_xkb_doodad_type_t = 5;
2473
2474/// The `xkb::Listing` struct.
2475///
2476/// The following fields can be accessed via accessor functions:
2477///
2478/// - `string`
2479#[derive(Copy, Clone, Debug)]
2480#[repr(C)]
2481pub struct xcb_xkb_listing_t {
2482    pub flags: u16,
2483    pub length: u16,
2484}
2485
2486impl Default for xcb_xkb_listing_t {
2487    fn default() -> Self {
2488        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2489    }
2490}
2491
2492/// An iterator over `xkb::Listing` objects.
2493#[derive(Copy, Clone, Debug)]
2494#[repr(C)]
2495pub struct xcb_xkb_listing_iterator_t {
2496    /// The value of the current iteration.
2497    pub data: *mut xcb_xkb_listing_t,
2498    /// The number of elements remaining including this one.
2499    pub rem: c_int,
2500    /// The offset of `data`, in bytes, from the start of the containing object.
2501    pub index: c_int,
2502}
2503
2504impl Default for xcb_xkb_listing_iterator_t {
2505    fn default() -> Self {
2506        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2507    }
2508}
2509
2510/// The `xkb::DeviceLedInfo` struct.
2511///
2512/// The following fields can be accessed via accessor functions:
2513///
2514/// - `names`
2515/// - `maps`
2516#[derive(Copy, Clone, Debug)]
2517#[repr(C)]
2518pub struct xcb_xkb_device_led_info_t {
2519    pub led_class: xcb_xkb_led_class_spec_t,
2520    pub led_id: xcb_xkb_id_spec_t,
2521    pub names_present: u32,
2522    pub maps_present: u32,
2523    pub phys_indicators: u32,
2524    pub state: u32,
2525}
2526
2527impl Default for xcb_xkb_device_led_info_t {
2528    fn default() -> Self {
2529        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2530    }
2531}
2532
2533/// An iterator over `xkb::DeviceLedInfo` objects.
2534#[derive(Copy, Clone, Debug)]
2535#[repr(C)]
2536pub struct xcb_xkb_device_led_info_iterator_t {
2537    /// The value of the current iteration.
2538    pub data: *mut xcb_xkb_device_led_info_t,
2539    /// The number of elements remaining including this one.
2540    pub rem: c_int,
2541    /// The offset of `data`, in bytes, from the start of the containing object.
2542    pub index: c_int,
2543}
2544
2545impl Default for xcb_xkb_device_led_info_iterator_t {
2546    fn default() -> Self {
2547        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2548    }
2549}
2550
2551/// The `xkb::Error` enum.
2552///
2553/// This enum has the following variants:
2554///
2555/// - [`xkb::Error::BadDevice`](XCB_XKB_ERROR_BAD_DEVICE)
2556/// - [`xkb::Error::BadClass`](XCB_XKB_ERROR_BAD_CLASS)
2557/// - [`xkb::Error::BadId`](XCB_XKB_ERROR_BAD_ID)
2558pub type xcb_xkb_error_t = u32;
2559/// The `xkb::Error::BadDevice` enum variant.
2560///
2561/// This is a variant of [`xcb_xkb_error_t`].
2562pub const XCB_XKB_ERROR_BAD_DEVICE: xcb_xkb_error_t = 255;
2563/// The `xkb::Error::BadClass` enum variant.
2564///
2565/// This is a variant of [`xcb_xkb_error_t`].
2566pub const XCB_XKB_ERROR_BAD_CLASS: xcb_xkb_error_t = 254;
2567/// The `xkb::Error::BadId` enum variant.
2568///
2569/// This is a variant of [`xcb_xkb_error_t`].
2570pub const XCB_XKB_ERROR_BAD_ID: xcb_xkb_error_t = 253;
2571
2572/// The opcode for `xkb::Keyboard` errors.
2573///
2574/// If this value plus the extension error base appears in [`xcb_generic_error_t::error_code`],
2575/// then the type of the error is [`xcb_xkb_keyboard_error_t`].
2576pub const XCB_XKB_KEYBOARD: u8 = 0i32 as u8;
2577
2578/// The `xkb::Keyboard` error.
2579#[derive(Copy, Clone, Debug)]
2580#[repr(C)]
2581pub struct xcb_xkb_keyboard_error_t {
2582    pub response_type: u8,
2583    pub error_code: u8,
2584    pub sequence: u16,
2585    pub value: u32,
2586    pub minor_opcode: u16,
2587    pub major_opcode: u8,
2588    pub pad0: [u8; 21],
2589}
2590
2591impl Default for xcb_xkb_keyboard_error_t {
2592    fn default() -> Self {
2593        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2594    }
2595}
2596
2597/// The `xkb::SA` enum.
2598///
2599/// This enum has the following variants:
2600///
2601/// - [`xkb::SA::ClearLocks`](XCB_XKB_SA_CLEAR_LOCKS)
2602/// - [`xkb::SA::LatchToLock`](XCB_XKB_SA_LATCH_TO_LOCK)
2603/// - [`xkb::SA::UseModMapMods`](XCB_XKB_SA_USE_MOD_MAP_MODS)
2604/// - [`xkb::SA::GroupAbsolute`](XCB_XKB_SA_GROUP_ABSOLUTE)
2605pub type xcb_xkb_sa_t = u32;
2606/// The `xkb::SA::ClearLocks` enum variant.
2607///
2608/// This is a variant of [`xcb_xkb_sa_t`].
2609pub const XCB_XKB_SA_CLEAR_LOCKS: xcb_xkb_sa_t = 1;
2610/// The `xkb::SA::LatchToLock` enum variant.
2611///
2612/// This is a variant of [`xcb_xkb_sa_t`].
2613pub const XCB_XKB_SA_LATCH_TO_LOCK: xcb_xkb_sa_t = 2;
2614/// The `xkb::SA::UseModMapMods` enum variant.
2615///
2616/// This is a variant of [`xcb_xkb_sa_t`].
2617pub const XCB_XKB_SA_USE_MOD_MAP_MODS: xcb_xkb_sa_t = 4;
2618/// The `xkb::SA::GroupAbsolute` enum variant.
2619///
2620/// This is a variant of [`xcb_xkb_sa_t`].
2621pub const XCB_XKB_SA_GROUP_ABSOLUTE: xcb_xkb_sa_t = 4;
2622
2623/// The `xkb::SAType` enum.
2624///
2625/// This enum has the following variants:
2626///
2627/// - [`xkb::SAType::NoAction`](XCB_XKB_SA_TYPE_NO_ACTION)
2628/// - [`xkb::SAType::SetMods`](XCB_XKB_SA_TYPE_SET_MODS)
2629/// - [`xkb::SAType::LatchMods`](XCB_XKB_SA_TYPE_LATCH_MODS)
2630/// - [`xkb::SAType::LockMods`](XCB_XKB_SA_TYPE_LOCK_MODS)
2631/// - [`xkb::SAType::SetGroup`](XCB_XKB_SA_TYPE_SET_GROUP)
2632/// - [`xkb::SAType::LatchGroup`](XCB_XKB_SA_TYPE_LATCH_GROUP)
2633/// - [`xkb::SAType::LockGroup`](XCB_XKB_SA_TYPE_LOCK_GROUP)
2634/// - [`xkb::SAType::MovePtr`](XCB_XKB_SA_TYPE_MOVE_PTR)
2635/// - [`xkb::SAType::PtrBtn`](XCB_XKB_SA_TYPE_PTR_BTN)
2636/// - [`xkb::SAType::LockPtrBtn`](XCB_XKB_SA_TYPE_LOCK_PTR_BTN)
2637/// - [`xkb::SAType::SetPtrDflt`](XCB_XKB_SA_TYPE_SET_PTR_DFLT)
2638/// - [`xkb::SAType::ISOLock`](XCB_XKB_SA_TYPE_ISO_LOCK)
2639/// - [`xkb::SAType::Terminate`](XCB_XKB_SA_TYPE_TERMINATE)
2640/// - [`xkb::SAType::SwitchScreen`](XCB_XKB_SA_TYPE_SWITCH_SCREEN)
2641/// - [`xkb::SAType::SetControls`](XCB_XKB_SA_TYPE_SET_CONTROLS)
2642/// - [`xkb::SAType::LockControls`](XCB_XKB_SA_TYPE_LOCK_CONTROLS)
2643/// - [`xkb::SAType::ActionMessage`](XCB_XKB_SA_TYPE_ACTION_MESSAGE)
2644/// - [`xkb::SAType::RedirectKey`](XCB_XKB_SA_TYPE_REDIRECT_KEY)
2645/// - [`xkb::SAType::DeviceBtn`](XCB_XKB_SA_TYPE_DEVICE_BTN)
2646/// - [`xkb::SAType::LockDeviceBtn`](XCB_XKB_SA_TYPE_LOCK_DEVICE_BTN)
2647/// - [`xkb::SAType::DeviceValuator`](XCB_XKB_SA_TYPE_DEVICE_VALUATOR)
2648pub type xcb_xkb_sa_type_t = u32;
2649/// The `xkb::SAType::NoAction` enum variant.
2650///
2651/// This is a variant of [`xcb_xkb_sa_type_t`].
2652pub const XCB_XKB_SA_TYPE_NO_ACTION: xcb_xkb_sa_type_t = 0;
2653/// The `xkb::SAType::SetMods` enum variant.
2654///
2655/// This is a variant of [`xcb_xkb_sa_type_t`].
2656pub const XCB_XKB_SA_TYPE_SET_MODS: xcb_xkb_sa_type_t = 1;
2657/// The `xkb::SAType::LatchMods` enum variant.
2658///
2659/// This is a variant of [`xcb_xkb_sa_type_t`].
2660pub const XCB_XKB_SA_TYPE_LATCH_MODS: xcb_xkb_sa_type_t = 2;
2661/// The `xkb::SAType::LockMods` enum variant.
2662///
2663/// This is a variant of [`xcb_xkb_sa_type_t`].
2664pub const XCB_XKB_SA_TYPE_LOCK_MODS: xcb_xkb_sa_type_t = 3;
2665/// The `xkb::SAType::SetGroup` enum variant.
2666///
2667/// This is a variant of [`xcb_xkb_sa_type_t`].
2668pub const XCB_XKB_SA_TYPE_SET_GROUP: xcb_xkb_sa_type_t = 4;
2669/// The `xkb::SAType::LatchGroup` enum variant.
2670///
2671/// This is a variant of [`xcb_xkb_sa_type_t`].
2672pub const XCB_XKB_SA_TYPE_LATCH_GROUP: xcb_xkb_sa_type_t = 5;
2673/// The `xkb::SAType::LockGroup` enum variant.
2674///
2675/// This is a variant of [`xcb_xkb_sa_type_t`].
2676pub const XCB_XKB_SA_TYPE_LOCK_GROUP: xcb_xkb_sa_type_t = 6;
2677/// The `xkb::SAType::MovePtr` enum variant.
2678///
2679/// This is a variant of [`xcb_xkb_sa_type_t`].
2680pub const XCB_XKB_SA_TYPE_MOVE_PTR: xcb_xkb_sa_type_t = 7;
2681/// The `xkb::SAType::PtrBtn` enum variant.
2682///
2683/// This is a variant of [`xcb_xkb_sa_type_t`].
2684pub const XCB_XKB_SA_TYPE_PTR_BTN: xcb_xkb_sa_type_t = 8;
2685/// The `xkb::SAType::LockPtrBtn` enum variant.
2686///
2687/// This is a variant of [`xcb_xkb_sa_type_t`].
2688pub const XCB_XKB_SA_TYPE_LOCK_PTR_BTN: xcb_xkb_sa_type_t = 9;
2689/// The `xkb::SAType::SetPtrDflt` enum variant.
2690///
2691/// This is a variant of [`xcb_xkb_sa_type_t`].
2692pub const XCB_XKB_SA_TYPE_SET_PTR_DFLT: xcb_xkb_sa_type_t = 10;
2693/// The `xkb::SAType::ISOLock` enum variant.
2694///
2695/// This is a variant of [`xcb_xkb_sa_type_t`].
2696pub const XCB_XKB_SA_TYPE_ISO_LOCK: xcb_xkb_sa_type_t = 11;
2697/// The `xkb::SAType::Terminate` enum variant.
2698///
2699/// This is a variant of [`xcb_xkb_sa_type_t`].
2700pub const XCB_XKB_SA_TYPE_TERMINATE: xcb_xkb_sa_type_t = 12;
2701/// The `xkb::SAType::SwitchScreen` enum variant.
2702///
2703/// This is a variant of [`xcb_xkb_sa_type_t`].
2704pub const XCB_XKB_SA_TYPE_SWITCH_SCREEN: xcb_xkb_sa_type_t = 13;
2705/// The `xkb::SAType::SetControls` enum variant.
2706///
2707/// This is a variant of [`xcb_xkb_sa_type_t`].
2708pub const XCB_XKB_SA_TYPE_SET_CONTROLS: xcb_xkb_sa_type_t = 14;
2709/// The `xkb::SAType::LockControls` enum variant.
2710///
2711/// This is a variant of [`xcb_xkb_sa_type_t`].
2712pub const XCB_XKB_SA_TYPE_LOCK_CONTROLS: xcb_xkb_sa_type_t = 15;
2713/// The `xkb::SAType::ActionMessage` enum variant.
2714///
2715/// This is a variant of [`xcb_xkb_sa_type_t`].
2716pub const XCB_XKB_SA_TYPE_ACTION_MESSAGE: xcb_xkb_sa_type_t = 16;
2717/// The `xkb::SAType::RedirectKey` enum variant.
2718///
2719/// This is a variant of [`xcb_xkb_sa_type_t`].
2720pub const XCB_XKB_SA_TYPE_REDIRECT_KEY: xcb_xkb_sa_type_t = 17;
2721/// The `xkb::SAType::DeviceBtn` enum variant.
2722///
2723/// This is a variant of [`xcb_xkb_sa_type_t`].
2724pub const XCB_XKB_SA_TYPE_DEVICE_BTN: xcb_xkb_sa_type_t = 18;
2725/// The `xkb::SAType::LockDeviceBtn` enum variant.
2726///
2727/// This is a variant of [`xcb_xkb_sa_type_t`].
2728pub const XCB_XKB_SA_TYPE_LOCK_DEVICE_BTN: xcb_xkb_sa_type_t = 19;
2729/// The `xkb::SAType::DeviceValuator` enum variant.
2730///
2731/// This is a variant of [`xcb_xkb_sa_type_t`].
2732pub const XCB_XKB_SA_TYPE_DEVICE_VALUATOR: xcb_xkb_sa_type_t = 20;
2733
2734/// The `xkb::SANoAction` struct.
2735#[derive(Copy, Clone, Debug)]
2736#[repr(C)]
2737pub struct xcb_xkb_sa_no_action_t {
2738    pub type_: u8,
2739    pub pad0: [u8; 7],
2740}
2741
2742impl Default for xcb_xkb_sa_no_action_t {
2743    fn default() -> Self {
2744        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2745    }
2746}
2747
2748/// An iterator over `xkb::SANoAction` objects.
2749#[derive(Copy, Clone, Debug)]
2750#[repr(C)]
2751pub struct xcb_xkb_sa_no_action_iterator_t {
2752    /// The value of the current iteration.
2753    pub data: *mut xcb_xkb_sa_no_action_t,
2754    /// The number of elements remaining including this one.
2755    pub rem: c_int,
2756    /// The offset of `data`, in bytes, from the start of the containing object.
2757    pub index: c_int,
2758}
2759
2760impl Default for xcb_xkb_sa_no_action_iterator_t {
2761    fn default() -> Self {
2762        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2763    }
2764}
2765
2766/// The `xkb::SASetMods` struct.
2767#[derive(Copy, Clone, Debug)]
2768#[repr(C)]
2769pub struct xcb_xkb_sa_set_mods_t {
2770    pub type_: u8,
2771    pub flags: u8,
2772    pub mask: u8,
2773    pub real_mods: u8,
2774    pub vmods_high: u8,
2775    pub vmods_low: u8,
2776    pub pad0: [u8; 2],
2777}
2778
2779impl Default for xcb_xkb_sa_set_mods_t {
2780    fn default() -> Self {
2781        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2782    }
2783}
2784
2785/// An iterator over `xkb::SASetMods` objects.
2786#[derive(Copy, Clone, Debug)]
2787#[repr(C)]
2788pub struct xcb_xkb_sa_set_mods_iterator_t {
2789    /// The value of the current iteration.
2790    pub data: *mut xcb_xkb_sa_set_mods_t,
2791    /// The number of elements remaining including this one.
2792    pub rem: c_int,
2793    /// The offset of `data`, in bytes, from the start of the containing object.
2794    pub index: c_int,
2795}
2796
2797impl Default for xcb_xkb_sa_set_mods_iterator_t {
2798    fn default() -> Self {
2799        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2800    }
2801}
2802
2803/// The `xkb::SALatchMods` struct.
2804#[derive(Copy, Clone, Debug)]
2805#[repr(C)]
2806pub struct xcb_xkb_sa_latch_mods_t {
2807    pub type_: u8,
2808    pub flags: u8,
2809    pub mask: u8,
2810    pub real_mods: u8,
2811    pub vmods_high: u8,
2812    pub vmods_low: u8,
2813    pub pad0: [u8; 2],
2814}
2815
2816impl Default for xcb_xkb_sa_latch_mods_t {
2817    fn default() -> Self {
2818        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2819    }
2820}
2821
2822/// An iterator over `xkb::SALatchMods` objects.
2823#[derive(Copy, Clone, Debug)]
2824#[repr(C)]
2825pub struct xcb_xkb_sa_latch_mods_iterator_t {
2826    /// The value of the current iteration.
2827    pub data: *mut xcb_xkb_sa_latch_mods_t,
2828    /// The number of elements remaining including this one.
2829    pub rem: c_int,
2830    /// The offset of `data`, in bytes, from the start of the containing object.
2831    pub index: c_int,
2832}
2833
2834impl Default for xcb_xkb_sa_latch_mods_iterator_t {
2835    fn default() -> Self {
2836        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2837    }
2838}
2839
2840/// The `xkb::SALockMods` struct.
2841#[derive(Copy, Clone, Debug)]
2842#[repr(C)]
2843pub struct xcb_xkb_sa_lock_mods_t {
2844    pub type_: u8,
2845    pub flags: u8,
2846    pub mask: u8,
2847    pub real_mods: u8,
2848    pub vmods_high: u8,
2849    pub vmods_low: u8,
2850    pub pad0: [u8; 2],
2851}
2852
2853impl Default for xcb_xkb_sa_lock_mods_t {
2854    fn default() -> Self {
2855        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2856    }
2857}
2858
2859/// An iterator over `xkb::SALockMods` objects.
2860#[derive(Copy, Clone, Debug)]
2861#[repr(C)]
2862pub struct xcb_xkb_sa_lock_mods_iterator_t {
2863    /// The value of the current iteration.
2864    pub data: *mut xcb_xkb_sa_lock_mods_t,
2865    /// The number of elements remaining including this one.
2866    pub rem: c_int,
2867    /// The offset of `data`, in bytes, from the start of the containing object.
2868    pub index: c_int,
2869}
2870
2871impl Default for xcb_xkb_sa_lock_mods_iterator_t {
2872    fn default() -> Self {
2873        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2874    }
2875}
2876
2877/// The `xkb::SASetGroup` struct.
2878#[derive(Copy, Clone, Debug)]
2879#[repr(C)]
2880pub struct xcb_xkb_sa_set_group_t {
2881    pub type_: u8,
2882    pub flags: u8,
2883    pub group: i8,
2884    pub pad0: [u8; 5],
2885}
2886
2887impl Default for xcb_xkb_sa_set_group_t {
2888    fn default() -> Self {
2889        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2890    }
2891}
2892
2893/// An iterator over `xkb::SASetGroup` objects.
2894#[derive(Copy, Clone, Debug)]
2895#[repr(C)]
2896pub struct xcb_xkb_sa_set_group_iterator_t {
2897    /// The value of the current iteration.
2898    pub data: *mut xcb_xkb_sa_set_group_t,
2899    /// The number of elements remaining including this one.
2900    pub rem: c_int,
2901    /// The offset of `data`, in bytes, from the start of the containing object.
2902    pub index: c_int,
2903}
2904
2905impl Default for xcb_xkb_sa_set_group_iterator_t {
2906    fn default() -> Self {
2907        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2908    }
2909}
2910
2911/// The `xkb::SALatchGroup` struct.
2912#[derive(Copy, Clone, Debug)]
2913#[repr(C)]
2914pub struct xcb_xkb_sa_latch_group_t {
2915    pub type_: u8,
2916    pub flags: u8,
2917    pub group: i8,
2918    pub pad0: [u8; 5],
2919}
2920
2921impl Default for xcb_xkb_sa_latch_group_t {
2922    fn default() -> Self {
2923        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2924    }
2925}
2926
2927/// An iterator over `xkb::SALatchGroup` objects.
2928#[derive(Copy, Clone, Debug)]
2929#[repr(C)]
2930pub struct xcb_xkb_sa_latch_group_iterator_t {
2931    /// The value of the current iteration.
2932    pub data: *mut xcb_xkb_sa_latch_group_t,
2933    /// The number of elements remaining including this one.
2934    pub rem: c_int,
2935    /// The offset of `data`, in bytes, from the start of the containing object.
2936    pub index: c_int,
2937}
2938
2939impl Default for xcb_xkb_sa_latch_group_iterator_t {
2940    fn default() -> Self {
2941        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2942    }
2943}
2944
2945/// The `xkb::SALockGroup` struct.
2946#[derive(Copy, Clone, Debug)]
2947#[repr(C)]
2948pub struct xcb_xkb_sa_lock_group_t {
2949    pub type_: u8,
2950    pub flags: u8,
2951    pub group: i8,
2952    pub pad0: [u8; 5],
2953}
2954
2955impl Default for xcb_xkb_sa_lock_group_t {
2956    fn default() -> Self {
2957        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2958    }
2959}
2960
2961/// An iterator over `xkb::SALockGroup` objects.
2962#[derive(Copy, Clone, Debug)]
2963#[repr(C)]
2964pub struct xcb_xkb_sa_lock_group_iterator_t {
2965    /// The value of the current iteration.
2966    pub data: *mut xcb_xkb_sa_lock_group_t,
2967    /// The number of elements remaining including this one.
2968    pub rem: c_int,
2969    /// The offset of `data`, in bytes, from the start of the containing object.
2970    pub index: c_int,
2971}
2972
2973impl Default for xcb_xkb_sa_lock_group_iterator_t {
2974    fn default() -> Self {
2975        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
2976    }
2977}
2978
2979/// The `xkb::SAMovePtrFlag` enum.
2980///
2981/// This enum has the following variants:
2982///
2983/// - [`xkb::SAMovePtrFlag::NoAcceleration`](XCB_XKB_SA_MOVE_PTR_FLAG_NO_ACCELERATION)
2984/// - [`xkb::SAMovePtrFlag::MoveAbsoluteX`](XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_X)
2985/// - [`xkb::SAMovePtrFlag::MoveAbsoluteY`](XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_Y)
2986pub type xcb_xkb_sa_move_ptr_flag_t = u32;
2987/// The `xkb::SAMovePtrFlag::NoAcceleration` enum variant.
2988///
2989/// This is a variant of [`xcb_xkb_sa_move_ptr_flag_t`].
2990pub const XCB_XKB_SA_MOVE_PTR_FLAG_NO_ACCELERATION: xcb_xkb_sa_move_ptr_flag_t = 1;
2991/// The `xkb::SAMovePtrFlag::MoveAbsoluteX` enum variant.
2992///
2993/// This is a variant of [`xcb_xkb_sa_move_ptr_flag_t`].
2994pub const XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_X: xcb_xkb_sa_move_ptr_flag_t = 2;
2995/// The `xkb::SAMovePtrFlag::MoveAbsoluteY` enum variant.
2996///
2997/// This is a variant of [`xcb_xkb_sa_move_ptr_flag_t`].
2998pub const XCB_XKB_SA_MOVE_PTR_FLAG_MOVE_ABSOLUTE_Y: xcb_xkb_sa_move_ptr_flag_t = 4;
2999
3000/// The `xkb::SAMovePtr` struct.
3001#[derive(Copy, Clone, Debug)]
3002#[repr(C)]
3003pub struct xcb_xkb_sa_move_ptr_t {
3004    pub type_: u8,
3005    pub flags: u8,
3006    pub x_high: i8,
3007    pub x_low: u8,
3008    pub y_high: i8,
3009    pub y_low: u8,
3010    pub pad0: [u8; 2],
3011}
3012
3013impl Default for xcb_xkb_sa_move_ptr_t {
3014    fn default() -> Self {
3015        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3016    }
3017}
3018
3019/// An iterator over `xkb::SAMovePtr` objects.
3020#[derive(Copy, Clone, Debug)]
3021#[repr(C)]
3022pub struct xcb_xkb_sa_move_ptr_iterator_t {
3023    /// The value of the current iteration.
3024    pub data: *mut xcb_xkb_sa_move_ptr_t,
3025    /// The number of elements remaining including this one.
3026    pub rem: c_int,
3027    /// The offset of `data`, in bytes, from the start of the containing object.
3028    pub index: c_int,
3029}
3030
3031impl Default for xcb_xkb_sa_move_ptr_iterator_t {
3032    fn default() -> Self {
3033        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3034    }
3035}
3036
3037/// The `xkb::SAPtrBtn` struct.
3038#[derive(Copy, Clone, Debug)]
3039#[repr(C)]
3040pub struct xcb_xkb_sa_ptr_btn_t {
3041    pub type_: u8,
3042    pub flags: u8,
3043    pub count: u8,
3044    pub button: u8,
3045    pub pad0: [u8; 4],
3046}
3047
3048impl Default for xcb_xkb_sa_ptr_btn_t {
3049    fn default() -> Self {
3050        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3051    }
3052}
3053
3054/// An iterator over `xkb::SAPtrBtn` objects.
3055#[derive(Copy, Clone, Debug)]
3056#[repr(C)]
3057pub struct xcb_xkb_sa_ptr_btn_iterator_t {
3058    /// The value of the current iteration.
3059    pub data: *mut xcb_xkb_sa_ptr_btn_t,
3060    /// The number of elements remaining including this one.
3061    pub rem: c_int,
3062    /// The offset of `data`, in bytes, from the start of the containing object.
3063    pub index: c_int,
3064}
3065
3066impl Default for xcb_xkb_sa_ptr_btn_iterator_t {
3067    fn default() -> Self {
3068        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3069    }
3070}
3071
3072/// The `xkb::SALockPtrBtn` struct.
3073#[derive(Copy, Clone, Debug)]
3074#[repr(C)]
3075pub struct xcb_xkb_sa_lock_ptr_btn_t {
3076    pub type_: u8,
3077    pub flags: u8,
3078    pub pad0: u8,
3079    pub button: u8,
3080    pub pad1: [u8; 4],
3081}
3082
3083impl Default for xcb_xkb_sa_lock_ptr_btn_t {
3084    fn default() -> Self {
3085        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3086    }
3087}
3088
3089/// An iterator over `xkb::SALockPtrBtn` objects.
3090#[derive(Copy, Clone, Debug)]
3091#[repr(C)]
3092pub struct xcb_xkb_sa_lock_ptr_btn_iterator_t {
3093    /// The value of the current iteration.
3094    pub data: *mut xcb_xkb_sa_lock_ptr_btn_t,
3095    /// The number of elements remaining including this one.
3096    pub rem: c_int,
3097    /// The offset of `data`, in bytes, from the start of the containing object.
3098    pub index: c_int,
3099}
3100
3101impl Default for xcb_xkb_sa_lock_ptr_btn_iterator_t {
3102    fn default() -> Self {
3103        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3104    }
3105}
3106
3107/// The `xkb::SASetPtrDfltFlag` enum.
3108///
3109/// This enum has the following variants:
3110///
3111/// - [`xkb::SASetPtrDfltFlag::DfltBtnAbsolute`](XCB_XKB_SA_SET_PTR_DFLT_FLAG_DFLT_BTN_ABSOLUTE)
3112/// - [`xkb::SASetPtrDfltFlag::AffectDfltButton`](XCB_XKB_SA_SET_PTR_DFLT_FLAG_AFFECT_DFLT_BUTTON)
3113pub type xcb_xkb_sa_set_ptr_dflt_flag_t = u32;
3114/// The `xkb::SASetPtrDfltFlag::DfltBtnAbsolute` enum variant.
3115///
3116/// This is a variant of [`xcb_xkb_sa_set_ptr_dflt_flag_t`].
3117pub const XCB_XKB_SA_SET_PTR_DFLT_FLAG_DFLT_BTN_ABSOLUTE: xcb_xkb_sa_set_ptr_dflt_flag_t = 4;
3118/// The `xkb::SASetPtrDfltFlag::AffectDfltButton` enum variant.
3119///
3120/// This is a variant of [`xcb_xkb_sa_set_ptr_dflt_flag_t`].
3121pub const XCB_XKB_SA_SET_PTR_DFLT_FLAG_AFFECT_DFLT_BUTTON: xcb_xkb_sa_set_ptr_dflt_flag_t = 1;
3122
3123/// The `xkb::SASetPtrDflt` struct.
3124#[derive(Copy, Clone, Debug)]
3125#[repr(C)]
3126pub struct xcb_xkb_sa_set_ptr_dflt_t {
3127    pub type_: u8,
3128    pub flags: u8,
3129    pub affect: u8,
3130    pub value: i8,
3131    pub pad0: [u8; 4],
3132}
3133
3134impl Default for xcb_xkb_sa_set_ptr_dflt_t {
3135    fn default() -> Self {
3136        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3137    }
3138}
3139
3140/// An iterator over `xkb::SASetPtrDflt` objects.
3141#[derive(Copy, Clone, Debug)]
3142#[repr(C)]
3143pub struct xcb_xkb_sa_set_ptr_dflt_iterator_t {
3144    /// The value of the current iteration.
3145    pub data: *mut xcb_xkb_sa_set_ptr_dflt_t,
3146    /// The number of elements remaining including this one.
3147    pub rem: c_int,
3148    /// The offset of `data`, in bytes, from the start of the containing object.
3149    pub index: c_int,
3150}
3151
3152impl Default for xcb_xkb_sa_set_ptr_dflt_iterator_t {
3153    fn default() -> Self {
3154        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3155    }
3156}
3157
3158/// The `xkb::SAIsoLockFlag` enum.
3159///
3160/// This enum has the following variants:
3161///
3162/// - [`xkb::SAIsoLockFlag::NoLock`](XCB_XKB_SA_ISO_LOCK_FLAG_NO_LOCK)
3163/// - [`xkb::SAIsoLockFlag::NoUnlock`](XCB_XKB_SA_ISO_LOCK_FLAG_NO_UNLOCK)
3164/// - [`xkb::SAIsoLockFlag::UseModMapMods`](XCB_XKB_SA_ISO_LOCK_FLAG_USE_MOD_MAP_MODS)
3165/// - [`xkb::SAIsoLockFlag::GroupAbsolute`](XCB_XKB_SA_ISO_LOCK_FLAG_GROUP_ABSOLUTE)
3166/// - [`xkb::SAIsoLockFlag::ISODfltIsGroup`](XCB_XKB_SA_ISO_LOCK_FLAG_ISO_DFLT_IS_GROUP)
3167pub type xcb_xkb_sa_iso_lock_flag_t = u32;
3168/// The `xkb::SAIsoLockFlag::NoLock` enum variant.
3169///
3170/// This is a variant of [`xcb_xkb_sa_iso_lock_flag_t`].
3171pub const XCB_XKB_SA_ISO_LOCK_FLAG_NO_LOCK: xcb_xkb_sa_iso_lock_flag_t = 1;
3172/// The `xkb::SAIsoLockFlag::NoUnlock` enum variant.
3173///
3174/// This is a variant of [`xcb_xkb_sa_iso_lock_flag_t`].
3175pub const XCB_XKB_SA_ISO_LOCK_FLAG_NO_UNLOCK: xcb_xkb_sa_iso_lock_flag_t = 2;
3176/// The `xkb::SAIsoLockFlag::UseModMapMods` enum variant.
3177///
3178/// This is a variant of [`xcb_xkb_sa_iso_lock_flag_t`].
3179pub const XCB_XKB_SA_ISO_LOCK_FLAG_USE_MOD_MAP_MODS: xcb_xkb_sa_iso_lock_flag_t = 4;
3180/// The `xkb::SAIsoLockFlag::GroupAbsolute` enum variant.
3181///
3182/// This is a variant of [`xcb_xkb_sa_iso_lock_flag_t`].
3183pub const XCB_XKB_SA_ISO_LOCK_FLAG_GROUP_ABSOLUTE: xcb_xkb_sa_iso_lock_flag_t = 4;
3184/// The `xkb::SAIsoLockFlag::ISODfltIsGroup` enum variant.
3185///
3186/// This is a variant of [`xcb_xkb_sa_iso_lock_flag_t`].
3187pub const XCB_XKB_SA_ISO_LOCK_FLAG_ISO_DFLT_IS_GROUP: xcb_xkb_sa_iso_lock_flag_t = 8;
3188
3189/// The `xkb::SAIsoLockNoAffect` enum.
3190///
3191/// This enum has the following variants:
3192///
3193/// - [`xkb::SAIsoLockNoAffect::Ctrls`](XCB_XKB_SA_ISO_LOCK_NO_AFFECT_CTRLS)
3194/// - [`xkb::SAIsoLockNoAffect::Ptr`](XCB_XKB_SA_ISO_LOCK_NO_AFFECT_PTR)
3195/// - [`xkb::SAIsoLockNoAffect::Group`](XCB_XKB_SA_ISO_LOCK_NO_AFFECT_GROUP)
3196/// - [`xkb::SAIsoLockNoAffect::Mods`](XCB_XKB_SA_ISO_LOCK_NO_AFFECT_MODS)
3197pub type xcb_xkb_sa_iso_lock_no_affect_t = u32;
3198/// The `xkb::SAIsoLockNoAffect::Ctrls` enum variant.
3199///
3200/// This is a variant of [`xcb_xkb_sa_iso_lock_no_affect_t`].
3201pub const XCB_XKB_SA_ISO_LOCK_NO_AFFECT_CTRLS: xcb_xkb_sa_iso_lock_no_affect_t = 8;
3202/// The `xkb::SAIsoLockNoAffect::Ptr` enum variant.
3203///
3204/// This is a variant of [`xcb_xkb_sa_iso_lock_no_affect_t`].
3205pub const XCB_XKB_SA_ISO_LOCK_NO_AFFECT_PTR: xcb_xkb_sa_iso_lock_no_affect_t = 16;
3206/// The `xkb::SAIsoLockNoAffect::Group` enum variant.
3207///
3208/// This is a variant of [`xcb_xkb_sa_iso_lock_no_affect_t`].
3209pub const XCB_XKB_SA_ISO_LOCK_NO_AFFECT_GROUP: xcb_xkb_sa_iso_lock_no_affect_t = 32;
3210/// The `xkb::SAIsoLockNoAffect::Mods` enum variant.
3211///
3212/// This is a variant of [`xcb_xkb_sa_iso_lock_no_affect_t`].
3213pub const XCB_XKB_SA_ISO_LOCK_NO_AFFECT_MODS: xcb_xkb_sa_iso_lock_no_affect_t = 64;
3214
3215/// The `xkb::SAIsoLock` struct.
3216#[derive(Copy, Clone, Debug)]
3217#[repr(C)]
3218pub struct xcb_xkb_sa_iso_lock_t {
3219    pub type_: u8,
3220    pub flags: u8,
3221    pub mask: u8,
3222    pub real_mods: u8,
3223    pub group: i8,
3224    pub affect: u8,
3225    pub vmods_high: u8,
3226    pub vmods_low: u8,
3227}
3228
3229impl Default for xcb_xkb_sa_iso_lock_t {
3230    fn default() -> Self {
3231        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3232    }
3233}
3234
3235/// An iterator over `xkb::SAIsoLock` objects.
3236#[derive(Copy, Clone, Debug)]
3237#[repr(C)]
3238pub struct xcb_xkb_sa_iso_lock_iterator_t {
3239    /// The value of the current iteration.
3240    pub data: *mut xcb_xkb_sa_iso_lock_t,
3241    /// The number of elements remaining including this one.
3242    pub rem: c_int,
3243    /// The offset of `data`, in bytes, from the start of the containing object.
3244    pub index: c_int,
3245}
3246
3247impl Default for xcb_xkb_sa_iso_lock_iterator_t {
3248    fn default() -> Self {
3249        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3250    }
3251}
3252
3253/// The `xkb::SATerminate` struct.
3254#[derive(Copy, Clone, Debug)]
3255#[repr(C)]
3256pub struct xcb_xkb_sa_terminate_t {
3257    pub type_: u8,
3258    pub pad0: [u8; 7],
3259}
3260
3261impl Default for xcb_xkb_sa_terminate_t {
3262    fn default() -> Self {
3263        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3264    }
3265}
3266
3267/// An iterator over `xkb::SATerminate` objects.
3268#[derive(Copy, Clone, Debug)]
3269#[repr(C)]
3270pub struct xcb_xkb_sa_terminate_iterator_t {
3271    /// The value of the current iteration.
3272    pub data: *mut xcb_xkb_sa_terminate_t,
3273    /// The number of elements remaining including this one.
3274    pub rem: c_int,
3275    /// The offset of `data`, in bytes, from the start of the containing object.
3276    pub index: c_int,
3277}
3278
3279impl Default for xcb_xkb_sa_terminate_iterator_t {
3280    fn default() -> Self {
3281        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3282    }
3283}
3284
3285/// The `xkb::SwitchScreenFlag` enum.
3286///
3287/// This enum has the following variants:
3288///
3289/// - [`xkb::SwitchScreenFlag::Application`](XCB_XKB_SWITCH_SCREEN_FLAG_APPLICATION)
3290/// - [`xkb::SwitchScreenFlag::Absolute`](XCB_XKB_SWITCH_SCREEN_FLAG_ABSOLUTE)
3291pub type xcb_xkb_switch_screen_flag_t = u32;
3292/// The `xkb::SwitchScreenFlag::Application` enum variant.
3293///
3294/// This is a variant of [`xcb_xkb_switch_screen_flag_t`].
3295pub const XCB_XKB_SWITCH_SCREEN_FLAG_APPLICATION: xcb_xkb_switch_screen_flag_t = 1;
3296/// The `xkb::SwitchScreenFlag::Absolute` enum variant.
3297///
3298/// This is a variant of [`xcb_xkb_switch_screen_flag_t`].
3299pub const XCB_XKB_SWITCH_SCREEN_FLAG_ABSOLUTE: xcb_xkb_switch_screen_flag_t = 4;
3300
3301/// The `xkb::SASwitchScreen` struct.
3302#[derive(Copy, Clone, Debug)]
3303#[repr(C)]
3304pub struct xcb_xkb_sa_switch_screen_t {
3305    pub type_: u8,
3306    pub flags: u8,
3307    pub new_screen: i8,
3308    pub pad0: [u8; 5],
3309}
3310
3311impl Default for xcb_xkb_sa_switch_screen_t {
3312    fn default() -> Self {
3313        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3314    }
3315}
3316
3317/// An iterator over `xkb::SASwitchScreen` objects.
3318#[derive(Copy, Clone, Debug)]
3319#[repr(C)]
3320pub struct xcb_xkb_sa_switch_screen_iterator_t {
3321    /// The value of the current iteration.
3322    pub data: *mut xcb_xkb_sa_switch_screen_t,
3323    /// The number of elements remaining including this one.
3324    pub rem: c_int,
3325    /// The offset of `data`, in bytes, from the start of the containing object.
3326    pub index: c_int,
3327}
3328
3329impl Default for xcb_xkb_sa_switch_screen_iterator_t {
3330    fn default() -> Self {
3331        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3332    }
3333}
3334
3335/// The `xkb::BoolCtrlsHigh` enum.
3336///
3337/// This enum has the following variants:
3338///
3339/// - [`xkb::BoolCtrlsHigh::AccessXFeedback`](XCB_XKB_BOOL_CTRLS_HIGH_ACCESS_X_FEEDBACK)
3340/// - [`xkb::BoolCtrlsHigh::AudibleBell`](XCB_XKB_BOOL_CTRLS_HIGH_AUDIBLE_BELL)
3341/// - [`xkb::BoolCtrlsHigh::Overlay1`](XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_1)
3342/// - [`xkb::BoolCtrlsHigh::Overlay2`](XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_2)
3343/// - [`xkb::BoolCtrlsHigh::IgnoreGroupLock`](XCB_XKB_BOOL_CTRLS_HIGH_IGNORE_GROUP_LOCK)
3344pub type xcb_xkb_bool_ctrls_high_t = u32;
3345/// The `xkb::BoolCtrlsHigh::AccessXFeedback` enum variant.
3346///
3347/// This is a variant of [`xcb_xkb_bool_ctrls_high_t`].
3348pub const XCB_XKB_BOOL_CTRLS_HIGH_ACCESS_X_FEEDBACK: xcb_xkb_bool_ctrls_high_t = 1;
3349/// The `xkb::BoolCtrlsHigh::AudibleBell` enum variant.
3350///
3351/// This is a variant of [`xcb_xkb_bool_ctrls_high_t`].
3352pub const XCB_XKB_BOOL_CTRLS_HIGH_AUDIBLE_BELL: xcb_xkb_bool_ctrls_high_t = 2;
3353/// The `xkb::BoolCtrlsHigh::Overlay1` enum variant.
3354///
3355/// This is a variant of [`xcb_xkb_bool_ctrls_high_t`].
3356pub const XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_1: xcb_xkb_bool_ctrls_high_t = 4;
3357/// The `xkb::BoolCtrlsHigh::Overlay2` enum variant.
3358///
3359/// This is a variant of [`xcb_xkb_bool_ctrls_high_t`].
3360pub const XCB_XKB_BOOL_CTRLS_HIGH_OVERLAY_2: xcb_xkb_bool_ctrls_high_t = 8;
3361/// The `xkb::BoolCtrlsHigh::IgnoreGroupLock` enum variant.
3362///
3363/// This is a variant of [`xcb_xkb_bool_ctrls_high_t`].
3364pub const XCB_XKB_BOOL_CTRLS_HIGH_IGNORE_GROUP_LOCK: xcb_xkb_bool_ctrls_high_t = 16;
3365
3366/// The `xkb::BoolCtrlsLow` enum.
3367///
3368/// This enum has the following variants:
3369///
3370/// - [`xkb::BoolCtrlsLow::RepeatKeys`](XCB_XKB_BOOL_CTRLS_LOW_REPEAT_KEYS)
3371/// - [`xkb::BoolCtrlsLow::SlowKeys`](XCB_XKB_BOOL_CTRLS_LOW_SLOW_KEYS)
3372/// - [`xkb::BoolCtrlsLow::BounceKeys`](XCB_XKB_BOOL_CTRLS_LOW_BOUNCE_KEYS)
3373/// - [`xkb::BoolCtrlsLow::StickyKeys`](XCB_XKB_BOOL_CTRLS_LOW_STICKY_KEYS)
3374/// - [`xkb::BoolCtrlsLow::MouseKeys`](XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS)
3375/// - [`xkb::BoolCtrlsLow::MouseKeysAccel`](XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS_ACCEL)
3376/// - [`xkb::BoolCtrlsLow::AccessXKeys`](XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_KEYS)
3377/// - [`xkb::BoolCtrlsLow::AccessXTimeout`](XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_TIMEOUT)
3378pub type xcb_xkb_bool_ctrls_low_t = u32;
3379/// The `xkb::BoolCtrlsLow::RepeatKeys` enum variant.
3380///
3381/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3382pub const XCB_XKB_BOOL_CTRLS_LOW_REPEAT_KEYS: xcb_xkb_bool_ctrls_low_t = 1;
3383/// The `xkb::BoolCtrlsLow::SlowKeys` enum variant.
3384///
3385/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3386pub const XCB_XKB_BOOL_CTRLS_LOW_SLOW_KEYS: xcb_xkb_bool_ctrls_low_t = 2;
3387/// The `xkb::BoolCtrlsLow::BounceKeys` enum variant.
3388///
3389/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3390pub const XCB_XKB_BOOL_CTRLS_LOW_BOUNCE_KEYS: xcb_xkb_bool_ctrls_low_t = 4;
3391/// The `xkb::BoolCtrlsLow::StickyKeys` enum variant.
3392///
3393/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3394pub const XCB_XKB_BOOL_CTRLS_LOW_STICKY_KEYS: xcb_xkb_bool_ctrls_low_t = 8;
3395/// The `xkb::BoolCtrlsLow::MouseKeys` enum variant.
3396///
3397/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3398pub const XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS: xcb_xkb_bool_ctrls_low_t = 16;
3399/// The `xkb::BoolCtrlsLow::MouseKeysAccel` enum variant.
3400///
3401/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3402pub const XCB_XKB_BOOL_CTRLS_LOW_MOUSE_KEYS_ACCEL: xcb_xkb_bool_ctrls_low_t = 32;
3403/// The `xkb::BoolCtrlsLow::AccessXKeys` enum variant.
3404///
3405/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3406pub const XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_KEYS: xcb_xkb_bool_ctrls_low_t = 64;
3407/// The `xkb::BoolCtrlsLow::AccessXTimeout` enum variant.
3408///
3409/// This is a variant of [`xcb_xkb_bool_ctrls_low_t`].
3410pub const XCB_XKB_BOOL_CTRLS_LOW_ACCESS_X_TIMEOUT: xcb_xkb_bool_ctrls_low_t = 128;
3411
3412/// The `xkb::SASetControls` struct.
3413#[derive(Copy, Clone, Debug)]
3414#[repr(C)]
3415pub struct xcb_xkb_sa_set_controls_t {
3416    pub type_: u8,
3417    pub pad0: [u8; 3],
3418    pub bool_ctrls_high: u8,
3419    pub bool_ctrls_low: u8,
3420    pub pad1: [u8; 2],
3421}
3422
3423impl Default for xcb_xkb_sa_set_controls_t {
3424    fn default() -> Self {
3425        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3426    }
3427}
3428
3429/// An iterator over `xkb::SASetControls` objects.
3430#[derive(Copy, Clone, Debug)]
3431#[repr(C)]
3432pub struct xcb_xkb_sa_set_controls_iterator_t {
3433    /// The value of the current iteration.
3434    pub data: *mut xcb_xkb_sa_set_controls_t,
3435    /// The number of elements remaining including this one.
3436    pub rem: c_int,
3437    /// The offset of `data`, in bytes, from the start of the containing object.
3438    pub index: c_int,
3439}
3440
3441impl Default for xcb_xkb_sa_set_controls_iterator_t {
3442    fn default() -> Self {
3443        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3444    }
3445}
3446
3447/// The `xkb::SALockControls` struct.
3448#[derive(Copy, Clone, Debug)]
3449#[repr(C)]
3450pub struct xcb_xkb_sa_lock_controls_t {
3451    pub type_: u8,
3452    pub pad0: [u8; 3],
3453    pub bool_ctrls_high: u8,
3454    pub bool_ctrls_low: u8,
3455    pub pad1: [u8; 2],
3456}
3457
3458impl Default for xcb_xkb_sa_lock_controls_t {
3459    fn default() -> Self {
3460        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3461    }
3462}
3463
3464/// An iterator over `xkb::SALockControls` objects.
3465#[derive(Copy, Clone, Debug)]
3466#[repr(C)]
3467pub struct xcb_xkb_sa_lock_controls_iterator_t {
3468    /// The value of the current iteration.
3469    pub data: *mut xcb_xkb_sa_lock_controls_t,
3470    /// The number of elements remaining including this one.
3471    pub rem: c_int,
3472    /// The offset of `data`, in bytes, from the start of the containing object.
3473    pub index: c_int,
3474}
3475
3476impl Default for xcb_xkb_sa_lock_controls_iterator_t {
3477    fn default() -> Self {
3478        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3479    }
3480}
3481
3482/// The `xkb::ActionMessageFlag` enum.
3483///
3484/// This enum has the following variants:
3485///
3486/// - [`xkb::ActionMessageFlag::OnPress`](XCB_XKB_ACTION_MESSAGE_FLAG_ON_PRESS)
3487/// - [`xkb::ActionMessageFlag::OnRelease`](XCB_XKB_ACTION_MESSAGE_FLAG_ON_RELEASE)
3488/// - [`xkb::ActionMessageFlag::GenKeyEvent`](XCB_XKB_ACTION_MESSAGE_FLAG_GEN_KEY_EVENT)
3489pub type xcb_xkb_action_message_flag_t = u32;
3490/// The `xkb::ActionMessageFlag::OnPress` enum variant.
3491///
3492/// This is a variant of [`xcb_xkb_action_message_flag_t`].
3493pub const XCB_XKB_ACTION_MESSAGE_FLAG_ON_PRESS: xcb_xkb_action_message_flag_t = 1;
3494/// The `xkb::ActionMessageFlag::OnRelease` enum variant.
3495///
3496/// This is a variant of [`xcb_xkb_action_message_flag_t`].
3497pub const XCB_XKB_ACTION_MESSAGE_FLAG_ON_RELEASE: xcb_xkb_action_message_flag_t = 2;
3498/// The `xkb::ActionMessageFlag::GenKeyEvent` enum variant.
3499///
3500/// This is a variant of [`xcb_xkb_action_message_flag_t`].
3501pub const XCB_XKB_ACTION_MESSAGE_FLAG_GEN_KEY_EVENT: xcb_xkb_action_message_flag_t = 4;
3502
3503/// The `xkb::SAActionMessage` struct.
3504#[derive(Copy, Clone, Debug)]
3505#[repr(C)]
3506pub struct xcb_xkb_sa_action_message_t {
3507    pub type_: u8,
3508    pub flags: u8,
3509    pub message: [u8; 6],
3510}
3511
3512impl Default for xcb_xkb_sa_action_message_t {
3513    fn default() -> Self {
3514        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3515    }
3516}
3517
3518/// An iterator over `xkb::SAActionMessage` objects.
3519#[derive(Copy, Clone, Debug)]
3520#[repr(C)]
3521pub struct xcb_xkb_sa_action_message_iterator_t {
3522    /// The value of the current iteration.
3523    pub data: *mut xcb_xkb_sa_action_message_t,
3524    /// The number of elements remaining including this one.
3525    pub rem: c_int,
3526    /// The offset of `data`, in bytes, from the start of the containing object.
3527    pub index: c_int,
3528}
3529
3530impl Default for xcb_xkb_sa_action_message_iterator_t {
3531    fn default() -> Self {
3532        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3533    }
3534}
3535
3536/// The `xkb::SARedirectKey` struct.
3537#[derive(Copy, Clone, Debug)]
3538#[repr(C)]
3539pub struct xcb_xkb_sa_redirect_key_t {
3540    pub type_: u8,
3541    pub newkey: xcb_keycode_t,
3542    pub mask: u8,
3543    pub real_modifiers: u8,
3544    pub vmods_mask_high: u8,
3545    pub vmods_mask_low: u8,
3546    pub vmods_high: u8,
3547    pub vmods_low: u8,
3548}
3549
3550impl Default for xcb_xkb_sa_redirect_key_t {
3551    fn default() -> Self {
3552        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3553    }
3554}
3555
3556/// An iterator over `xkb::SARedirectKey` objects.
3557#[derive(Copy, Clone, Debug)]
3558#[repr(C)]
3559pub struct xcb_xkb_sa_redirect_key_iterator_t {
3560    /// The value of the current iteration.
3561    pub data: *mut xcb_xkb_sa_redirect_key_t,
3562    /// The number of elements remaining including this one.
3563    pub rem: c_int,
3564    /// The offset of `data`, in bytes, from the start of the containing object.
3565    pub index: c_int,
3566}
3567
3568impl Default for xcb_xkb_sa_redirect_key_iterator_t {
3569    fn default() -> Self {
3570        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3571    }
3572}
3573
3574/// The `xkb::SADeviceBtn` struct.
3575#[derive(Copy, Clone, Debug)]
3576#[repr(C)]
3577pub struct xcb_xkb_sa_device_btn_t {
3578    pub type_: u8,
3579    pub flags: u8,
3580    pub count: u8,
3581    pub button: u8,
3582    pub device: u8,
3583    pub pad0: [u8; 3],
3584}
3585
3586impl Default for xcb_xkb_sa_device_btn_t {
3587    fn default() -> Self {
3588        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3589    }
3590}
3591
3592/// An iterator over `xkb::SADeviceBtn` objects.
3593#[derive(Copy, Clone, Debug)]
3594#[repr(C)]
3595pub struct xcb_xkb_sa_device_btn_iterator_t {
3596    /// The value of the current iteration.
3597    pub data: *mut xcb_xkb_sa_device_btn_t,
3598    /// The number of elements remaining including this one.
3599    pub rem: c_int,
3600    /// The offset of `data`, in bytes, from the start of the containing object.
3601    pub index: c_int,
3602}
3603
3604impl Default for xcb_xkb_sa_device_btn_iterator_t {
3605    fn default() -> Self {
3606        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3607    }
3608}
3609
3610/// The `xkb::LockDeviceFlags` enum.
3611///
3612/// This enum has the following variants:
3613///
3614/// - [`xkb::LockDeviceFlags::NoLock`](XCB_XKB_LOCK_DEVICE_FLAGS_NO_LOCK)
3615/// - [`xkb::LockDeviceFlags::NoUnlock`](XCB_XKB_LOCK_DEVICE_FLAGS_NO_UNLOCK)
3616pub type xcb_xkb_lock_device_flags_t = u32;
3617/// The `xkb::LockDeviceFlags::NoLock` enum variant.
3618///
3619/// This is a variant of [`xcb_xkb_lock_device_flags_t`].
3620pub const XCB_XKB_LOCK_DEVICE_FLAGS_NO_LOCK: xcb_xkb_lock_device_flags_t = 1;
3621/// The `xkb::LockDeviceFlags::NoUnlock` enum variant.
3622///
3623/// This is a variant of [`xcb_xkb_lock_device_flags_t`].
3624pub const XCB_XKB_LOCK_DEVICE_FLAGS_NO_UNLOCK: xcb_xkb_lock_device_flags_t = 2;
3625
3626/// The `xkb::SALockDeviceBtn` struct.
3627#[derive(Copy, Clone, Debug)]
3628#[repr(C)]
3629pub struct xcb_xkb_sa_lock_device_btn_t {
3630    pub type_: u8,
3631    pub flags: u8,
3632    pub pad0: u8,
3633    pub button: u8,
3634    pub device: u8,
3635    pub pad1: [u8; 3],
3636}
3637
3638impl Default for xcb_xkb_sa_lock_device_btn_t {
3639    fn default() -> Self {
3640        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3641    }
3642}
3643
3644/// An iterator over `xkb::SALockDeviceBtn` objects.
3645#[derive(Copy, Clone, Debug)]
3646#[repr(C)]
3647pub struct xcb_xkb_sa_lock_device_btn_iterator_t {
3648    /// The value of the current iteration.
3649    pub data: *mut xcb_xkb_sa_lock_device_btn_t,
3650    /// The number of elements remaining including this one.
3651    pub rem: c_int,
3652    /// The offset of `data`, in bytes, from the start of the containing object.
3653    pub index: c_int,
3654}
3655
3656impl Default for xcb_xkb_sa_lock_device_btn_iterator_t {
3657    fn default() -> Self {
3658        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3659    }
3660}
3661
3662/// The `xkb::SAValWhat` enum.
3663///
3664/// This enum has the following variants:
3665///
3666/// - [`xkb::SAValWhat::IgnoreVal`](XCB_XKB_SA_VAL_WHAT_IGNORE_VAL)
3667/// - [`xkb::SAValWhat::SetValMin`](XCB_XKB_SA_VAL_WHAT_SET_VAL_MIN)
3668/// - [`xkb::SAValWhat::SetValCenter`](XCB_XKB_SA_VAL_WHAT_SET_VAL_CENTER)
3669/// - [`xkb::SAValWhat::SetValMax`](XCB_XKB_SA_VAL_WHAT_SET_VAL_MAX)
3670/// - [`xkb::SAValWhat::SetValRelative`](XCB_XKB_SA_VAL_WHAT_SET_VAL_RELATIVE)
3671/// - [`xkb::SAValWhat::SetValAbsolute`](XCB_XKB_SA_VAL_WHAT_SET_VAL_ABSOLUTE)
3672pub type xcb_xkb_sa_val_what_t = u32;
3673/// The `xkb::SAValWhat::IgnoreVal` enum variant.
3674///
3675/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3676pub const XCB_XKB_SA_VAL_WHAT_IGNORE_VAL: xcb_xkb_sa_val_what_t = 0;
3677/// The `xkb::SAValWhat::SetValMin` enum variant.
3678///
3679/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3680pub const XCB_XKB_SA_VAL_WHAT_SET_VAL_MIN: xcb_xkb_sa_val_what_t = 1;
3681/// The `xkb::SAValWhat::SetValCenter` enum variant.
3682///
3683/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3684pub const XCB_XKB_SA_VAL_WHAT_SET_VAL_CENTER: xcb_xkb_sa_val_what_t = 2;
3685/// The `xkb::SAValWhat::SetValMax` enum variant.
3686///
3687/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3688pub const XCB_XKB_SA_VAL_WHAT_SET_VAL_MAX: xcb_xkb_sa_val_what_t = 3;
3689/// The `xkb::SAValWhat::SetValRelative` enum variant.
3690///
3691/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3692pub const XCB_XKB_SA_VAL_WHAT_SET_VAL_RELATIVE: xcb_xkb_sa_val_what_t = 4;
3693/// The `xkb::SAValWhat::SetValAbsolute` enum variant.
3694///
3695/// This is a variant of [`xcb_xkb_sa_val_what_t`].
3696pub const XCB_XKB_SA_VAL_WHAT_SET_VAL_ABSOLUTE: xcb_xkb_sa_val_what_t = 5;
3697
3698/// The `xkb::SADeviceValuator` struct.
3699#[derive(Copy, Clone, Debug)]
3700#[repr(C)]
3701pub struct xcb_xkb_sa_device_valuator_t {
3702    pub type_: u8,
3703    pub device: u8,
3704    pub val1what: u8,
3705    pub val1index: u8,
3706    pub val1value: u8,
3707    pub val2what: u8,
3708    pub val2index: u8,
3709    pub val2value: u8,
3710}
3711
3712impl Default for xcb_xkb_sa_device_valuator_t {
3713    fn default() -> Self {
3714        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3715    }
3716}
3717
3718/// An iterator over `xkb::SADeviceValuator` objects.
3719#[derive(Copy, Clone, Debug)]
3720#[repr(C)]
3721pub struct xcb_xkb_sa_device_valuator_iterator_t {
3722    /// The value of the current iteration.
3723    pub data: *mut xcb_xkb_sa_device_valuator_t,
3724    /// The number of elements remaining including this one.
3725    pub rem: c_int,
3726    /// The offset of `data`, in bytes, from the start of the containing object.
3727    pub index: c_int,
3728}
3729
3730impl Default for xcb_xkb_sa_device_valuator_iterator_t {
3731    fn default() -> Self {
3732        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3733    }
3734}
3735
3736/// The `xkb::SIAction` struct.
3737#[derive(Copy, Clone, Debug)]
3738#[repr(C)]
3739pub struct xcb_xkb_si_action_t {
3740    pub type_: u8,
3741    pub data: [u8; 7],
3742}
3743
3744impl Default for xcb_xkb_si_action_t {
3745    fn default() -> Self {
3746        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3747    }
3748}
3749
3750/// An iterator over `xkb::SIAction` objects.
3751#[derive(Copy, Clone, Debug)]
3752#[repr(C)]
3753pub struct xcb_xkb_si_action_iterator_t {
3754    /// The value of the current iteration.
3755    pub data: *mut xcb_xkb_si_action_t,
3756    /// The number of elements remaining including this one.
3757    pub rem: c_int,
3758    /// The offset of `data`, in bytes, from the start of the containing object.
3759    pub index: c_int,
3760}
3761
3762impl Default for xcb_xkb_si_action_iterator_t {
3763    fn default() -> Self {
3764        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3765    }
3766}
3767
3768/// The `xkb::SymInterpret` struct.
3769#[derive(Copy, Clone, Debug)]
3770#[repr(C)]
3771pub struct xcb_xkb_sym_interpret_t {
3772    pub sym: xcb_keysym_t,
3773    pub mods: u8,
3774    pub match_: u8,
3775    pub virtual_mod: u8,
3776    pub flags: u8,
3777    pub action: xcb_xkb_si_action_t,
3778}
3779
3780impl Default for xcb_xkb_sym_interpret_t {
3781    fn default() -> Self {
3782        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3783    }
3784}
3785
3786/// An iterator over `xkb::SymInterpret` objects.
3787#[derive(Copy, Clone, Debug)]
3788#[repr(C)]
3789pub struct xcb_xkb_sym_interpret_iterator_t {
3790    /// The value of the current iteration.
3791    pub data: *mut xcb_xkb_sym_interpret_t,
3792    /// The number of elements remaining including this one.
3793    pub rem: c_int,
3794    /// The offset of `data`, in bytes, from the start of the containing object.
3795    pub index: c_int,
3796}
3797
3798impl Default for xcb_xkb_sym_interpret_iterator_t {
3799    fn default() -> Self {
3800        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3801    }
3802}
3803
3804/// The `xkb::Action` union.
3805#[derive(Copy, Clone)]
3806#[repr(C)]
3807pub union xcb_xkb_action_t {
3808    pub noaction: xcb_xkb_sa_no_action_t,
3809    pub setmods: xcb_xkb_sa_set_mods_t,
3810    pub latchmods: xcb_xkb_sa_latch_mods_t,
3811    pub lockmods: xcb_xkb_sa_lock_mods_t,
3812    pub setgroup: xcb_xkb_sa_set_group_t,
3813    pub latchgroup: xcb_xkb_sa_latch_group_t,
3814    pub lockgroup: xcb_xkb_sa_lock_group_t,
3815    pub moveptr: xcb_xkb_sa_move_ptr_t,
3816    pub ptrbtn: xcb_xkb_sa_ptr_btn_t,
3817    pub lockptrbtn: xcb_xkb_sa_lock_ptr_btn_t,
3818    pub setptrdflt: xcb_xkb_sa_set_ptr_dflt_t,
3819    pub isolock: xcb_xkb_sa_iso_lock_t,
3820    pub terminate: xcb_xkb_sa_terminate_t,
3821    pub switchscreen: xcb_xkb_sa_switch_screen_t,
3822    pub setcontrols: xcb_xkb_sa_set_controls_t,
3823    pub lockcontrols: xcb_xkb_sa_lock_controls_t,
3824    pub message: xcb_xkb_sa_action_message_t,
3825    pub redirect: xcb_xkb_sa_redirect_key_t,
3826    pub devbtn: xcb_xkb_sa_device_btn_t,
3827    pub lockdevbtn: xcb_xkb_sa_lock_device_btn_t,
3828    pub devval: xcb_xkb_sa_device_valuator_t,
3829    pub type_: u8,
3830}
3831
3832impl Default for xcb_xkb_action_t {
3833    fn default() -> Self {
3834        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3835    }
3836}
3837
3838/// An iterator over `xkb::Action` objects.
3839#[derive(Copy, Clone, Debug)]
3840#[repr(C)]
3841pub struct xcb_xkb_action_iterator_t {
3842    /// The value of the current iteration.
3843    pub data: *mut xcb_xkb_action_t,
3844    /// The number of elements remaining including this one.
3845    pub rem: c_int,
3846    /// The offset of `data`, in bytes, from the start of the containing object.
3847    pub index: c_int,
3848}
3849
3850impl Default for xcb_xkb_action_iterator_t {
3851    fn default() -> Self {
3852        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3853    }
3854}
3855
3856/// The cookie for the reply to a `xkb::UseExtension` request.
3857///
3858/// Pass this cookie to [`xcb_xkb_use_extension_reply`] to retrieve the reply.
3859///
3860/// [`xcb_xkb_use_extension_reply`]: XcbXkb::xcb_xkb_use_extension_reply
3861#[derive(Copy, Clone, Debug)]
3862#[repr(C)]
3863pub struct xcb_xkb_use_extension_cookie_t {
3864    /// The sequence number of the request.
3865    pub sequence: c_uint,
3866}
3867
3868impl Default for xcb_xkb_use_extension_cookie_t {
3869    fn default() -> Self {
3870        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3871    }
3872}
3873
3874/// The opcode for `xkb::UseExtension` requests.
3875///
3876/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3877/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
3878/// [`xcb_xkb_use_extension_request_t`].
3879pub const XCB_XKB_USE_EXTENSION: u8 = 0i32 as u8;
3880
3881/// The `xkb::UseExtension` request.
3882#[derive(Copy, Clone, Debug)]
3883#[repr(C)]
3884pub struct xcb_xkb_use_extension_request_t {
3885    pub major_opcode: u8,
3886    pub minor_opcode: u8,
3887    pub length: u16,
3888    pub wanted_major: u16,
3889    pub wanted_minor: u16,
3890}
3891
3892impl Default for xcb_xkb_use_extension_request_t {
3893    fn default() -> Self {
3894        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3895    }
3896}
3897
3898/// The `xkb::UseExtension` reply.
3899#[derive(Copy, Clone, Debug)]
3900#[repr(C)]
3901pub struct xcb_xkb_use_extension_reply_t {
3902    pub response_type: u8,
3903    pub supported: u8,
3904    pub sequence: u16,
3905    pub length: u32,
3906    pub server_major: u16,
3907    pub server_minor: u16,
3908    pub pad0: [u8; 20],
3909}
3910
3911impl Default for xcb_xkb_use_extension_reply_t {
3912    fn default() -> Self {
3913        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3914    }
3915}
3916
3917/// The `xkb::details` switch.
3918#[derive(Copy, Clone, Debug)]
3919#[repr(C)]
3920pub struct xcb_xkb_select_events_details_t {
3921    pub affect_new_keyboard: u16,
3922    pub new_keyboard_details: u16,
3923    pub affect_state: u16,
3924    pub state_details: u16,
3925    pub affect_ctrls: u32,
3926    pub ctrl_details: u32,
3927    pub affect_indicator_state: u32,
3928    pub indicator_state_details: u32,
3929    pub affect_indicator_map: u32,
3930    pub indicator_map_details: u32,
3931    pub affect_names: u16,
3932    pub names_details: u16,
3933    pub affect_compat: u8,
3934    pub compat_details: u8,
3935    pub affect_bell: u8,
3936    pub bell_details: u8,
3937    pub affect_msg_details: u8,
3938    pub msg_details: u8,
3939    pub affect_access_x: u16,
3940    pub access_xdetails: u16,
3941    pub affect_ext_dev: u16,
3942    pub extdev_details: u16,
3943}
3944
3945impl Default for xcb_xkb_select_events_details_t {
3946    fn default() -> Self {
3947        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3948    }
3949}
3950
3951/// The opcode for `xkb::SelectEvents` requests.
3952///
3953/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3954/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
3955/// [`xcb_xkb_select_events_request_t`].
3956pub const XCB_XKB_SELECT_EVENTS: u8 = 1i32 as u8;
3957
3958/// The `xkb::SelectEvents` request.
3959///
3960/// The following fields can be accessed via accessor functions:
3961///
3962/// - `details`
3963#[derive(Copy, Clone, Debug)]
3964#[repr(C)]
3965pub struct xcb_xkb_select_events_request_t {
3966    pub major_opcode: u8,
3967    pub minor_opcode: u8,
3968    pub length: u16,
3969    pub device_spec: xcb_xkb_device_spec_t,
3970    pub affect_which: u16,
3971    pub clear: u16,
3972    pub select_all: u16,
3973    pub affect_map: u16,
3974    pub map: u16,
3975}
3976
3977impl Default for xcb_xkb_select_events_request_t {
3978    fn default() -> Self {
3979        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
3980    }
3981}
3982
3983/// The opcode for `xkb::Bell` requests.
3984///
3985/// If this value appears in [`xcb_protocol_request_t::opcode`], and
3986/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
3987/// [`xcb_xkb_bell_request_t`].
3988pub const XCB_XKB_BELL: u8 = 3i32 as u8;
3989
3990/// The `xkb::Bell` request.
3991#[derive(Copy, Clone, Debug)]
3992#[repr(C)]
3993pub struct xcb_xkb_bell_request_t {
3994    pub major_opcode: u8,
3995    pub minor_opcode: u8,
3996    pub length: u16,
3997    pub device_spec: xcb_xkb_device_spec_t,
3998    pub bell_class: xcb_xkb_bell_class_spec_t,
3999    pub bell_id: xcb_xkb_id_spec_t,
4000    pub percent: i8,
4001    pub force_sound: u8,
4002    pub event_only: u8,
4003    pub pad0: u8,
4004    pub pitch: i16,
4005    pub duration: i16,
4006    pub pad1: [u8; 2],
4007    pub name: xcb_atom_t,
4008    pub window: xcb_window_t,
4009}
4010
4011impl Default for xcb_xkb_bell_request_t {
4012    fn default() -> Self {
4013        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4014    }
4015}
4016
4017/// The cookie for the reply to a `xkb::GetState` request.
4018///
4019/// Pass this cookie to [`xcb_xkb_get_state_reply`] to retrieve the reply.
4020///
4021/// [`xcb_xkb_get_state_reply`]: XcbXkb::xcb_xkb_get_state_reply
4022#[derive(Copy, Clone, Debug)]
4023#[repr(C)]
4024pub struct xcb_xkb_get_state_cookie_t {
4025    /// The sequence number of the request.
4026    pub sequence: c_uint,
4027}
4028
4029impl Default for xcb_xkb_get_state_cookie_t {
4030    fn default() -> Self {
4031        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4032    }
4033}
4034
4035/// The opcode for `xkb::GetState` requests.
4036///
4037/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4038/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4039/// [`xcb_xkb_get_state_request_t`].
4040pub const XCB_XKB_GET_STATE: u8 = 4i32 as u8;
4041
4042/// The `xkb::GetState` request.
4043#[derive(Copy, Clone, Debug)]
4044#[repr(C)]
4045pub struct xcb_xkb_get_state_request_t {
4046    pub major_opcode: u8,
4047    pub minor_opcode: u8,
4048    pub length: u16,
4049    pub device_spec: xcb_xkb_device_spec_t,
4050    pub pad0: [u8; 2],
4051}
4052
4053impl Default for xcb_xkb_get_state_request_t {
4054    fn default() -> Self {
4055        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4056    }
4057}
4058
4059/// The `xkb::GetState` reply.
4060#[derive(Copy, Clone, Debug)]
4061#[repr(C)]
4062pub struct xcb_xkb_get_state_reply_t {
4063    pub response_type: u8,
4064    pub device_id: u8,
4065    pub sequence: u16,
4066    pub length: u32,
4067    pub mods: u8,
4068    pub base_mods: u8,
4069    pub latched_mods: u8,
4070    pub locked_mods: u8,
4071    pub group: u8,
4072    pub locked_group: u8,
4073    pub base_group: i16,
4074    pub latched_group: i16,
4075    pub compat_state: u8,
4076    pub grab_mods: u8,
4077    pub compat_grab_mods: u8,
4078    pub lookup_mods: u8,
4079    pub compat_lookup_mods: u8,
4080    pub pad0: u8,
4081    pub ptr_btn_state: u16,
4082    pub pad1: [u8; 6],
4083}
4084
4085impl Default for xcb_xkb_get_state_reply_t {
4086    fn default() -> Self {
4087        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4088    }
4089}
4090
4091/// The opcode for `xkb::LatchLockState` requests.
4092///
4093/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4094/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4095/// [`xcb_xkb_latch_lock_state_request_t`].
4096pub const XCB_XKB_LATCH_LOCK_STATE: u8 = 5i32 as u8;
4097
4098/// The `xkb::LatchLockState` request.
4099#[derive(Copy, Clone, Debug)]
4100#[repr(C)]
4101pub struct xcb_xkb_latch_lock_state_request_t {
4102    pub major_opcode: u8,
4103    pub minor_opcode: u8,
4104    pub length: u16,
4105    pub device_spec: xcb_xkb_device_spec_t,
4106    pub affect_mod_locks: u8,
4107    pub mod_locks: u8,
4108    pub lock_group: u8,
4109    pub group_lock: u8,
4110    pub affect_mod_latches: u8,
4111    pub pad0: u8,
4112    pub pad1: u8,
4113    pub latch_group: u8,
4114    pub group_latch: u16,
4115}
4116
4117impl Default for xcb_xkb_latch_lock_state_request_t {
4118    fn default() -> Self {
4119        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4120    }
4121}
4122
4123/// The cookie for the reply to a `xkb::GetControls` request.
4124///
4125/// Pass this cookie to [`xcb_xkb_get_controls_reply`] to retrieve the reply.
4126///
4127/// [`xcb_xkb_get_controls_reply`]: XcbXkb::xcb_xkb_get_controls_reply
4128#[derive(Copy, Clone, Debug)]
4129#[repr(C)]
4130pub struct xcb_xkb_get_controls_cookie_t {
4131    /// The sequence number of the request.
4132    pub sequence: c_uint,
4133}
4134
4135impl Default for xcb_xkb_get_controls_cookie_t {
4136    fn default() -> Self {
4137        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4138    }
4139}
4140
4141/// The opcode for `xkb::GetControls` requests.
4142///
4143/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4144/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4145/// [`xcb_xkb_get_controls_request_t`].
4146pub const XCB_XKB_GET_CONTROLS: u8 = 6i32 as u8;
4147
4148/// The `xkb::GetControls` request.
4149#[derive(Copy, Clone, Debug)]
4150#[repr(C)]
4151pub struct xcb_xkb_get_controls_request_t {
4152    pub major_opcode: u8,
4153    pub minor_opcode: u8,
4154    pub length: u16,
4155    pub device_spec: xcb_xkb_device_spec_t,
4156    pub pad0: [u8; 2],
4157}
4158
4159impl Default for xcb_xkb_get_controls_request_t {
4160    fn default() -> Self {
4161        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4162    }
4163}
4164
4165/// The `xkb::GetControls` reply.
4166#[derive(Copy, Clone, Debug)]
4167#[repr(C)]
4168pub struct xcb_xkb_get_controls_reply_t {
4169    pub response_type: u8,
4170    pub device_id: u8,
4171    pub sequence: u16,
4172    pub length: u32,
4173    pub mouse_keys_dflt_btn: u8,
4174    pub num_groups: u8,
4175    pub groups_wrap: u8,
4176    pub internal_mods_mask: u8,
4177    pub ignore_lock_mods_mask: u8,
4178    pub internal_mods_real_mods: u8,
4179    pub ignore_lock_mods_real_mods: u8,
4180    pub pad0: u8,
4181    pub internal_mods_vmods: u16,
4182    pub ignore_lock_mods_vmods: u16,
4183    pub repeat_delay: u16,
4184    pub repeat_interval: u16,
4185    pub slow_keys_delay: u16,
4186    pub debounce_delay: u16,
4187    pub mouse_keys_delay: u16,
4188    pub mouse_keys_interval: u16,
4189    pub mouse_keys_time_to_max: u16,
4190    pub mouse_keys_max_speed: u16,
4191    pub mouse_keys_curve: i16,
4192    pub access_xoption: u16,
4193    pub access_xtimeout: u16,
4194    pub access_xtimeout_options_mask: u16,
4195    pub access_xtimeout_options_values: u16,
4196    pub pad1: [u8; 2],
4197    pub access_xtimeout_mask: u32,
4198    pub access_xtimeout_values: u32,
4199    pub enabled_controls: u32,
4200    pub per_key_repeat: [u8; 32],
4201}
4202
4203impl Default for xcb_xkb_get_controls_reply_t {
4204    fn default() -> Self {
4205        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4206    }
4207}
4208
4209/// The opcode for `xkb::SetControls` requests.
4210///
4211/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4212/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4213/// [`xcb_xkb_set_controls_request_t`].
4214pub const XCB_XKB_SET_CONTROLS: u8 = 7i32 as u8;
4215
4216/// The `xkb::SetControls` request.
4217#[derive(Copy, Clone, Debug)]
4218#[repr(C)]
4219pub struct xcb_xkb_set_controls_request_t {
4220    pub major_opcode: u8,
4221    pub minor_opcode: u8,
4222    pub length: u16,
4223    pub device_spec: xcb_xkb_device_spec_t,
4224    pub affect_internal_real_mods: u8,
4225    pub internal_real_mods: u8,
4226    pub affect_ignore_lock_real_mods: u8,
4227    pub ignore_lock_real_mods: u8,
4228    pub affect_internal_virtual_mods: u16,
4229    pub internal_virtual_mods: u16,
4230    pub affect_ignore_lock_virtual_mods: u16,
4231    pub ignore_lock_virtual_mods: u16,
4232    pub mouse_keys_dflt_btn: u8,
4233    pub groups_wrap: u8,
4234    pub access_xoptions: u16,
4235    pub pad0: [u8; 2],
4236    pub affect_enabled_controls: u32,
4237    pub enabled_controls: u32,
4238    pub change_controls: u32,
4239    pub repeat_delay: u16,
4240    pub repeat_interval: u16,
4241    pub slow_keys_delay: u16,
4242    pub debounce_delay: u16,
4243    pub mouse_keys_delay: u16,
4244    pub mouse_keys_interval: u16,
4245    pub mouse_keys_time_to_max: u16,
4246    pub mouse_keys_max_speed: u16,
4247    pub mouse_keys_curve: i16,
4248    pub access_xtimeout: u16,
4249    pub access_xtimeout_mask: u32,
4250    pub access_xtimeout_values: u32,
4251    pub access_xtimeout_options_mask: u16,
4252    pub access_xtimeout_options_values: u16,
4253    pub per_key_repeat: [u8; 32],
4254}
4255
4256impl Default for xcb_xkb_set_controls_request_t {
4257    fn default() -> Self {
4258        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4259    }
4260}
4261
4262/// The cookie for the reply to a `xkb::GetMap` request.
4263///
4264/// Pass this cookie to [`xcb_xkb_get_map_reply`] to retrieve the reply.
4265///
4266/// [`xcb_xkb_get_map_reply`]: XcbXkb::xcb_xkb_get_map_reply
4267#[derive(Copy, Clone, Debug)]
4268#[repr(C)]
4269pub struct xcb_xkb_get_map_cookie_t {
4270    /// The sequence number of the request.
4271    pub sequence: c_uint,
4272}
4273
4274impl Default for xcb_xkb_get_map_cookie_t {
4275    fn default() -> Self {
4276        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4277    }
4278}
4279
4280/// The opcode for `xkb::GetMap` requests.
4281///
4282/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4283/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4284/// [`xcb_xkb_get_map_request_t`].
4285pub const XCB_XKB_GET_MAP: u8 = 8i32 as u8;
4286
4287/// The `xkb::GetMap` request.
4288#[derive(Copy, Clone, Debug)]
4289#[repr(C)]
4290pub struct xcb_xkb_get_map_request_t {
4291    pub major_opcode: u8,
4292    pub minor_opcode: u8,
4293    pub length: u16,
4294    pub device_spec: xcb_xkb_device_spec_t,
4295    pub full: u16,
4296    pub partial: u16,
4297    pub first_type: u8,
4298    pub n_types: u8,
4299    pub first_key_sym: xcb_keycode_t,
4300    pub n_key_syms: u8,
4301    pub first_key_action: xcb_keycode_t,
4302    pub n_key_actions: u8,
4303    pub first_key_behavior: xcb_keycode_t,
4304    pub n_key_behaviors: u8,
4305    pub virtual_mods: u16,
4306    pub first_key_explicit: xcb_keycode_t,
4307    pub n_key_explicit: u8,
4308    pub first_mod_map_key: xcb_keycode_t,
4309    pub n_mod_map_keys: u8,
4310    pub first_vmod_map_key: xcb_keycode_t,
4311    pub n_vmod_map_keys: u8,
4312    pub pad0: [u8; 2],
4313}
4314
4315impl Default for xcb_xkb_get_map_request_t {
4316    fn default() -> Self {
4317        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4318    }
4319}
4320
4321/// The `xkb::map` switch.
4322#[derive(Copy, Clone, Debug)]
4323#[repr(C)]
4324pub struct xcb_xkb_get_map_map_t {
4325    pub types_rtrn: *mut xcb_xkb_key_type_t,
4326    pub syms_rtrn: *mut xcb_xkb_key_sym_map_t,
4327    pub acts_rtrn_count: *mut u8,
4328    pub pad2: *mut u8,
4329    pub acts_rtrn_acts: *mut xcb_xkb_action_t,
4330    pub behaviors_rtrn: *mut xcb_xkb_set_behavior_t,
4331    pub vmods_rtrn: *mut u8,
4332    pub pad3: *mut u8,
4333    pub explicit_rtrn: *mut xcb_xkb_set_explicit_t,
4334    pub pad4: *mut u8,
4335    pub modmap_rtrn: *mut xcb_xkb_key_mod_map_t,
4336    pub pad5: *mut u8,
4337    pub vmodmap_rtrn: *mut xcb_xkb_key_v_mod_map_t,
4338}
4339
4340impl Default for xcb_xkb_get_map_map_t {
4341    fn default() -> Self {
4342        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4343    }
4344}
4345
4346/// The `xkb::GetMap` reply.
4347///
4348/// The following fields can be accessed via accessor functions:
4349///
4350/// - `map`
4351#[derive(Copy, Clone, Debug)]
4352#[repr(C)]
4353pub struct xcb_xkb_get_map_reply_t {
4354    pub response_type: u8,
4355    pub device_id: u8,
4356    pub sequence: u16,
4357    pub length: u32,
4358    pub pad0: [u8; 2],
4359    pub min_key_code: xcb_keycode_t,
4360    pub max_key_code: xcb_keycode_t,
4361    pub present: u16,
4362    pub first_type: u8,
4363    pub n_types: u8,
4364    pub total_types: u8,
4365    pub first_key_sym: xcb_keycode_t,
4366    pub total_syms: u16,
4367    pub n_key_syms: u8,
4368    pub first_key_action: xcb_keycode_t,
4369    pub total_actions: u16,
4370    pub n_key_actions: u8,
4371    pub first_key_behavior: xcb_keycode_t,
4372    pub n_key_behaviors: u8,
4373    pub total_key_behaviors: u8,
4374    pub first_key_explicit: xcb_keycode_t,
4375    pub n_key_explicit: u8,
4376    pub total_key_explicit: u8,
4377    pub first_mod_map_key: xcb_keycode_t,
4378    pub n_mod_map_keys: u8,
4379    pub total_mod_map_keys: u8,
4380    pub first_vmod_map_key: xcb_keycode_t,
4381    pub n_vmod_map_keys: u8,
4382    pub total_vmod_map_keys: u8,
4383    pub pad1: u8,
4384    pub virtual_mods: u16,
4385}
4386
4387impl Default for xcb_xkb_get_map_reply_t {
4388    fn default() -> Self {
4389        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4390    }
4391}
4392
4393/// The `xkb::values` switch.
4394#[derive(Copy, Clone, Debug)]
4395#[repr(C)]
4396pub struct xcb_xkb_set_map_values_t {
4397    pub types: *mut xcb_xkb_set_key_type_t,
4398    pub syms: *mut xcb_xkb_key_sym_map_t,
4399    pub actions_count: *mut u8,
4400    pub actions: *mut xcb_xkb_action_t,
4401    pub behaviors: *mut xcb_xkb_set_behavior_t,
4402    pub vmods: *mut u8,
4403    pub explicit: *mut xcb_xkb_set_explicit_t,
4404    pub modmap: *mut xcb_xkb_key_mod_map_t,
4405    pub vmodmap: *mut xcb_xkb_key_v_mod_map_t,
4406}
4407
4408impl Default for xcb_xkb_set_map_values_t {
4409    fn default() -> Self {
4410        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4411    }
4412}
4413
4414/// The opcode for `xkb::SetMap` requests.
4415///
4416/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4417/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4418/// [`xcb_xkb_set_map_request_t`].
4419pub const XCB_XKB_SET_MAP: u8 = 9i32 as u8;
4420
4421/// The `xkb::SetMap` request.
4422///
4423/// The following fields can be accessed via accessor functions:
4424///
4425/// - `values`
4426#[derive(Copy, Clone, Debug)]
4427#[repr(C)]
4428pub struct xcb_xkb_set_map_request_t {
4429    pub major_opcode: u8,
4430    pub minor_opcode: u8,
4431    pub length: u16,
4432    pub device_spec: xcb_xkb_device_spec_t,
4433    pub present: u16,
4434    pub flags: u16,
4435    pub min_key_code: xcb_keycode_t,
4436    pub max_key_code: xcb_keycode_t,
4437    pub first_type: u8,
4438    pub n_types: u8,
4439    pub first_key_sym: xcb_keycode_t,
4440    pub n_key_syms: u8,
4441    pub total_syms: u16,
4442    pub first_key_action: xcb_keycode_t,
4443    pub n_key_actions: u8,
4444    pub total_actions: u16,
4445    pub first_key_behavior: xcb_keycode_t,
4446    pub n_key_behaviors: u8,
4447    pub total_key_behaviors: u8,
4448    pub first_key_explicit: xcb_keycode_t,
4449    pub n_key_explicit: u8,
4450    pub total_key_explicit: u8,
4451    pub first_mod_map_key: xcb_keycode_t,
4452    pub n_mod_map_keys: u8,
4453    pub total_mod_map_keys: u8,
4454    pub first_vmod_map_key: xcb_keycode_t,
4455    pub n_vmod_map_keys: u8,
4456    pub total_vmod_map_keys: u8,
4457    pub virtual_mods: u16,
4458}
4459
4460impl Default for xcb_xkb_set_map_request_t {
4461    fn default() -> Self {
4462        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4463    }
4464}
4465
4466/// The cookie for the reply to a `xkb::GetCompatMap` request.
4467///
4468/// Pass this cookie to [`xcb_xkb_get_compat_map_reply`] to retrieve the reply.
4469///
4470/// [`xcb_xkb_get_compat_map_reply`]: XcbXkb::xcb_xkb_get_compat_map_reply
4471#[derive(Copy, Clone, Debug)]
4472#[repr(C)]
4473pub struct xcb_xkb_get_compat_map_cookie_t {
4474    /// The sequence number of the request.
4475    pub sequence: c_uint,
4476}
4477
4478impl Default for xcb_xkb_get_compat_map_cookie_t {
4479    fn default() -> Self {
4480        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4481    }
4482}
4483
4484/// The opcode for `xkb::GetCompatMap` requests.
4485///
4486/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4487/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4488/// [`xcb_xkb_get_compat_map_request_t`].
4489pub const XCB_XKB_GET_COMPAT_MAP: u8 = 10i32 as u8;
4490
4491/// The `xkb::GetCompatMap` request.
4492#[derive(Copy, Clone, Debug)]
4493#[repr(C)]
4494pub struct xcb_xkb_get_compat_map_request_t {
4495    pub major_opcode: u8,
4496    pub minor_opcode: u8,
4497    pub length: u16,
4498    pub device_spec: xcb_xkb_device_spec_t,
4499    pub groups: u8,
4500    pub get_all_si: u8,
4501    pub first_si: u16,
4502    pub n_si: u16,
4503}
4504
4505impl Default for xcb_xkb_get_compat_map_request_t {
4506    fn default() -> Self {
4507        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4508    }
4509}
4510
4511/// The `xkb::GetCompatMap` reply.
4512///
4513/// The following fields can be accessed via accessor functions:
4514///
4515/// - `si_rtrn`
4516/// - `group_rtrn`
4517#[derive(Copy, Clone, Debug)]
4518#[repr(C)]
4519pub struct xcb_xkb_get_compat_map_reply_t {
4520    pub response_type: u8,
4521    pub device_id: u8,
4522    pub sequence: u16,
4523    pub length: u32,
4524    pub groups_rtrn: u8,
4525    pub pad0: u8,
4526    pub first_sirtrn: u16,
4527    pub n_sirtrn: u16,
4528    pub n_total_si: u16,
4529    pub pad1: [u8; 16],
4530}
4531
4532impl Default for xcb_xkb_get_compat_map_reply_t {
4533    fn default() -> Self {
4534        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4535    }
4536}
4537
4538/// The opcode for `xkb::SetCompatMap` requests.
4539///
4540/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4541/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4542/// [`xcb_xkb_set_compat_map_request_t`].
4543pub const XCB_XKB_SET_COMPAT_MAP: u8 = 11i32 as u8;
4544
4545/// The `xkb::SetCompatMap` request.
4546///
4547/// The following fields can be accessed via accessor functions:
4548///
4549/// - `si`
4550/// - `group_maps`
4551#[derive(Copy, Clone, Debug)]
4552#[repr(C)]
4553pub struct xcb_xkb_set_compat_map_request_t {
4554    pub major_opcode: u8,
4555    pub minor_opcode: u8,
4556    pub length: u16,
4557    pub device_spec: xcb_xkb_device_spec_t,
4558    pub pad0: u8,
4559    pub recompute_actions: u8,
4560    pub truncate_si: u8,
4561    pub groups: u8,
4562    pub first_si: u16,
4563    pub n_si: u16,
4564    pub pad1: [u8; 2],
4565}
4566
4567impl Default for xcb_xkb_set_compat_map_request_t {
4568    fn default() -> Self {
4569        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4570    }
4571}
4572
4573/// The cookie for the reply to a `xkb::GetIndicatorState` request.
4574///
4575/// Pass this cookie to [`xcb_xkb_get_indicator_state_reply`] to retrieve the reply.
4576///
4577/// [`xcb_xkb_get_indicator_state_reply`]: XcbXkb::xcb_xkb_get_indicator_state_reply
4578#[derive(Copy, Clone, Debug)]
4579#[repr(C)]
4580pub struct xcb_xkb_get_indicator_state_cookie_t {
4581    /// The sequence number of the request.
4582    pub sequence: c_uint,
4583}
4584
4585impl Default for xcb_xkb_get_indicator_state_cookie_t {
4586    fn default() -> Self {
4587        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4588    }
4589}
4590
4591/// The opcode for `xkb::GetIndicatorState` requests.
4592///
4593/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4594/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4595/// [`xcb_xkb_get_indicator_state_request_t`].
4596pub const XCB_XKB_GET_INDICATOR_STATE: u8 = 12i32 as u8;
4597
4598/// The `xkb::GetIndicatorState` request.
4599#[derive(Copy, Clone, Debug)]
4600#[repr(C)]
4601pub struct xcb_xkb_get_indicator_state_request_t {
4602    pub major_opcode: u8,
4603    pub minor_opcode: u8,
4604    pub length: u16,
4605    pub device_spec: xcb_xkb_device_spec_t,
4606    pub pad0: [u8; 2],
4607}
4608
4609impl Default for xcb_xkb_get_indicator_state_request_t {
4610    fn default() -> Self {
4611        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4612    }
4613}
4614
4615/// The `xkb::GetIndicatorState` reply.
4616#[derive(Copy, Clone, Debug)]
4617#[repr(C)]
4618pub struct xcb_xkb_get_indicator_state_reply_t {
4619    pub response_type: u8,
4620    pub device_id: u8,
4621    pub sequence: u16,
4622    pub length: u32,
4623    pub state: u32,
4624    pub pad0: [u8; 20],
4625}
4626
4627impl Default for xcb_xkb_get_indicator_state_reply_t {
4628    fn default() -> Self {
4629        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4630    }
4631}
4632
4633/// The cookie for the reply to a `xkb::GetIndicatorMap` request.
4634///
4635/// Pass this cookie to [`xcb_xkb_get_indicator_map_reply`] to retrieve the reply.
4636///
4637/// [`xcb_xkb_get_indicator_map_reply`]: XcbXkb::xcb_xkb_get_indicator_map_reply
4638#[derive(Copy, Clone, Debug)]
4639#[repr(C)]
4640pub struct xcb_xkb_get_indicator_map_cookie_t {
4641    /// The sequence number of the request.
4642    pub sequence: c_uint,
4643}
4644
4645impl Default for xcb_xkb_get_indicator_map_cookie_t {
4646    fn default() -> Self {
4647        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4648    }
4649}
4650
4651/// The opcode for `xkb::GetIndicatorMap` requests.
4652///
4653/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4654/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4655/// [`xcb_xkb_get_indicator_map_request_t`].
4656pub const XCB_XKB_GET_INDICATOR_MAP: u8 = 13i32 as u8;
4657
4658/// The `xkb::GetIndicatorMap` request.
4659#[derive(Copy, Clone, Debug)]
4660#[repr(C)]
4661pub struct xcb_xkb_get_indicator_map_request_t {
4662    pub major_opcode: u8,
4663    pub minor_opcode: u8,
4664    pub length: u16,
4665    pub device_spec: xcb_xkb_device_spec_t,
4666    pub pad0: [u8; 2],
4667    pub which: u32,
4668}
4669
4670impl Default for xcb_xkb_get_indicator_map_request_t {
4671    fn default() -> Self {
4672        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4673    }
4674}
4675
4676/// The `xkb::GetIndicatorMap` reply.
4677///
4678/// The following fields can be accessed via accessor functions:
4679///
4680/// - `maps`
4681#[derive(Copy, Clone, Debug)]
4682#[repr(C)]
4683pub struct xcb_xkb_get_indicator_map_reply_t {
4684    pub response_type: u8,
4685    pub device_id: u8,
4686    pub sequence: u16,
4687    pub length: u32,
4688    pub which: u32,
4689    pub real_indicators: u32,
4690    pub n_indicators: u8,
4691    pub pad0: [u8; 15],
4692}
4693
4694impl Default for xcb_xkb_get_indicator_map_reply_t {
4695    fn default() -> Self {
4696        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4697    }
4698}
4699
4700/// The opcode for `xkb::SetIndicatorMap` requests.
4701///
4702/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4703/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4704/// [`xcb_xkb_set_indicator_map_request_t`].
4705pub const XCB_XKB_SET_INDICATOR_MAP: u8 = 14i32 as u8;
4706
4707/// The `xkb::SetIndicatorMap` request.
4708///
4709/// The following fields can be accessed via accessor functions:
4710///
4711/// - `maps`
4712#[derive(Copy, Clone, Debug)]
4713#[repr(C)]
4714pub struct xcb_xkb_set_indicator_map_request_t {
4715    pub major_opcode: u8,
4716    pub minor_opcode: u8,
4717    pub length: u16,
4718    pub device_spec: xcb_xkb_device_spec_t,
4719    pub pad0: [u8; 2],
4720    pub which: u32,
4721}
4722
4723impl Default for xcb_xkb_set_indicator_map_request_t {
4724    fn default() -> Self {
4725        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4726    }
4727}
4728
4729/// The cookie for the reply to a `xkb::GetNamedIndicator` request.
4730///
4731/// Pass this cookie to [`xcb_xkb_get_named_indicator_reply`] to retrieve the reply.
4732///
4733/// [`xcb_xkb_get_named_indicator_reply`]: XcbXkb::xcb_xkb_get_named_indicator_reply
4734#[derive(Copy, Clone, Debug)]
4735#[repr(C)]
4736pub struct xcb_xkb_get_named_indicator_cookie_t {
4737    /// The sequence number of the request.
4738    pub sequence: c_uint,
4739}
4740
4741impl Default for xcb_xkb_get_named_indicator_cookie_t {
4742    fn default() -> Self {
4743        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4744    }
4745}
4746
4747/// The opcode for `xkb::GetNamedIndicator` requests.
4748///
4749/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4750/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4751/// [`xcb_xkb_get_named_indicator_request_t`].
4752pub const XCB_XKB_GET_NAMED_INDICATOR: u8 = 15i32 as u8;
4753
4754/// The `xkb::GetNamedIndicator` request.
4755#[derive(Copy, Clone, Debug)]
4756#[repr(C)]
4757pub struct xcb_xkb_get_named_indicator_request_t {
4758    pub major_opcode: u8,
4759    pub minor_opcode: u8,
4760    pub length: u16,
4761    pub device_spec: xcb_xkb_device_spec_t,
4762    pub led_class: xcb_xkb_led_class_spec_t,
4763    pub led_id: xcb_xkb_id_spec_t,
4764    pub pad0: [u8; 2],
4765    pub indicator: xcb_atom_t,
4766}
4767
4768impl Default for xcb_xkb_get_named_indicator_request_t {
4769    fn default() -> Self {
4770        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4771    }
4772}
4773
4774/// The `xkb::GetNamedIndicator` reply.
4775#[derive(Copy, Clone, Debug)]
4776#[repr(C)]
4777pub struct xcb_xkb_get_named_indicator_reply_t {
4778    pub response_type: u8,
4779    pub device_id: u8,
4780    pub sequence: u16,
4781    pub length: u32,
4782    pub indicator: xcb_atom_t,
4783    pub found: u8,
4784    pub on: u8,
4785    pub real_indicator: u8,
4786    pub ndx: u8,
4787    pub map_flags: u8,
4788    pub map_which_groups: u8,
4789    pub map_groups: u8,
4790    pub map_which_mods: u8,
4791    pub map_mods: u8,
4792    pub map_real_mods: u8,
4793    pub map_vmod: u16,
4794    pub map_ctrls: u32,
4795    pub supported: u8,
4796    pub pad0: [u8; 3],
4797}
4798
4799impl Default for xcb_xkb_get_named_indicator_reply_t {
4800    fn default() -> Self {
4801        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4802    }
4803}
4804
4805/// The opcode for `xkb::SetNamedIndicator` requests.
4806///
4807/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4808/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4809/// [`xcb_xkb_set_named_indicator_request_t`].
4810pub const XCB_XKB_SET_NAMED_INDICATOR: u8 = 16i32 as u8;
4811
4812/// The `xkb::SetNamedIndicator` request.
4813#[derive(Copy, Clone, Debug)]
4814#[repr(C)]
4815pub struct xcb_xkb_set_named_indicator_request_t {
4816    pub major_opcode: u8,
4817    pub minor_opcode: u8,
4818    pub length: u16,
4819    pub device_spec: xcb_xkb_device_spec_t,
4820    pub led_class: xcb_xkb_led_class_spec_t,
4821    pub led_id: xcb_xkb_id_spec_t,
4822    pub pad0: [u8; 2],
4823    pub indicator: xcb_atom_t,
4824    pub set_state: u8,
4825    pub on: u8,
4826    pub set_map: u8,
4827    pub create_map: u8,
4828    pub pad1: u8,
4829    pub map_flags: u8,
4830    pub map_which_groups: u8,
4831    pub map_groups: u8,
4832    pub map_which_mods: u8,
4833    pub map_real_mods: u8,
4834    pub map_vmods: u16,
4835    pub map_ctrls: u32,
4836}
4837
4838impl Default for xcb_xkb_set_named_indicator_request_t {
4839    fn default() -> Self {
4840        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4841    }
4842}
4843
4844/// The cookie for the reply to a `xkb::GetNames` request.
4845///
4846/// Pass this cookie to [`xcb_xkb_get_names_reply`] to retrieve the reply.
4847///
4848/// [`xcb_xkb_get_names_reply`]: XcbXkb::xcb_xkb_get_names_reply
4849#[derive(Copy, Clone, Debug)]
4850#[repr(C)]
4851pub struct xcb_xkb_get_names_cookie_t {
4852    /// The sequence number of the request.
4853    pub sequence: c_uint,
4854}
4855
4856impl Default for xcb_xkb_get_names_cookie_t {
4857    fn default() -> Self {
4858        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4859    }
4860}
4861
4862/// The opcode for `xkb::GetNames` requests.
4863///
4864/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4865/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4866/// [`xcb_xkb_get_names_request_t`].
4867pub const XCB_XKB_GET_NAMES: u8 = 17i32 as u8;
4868
4869/// The `xkb::GetNames` request.
4870#[derive(Copy, Clone, Debug)]
4871#[repr(C)]
4872pub struct xcb_xkb_get_names_request_t {
4873    pub major_opcode: u8,
4874    pub minor_opcode: u8,
4875    pub length: u16,
4876    pub device_spec: xcb_xkb_device_spec_t,
4877    pub pad0: [u8; 2],
4878    pub which: u32,
4879}
4880
4881impl Default for xcb_xkb_get_names_request_t {
4882    fn default() -> Self {
4883        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4884    }
4885}
4886
4887/// The `xkb::valueList` switch.
4888#[derive(Copy, Clone, Debug)]
4889#[repr(C)]
4890pub struct xcb_xkb_get_names_value_list_t {
4891    pub keycodes_name: xcb_atom_t,
4892    pub geometry_name: xcb_atom_t,
4893    pub symbols_name: xcb_atom_t,
4894    pub phys_symbols_name: xcb_atom_t,
4895    pub types_name: xcb_atom_t,
4896    pub compat_name: xcb_atom_t,
4897    pub type_names: *mut xcb_atom_t,
4898    pub n_levels_per_type: *mut u8,
4899    pub pad1: *mut u8,
4900    pub kt_level_names: *mut xcb_atom_t,
4901    pub indicator_names: *mut xcb_atom_t,
4902    pub virtual_mod_names: *mut xcb_atom_t,
4903    pub groups: *mut xcb_atom_t,
4904    pub key_names: *mut xcb_xkb_key_name_t,
4905    pub key_aliases: *mut xcb_xkb_key_alias_t,
4906    pub radio_group_names: *mut xcb_atom_t,
4907}
4908
4909impl Default for xcb_xkb_get_names_value_list_t {
4910    fn default() -> Self {
4911        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4912    }
4913}
4914
4915/// The `xkb::GetNames` reply.
4916///
4917/// The following fields can be accessed via accessor functions:
4918///
4919/// - `value_list`
4920#[derive(Copy, Clone, Debug)]
4921#[repr(C)]
4922pub struct xcb_xkb_get_names_reply_t {
4923    pub response_type: u8,
4924    pub device_id: u8,
4925    pub sequence: u16,
4926    pub length: u32,
4927    pub which: u32,
4928    pub min_key_code: xcb_keycode_t,
4929    pub max_key_code: xcb_keycode_t,
4930    pub n_types: u8,
4931    pub group_names: u8,
4932    pub virtual_mods: u16,
4933    pub first_key: xcb_keycode_t,
4934    pub n_keys: u8,
4935    pub indicators: u32,
4936    pub n_radio_groups: u8,
4937    pub n_key_aliases: u8,
4938    pub n_ktlevels: u16,
4939    pub pad0: [u8; 4],
4940}
4941
4942impl Default for xcb_xkb_get_names_reply_t {
4943    fn default() -> Self {
4944        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4945    }
4946}
4947
4948/// The `xkb::values` switch.
4949#[derive(Copy, Clone, Debug)]
4950#[repr(C)]
4951pub struct xcb_xkb_set_names_values_t {
4952    pub keycodes_name: xcb_atom_t,
4953    pub geometry_name: xcb_atom_t,
4954    pub symbols_name: xcb_atom_t,
4955    pub phys_symbols_name: xcb_atom_t,
4956    pub types_name: xcb_atom_t,
4957    pub compat_name: xcb_atom_t,
4958    pub type_names: *mut xcb_atom_t,
4959    pub n_levels_per_type: *mut u8,
4960    pub kt_level_names: *mut xcb_atom_t,
4961    pub indicator_names: *mut xcb_atom_t,
4962    pub virtual_mod_names: *mut xcb_atom_t,
4963    pub groups: *mut xcb_atom_t,
4964    pub key_names: *mut xcb_xkb_key_name_t,
4965    pub key_aliases: *mut xcb_xkb_key_alias_t,
4966    pub radio_group_names: *mut xcb_atom_t,
4967}
4968
4969impl Default for xcb_xkb_set_names_values_t {
4970    fn default() -> Self {
4971        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
4972    }
4973}
4974
4975/// The opcode for `xkb::SetNames` requests.
4976///
4977/// If this value appears in [`xcb_protocol_request_t::opcode`], and
4978/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
4979/// [`xcb_xkb_set_names_request_t`].
4980pub const XCB_XKB_SET_NAMES: u8 = 18i32 as u8;
4981
4982/// The `xkb::SetNames` request.
4983///
4984/// The following fields can be accessed via accessor functions:
4985///
4986/// - `values`
4987#[derive(Copy, Clone, Debug)]
4988#[repr(C)]
4989pub struct xcb_xkb_set_names_request_t {
4990    pub major_opcode: u8,
4991    pub minor_opcode: u8,
4992    pub length: u16,
4993    pub device_spec: xcb_xkb_device_spec_t,
4994    pub virtual_mods: u16,
4995    pub which: u32,
4996    pub first_type: u8,
4997    pub n_types: u8,
4998    pub first_ktlevelt: u8,
4999    pub n_ktlevels: u8,
5000    pub indicators: u32,
5001    pub group_names: u8,
5002    pub n_radio_groups: u8,
5003    pub first_key: xcb_keycode_t,
5004    pub n_keys: u8,
5005    pub n_key_aliases: u8,
5006    pub pad0: u8,
5007    pub total_ktlevel_names: u16,
5008}
5009
5010impl Default for xcb_xkb_set_names_request_t {
5011    fn default() -> Self {
5012        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5013    }
5014}
5015
5016/// The cookie for the reply to a `xkb::PerClientFlags` request.
5017///
5018/// Pass this cookie to [`xcb_xkb_per_client_flags_reply`] to retrieve the reply.
5019///
5020/// [`xcb_xkb_per_client_flags_reply`]: XcbXkb::xcb_xkb_per_client_flags_reply
5021#[derive(Copy, Clone, Debug)]
5022#[repr(C)]
5023pub struct xcb_xkb_per_client_flags_cookie_t {
5024    /// The sequence number of the request.
5025    pub sequence: c_uint,
5026}
5027
5028impl Default for xcb_xkb_per_client_flags_cookie_t {
5029    fn default() -> Self {
5030        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5031    }
5032}
5033
5034/// The opcode for `xkb::PerClientFlags` requests.
5035///
5036/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5037/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5038/// [`xcb_xkb_per_client_flags_request_t`].
5039pub const XCB_XKB_PER_CLIENT_FLAGS: u8 = 21i32 as u8;
5040
5041/// The `xkb::PerClientFlags` request.
5042#[derive(Copy, Clone, Debug)]
5043#[repr(C)]
5044pub struct xcb_xkb_per_client_flags_request_t {
5045    pub major_opcode: u8,
5046    pub minor_opcode: u8,
5047    pub length: u16,
5048    pub device_spec: xcb_xkb_device_spec_t,
5049    pub pad0: [u8; 2],
5050    pub change: u32,
5051    pub value: u32,
5052    pub ctrls_to_change: u32,
5053    pub auto_ctrls: u32,
5054    pub auto_ctrls_values: u32,
5055}
5056
5057impl Default for xcb_xkb_per_client_flags_request_t {
5058    fn default() -> Self {
5059        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5060    }
5061}
5062
5063/// The `xkb::PerClientFlags` reply.
5064#[derive(Copy, Clone, Debug)]
5065#[repr(C)]
5066pub struct xcb_xkb_per_client_flags_reply_t {
5067    pub response_type: u8,
5068    pub device_id: u8,
5069    pub sequence: u16,
5070    pub length: u32,
5071    pub supported: u32,
5072    pub value: u32,
5073    pub auto_ctrls: u32,
5074    pub auto_ctrls_values: u32,
5075    pub pad0: [u8; 8],
5076}
5077
5078impl Default for xcb_xkb_per_client_flags_reply_t {
5079    fn default() -> Self {
5080        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5081    }
5082}
5083
5084/// The cookie for the reply to a `xkb::ListComponents` request.
5085///
5086/// Pass this cookie to [`xcb_xkb_list_components_reply`] to retrieve the reply.
5087///
5088/// [`xcb_xkb_list_components_reply`]: XcbXkb::xcb_xkb_list_components_reply
5089#[derive(Copy, Clone, Debug)]
5090#[repr(C)]
5091pub struct xcb_xkb_list_components_cookie_t {
5092    /// The sequence number of the request.
5093    pub sequence: c_uint,
5094}
5095
5096impl Default for xcb_xkb_list_components_cookie_t {
5097    fn default() -> Self {
5098        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5099    }
5100}
5101
5102/// The opcode for `xkb::ListComponents` requests.
5103///
5104/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5105/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5106/// [`xcb_xkb_list_components_request_t`].
5107pub const XCB_XKB_LIST_COMPONENTS: u8 = 22i32 as u8;
5108
5109/// The `xkb::ListComponents` request.
5110#[derive(Copy, Clone, Debug)]
5111#[repr(C)]
5112pub struct xcb_xkb_list_components_request_t {
5113    pub major_opcode: u8,
5114    pub minor_opcode: u8,
5115    pub length: u16,
5116    pub device_spec: xcb_xkb_device_spec_t,
5117    pub max_names: u16,
5118}
5119
5120impl Default for xcb_xkb_list_components_request_t {
5121    fn default() -> Self {
5122        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5123    }
5124}
5125
5126/// The `xkb::ListComponents` reply.
5127///
5128/// The following fields can be accessed via accessor functions:
5129///
5130/// - `keymaps`
5131/// - `keycodes`
5132/// - `types`
5133/// - `compat_maps`
5134/// - `symbols`
5135/// - `geometries`
5136#[derive(Copy, Clone, Debug)]
5137#[repr(C)]
5138pub struct xcb_xkb_list_components_reply_t {
5139    pub response_type: u8,
5140    pub device_id: u8,
5141    pub sequence: u16,
5142    pub length: u32,
5143    pub n_keymaps: u16,
5144    pub n_keycodes: u16,
5145    pub n_types: u16,
5146    pub n_compat_maps: u16,
5147    pub n_symbols: u16,
5148    pub n_geometries: u16,
5149    pub extra: u16,
5150    pub pad0: [u8; 10],
5151}
5152
5153impl Default for xcb_xkb_list_components_reply_t {
5154    fn default() -> Self {
5155        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5156    }
5157}
5158
5159/// The cookie for the reply to a `xkb::GetKbdByName` request.
5160///
5161/// Pass this cookie to [`xcb_xkb_get_kbd_by_name_reply`] to retrieve the reply.
5162///
5163/// [`xcb_xkb_get_kbd_by_name_reply`]: XcbXkb::xcb_xkb_get_kbd_by_name_reply
5164#[derive(Copy, Clone, Debug)]
5165#[repr(C)]
5166pub struct xcb_xkb_get_kbd_by_name_cookie_t {
5167    /// The sequence number of the request.
5168    pub sequence: c_uint,
5169}
5170
5171impl Default for xcb_xkb_get_kbd_by_name_cookie_t {
5172    fn default() -> Self {
5173        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5174    }
5175}
5176
5177/// The opcode for `xkb::GetKbdByName` requests.
5178///
5179/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5180/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5181/// [`xcb_xkb_get_kbd_by_name_request_t`].
5182pub const XCB_XKB_GET_KBD_BY_NAME: u8 = 23i32 as u8;
5183
5184/// The `xkb::GetKbdByName` request.
5185#[derive(Copy, Clone, Debug)]
5186#[repr(C)]
5187pub struct xcb_xkb_get_kbd_by_name_request_t {
5188    pub major_opcode: u8,
5189    pub minor_opcode: u8,
5190    pub length: u16,
5191    pub device_spec: xcb_xkb_device_spec_t,
5192    pub need: u16,
5193    pub want: u16,
5194    pub load: u8,
5195    pub pad0: u8,
5196}
5197
5198impl Default for xcb_xkb_get_kbd_by_name_request_t {
5199    fn default() -> Self {
5200        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5201    }
5202}
5203
5204/// The `xkb::map` switch.
5205#[derive(Copy, Clone, Debug)]
5206#[repr(C)]
5207pub struct xcb_xkb_get_kbd_by_name_replies_types_map_t {
5208    pub types_rtrn: *mut xcb_xkb_key_type_t,
5209    pub syms_rtrn: *mut xcb_xkb_key_sym_map_t,
5210    pub acts_rtrn_count: *mut u8,
5211    pub acts_rtrn_acts: *mut xcb_xkb_action_t,
5212    pub behaviors_rtrn: *mut xcb_xkb_set_behavior_t,
5213    pub vmods_rtrn: *mut u8,
5214    pub explicit_rtrn: *mut xcb_xkb_set_explicit_t,
5215    pub modmap_rtrn: *mut xcb_xkb_key_mod_map_t,
5216    pub vmodmap_rtrn: *mut xcb_xkb_key_v_mod_map_t,
5217}
5218
5219impl Default for xcb_xkb_get_kbd_by_name_replies_types_map_t {
5220    fn default() -> Self {
5221        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5222    }
5223}
5224
5225/// The `xkb::valueList` switch.
5226#[derive(Copy, Clone, Debug)]
5227#[repr(C)]
5228pub struct xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
5229    pub keycodes_name: xcb_atom_t,
5230    pub geometry_name: xcb_atom_t,
5231    pub symbols_name: xcb_atom_t,
5232    pub phys_symbols_name: xcb_atom_t,
5233    pub types_name: xcb_atom_t,
5234    pub compat_name: xcb_atom_t,
5235    pub type_names: *mut xcb_atom_t,
5236    pub n_levels_per_type: *mut u8,
5237    pub kt_level_names: *mut xcb_atom_t,
5238    pub indicator_names: *mut xcb_atom_t,
5239    pub virtual_mod_names: *mut xcb_atom_t,
5240    pub groups: *mut xcb_atom_t,
5241    pub key_names: *mut xcb_xkb_key_name_t,
5242    pub key_aliases: *mut xcb_xkb_key_alias_t,
5243    pub radio_group_names: *mut xcb_atom_t,
5244}
5245
5246impl Default for xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
5247    fn default() -> Self {
5248        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5249    }
5250}
5251
5252/// The type of [`xcb_xkb_get_kbd_by_name_replies_t::types`].
5253///
5254/// In libxcb, this type is an anonymous struct.
5255///
5256/// The following fields can be accessed via accessor functions:
5257///
5258/// - `map`
5259#[derive(Copy, Clone, Debug)]
5260#[repr(C)]
5261pub struct xcb_xkb_get_kbd_by_name_replies_t__types {
5262    pub getmap_type: u8,
5263    pub type_device_id: u8,
5264    pub getmap_sequence: u16,
5265    pub getmap_length: u32,
5266    pub pad1: [u8; 2],
5267    pub type_min_key_code: xcb_keycode_t,
5268    pub type_max_key_code: xcb_keycode_t,
5269    pub present: u16,
5270    pub first_type: u8,
5271    pub n_types: u8,
5272    pub total_types: u8,
5273    pub first_key_sym: xcb_keycode_t,
5274    pub total_syms: u16,
5275    pub n_key_syms: u8,
5276    pub first_key_action: xcb_keycode_t,
5277    pub total_actions: u16,
5278    pub n_key_actions: u8,
5279    pub first_key_behavior: xcb_keycode_t,
5280    pub n_key_behaviors: u8,
5281    pub total_key_behaviors: u8,
5282    pub first_key_explicit: xcb_keycode_t,
5283    pub n_key_explicit: u8,
5284    pub total_key_explicit: u8,
5285    pub first_mod_map_key: xcb_keycode_t,
5286    pub n_mod_map_keys: u8,
5287    pub total_mod_map_keys: u8,
5288    pub first_vmod_map_key: xcb_keycode_t,
5289    pub n_vmod_map_keys: u8,
5290    pub total_vmod_map_keys: u8,
5291    pub pad2: u8,
5292    pub virtual_mods: u16,
5293    pub map: xcb_xkb_get_kbd_by_name_replies_types_map_t,
5294}
5295
5296impl Default for xcb_xkb_get_kbd_by_name_replies_t__types {
5297    fn default() -> Self {
5298        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5299    }
5300}
5301
5302/// The type of [`xcb_xkb_get_kbd_by_name_replies_t::compat_map`].
5303///
5304/// In libxcb, this type is an anonymous struct.
5305///
5306/// The following fields can be accessed via accessor functions:
5307///
5308/// - `si_rtrn`
5309/// - `group_rtrn`
5310#[derive(Copy, Clone, Debug)]
5311#[repr(C)]
5312pub struct xcb_xkb_get_kbd_by_name_replies_t__compat_map {
5313    pub compatmap_type: u8,
5314    pub compat_device_id: u8,
5315    pub compatmap_sequence: u16,
5316    pub compatmap_length: u32,
5317    pub groups_rtrn: u8,
5318    pub pad7: u8,
5319    pub first_sirtrn: u16,
5320    pub n_sirtrn: u16,
5321    pub n_total_si: u16,
5322    pub pad8: [u8; 16],
5323    pub si_rtrn: *mut xcb_xkb_sym_interpret_t,
5324    pub group_rtrn: *mut xcb_xkb_mod_def_t,
5325}
5326
5327impl Default for xcb_xkb_get_kbd_by_name_replies_t__compat_map {
5328    fn default() -> Self {
5329        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5330    }
5331}
5332
5333/// The type of [`xcb_xkb_get_kbd_by_name_replies_t::indicator_maps`].
5334///
5335/// In libxcb, this type is an anonymous struct.
5336///
5337/// The following fields can be accessed via accessor functions:
5338///
5339/// - `maps`
5340#[derive(Copy, Clone, Debug)]
5341#[repr(C)]
5342pub struct xcb_xkb_get_kbd_by_name_replies_t__indicator_maps {
5343    pub indicatormap_type: u8,
5344    pub indicator_device_id: u8,
5345    pub indicatormap_sequence: u16,
5346    pub indicatormap_length: u32,
5347    pub which: u32,
5348    pub real_indicators: u32,
5349    pub n_indicators: u8,
5350    pub pad9: [u8; 15],
5351    pub maps: *mut xcb_xkb_indicator_map_t,
5352}
5353
5354impl Default for xcb_xkb_get_kbd_by_name_replies_t__indicator_maps {
5355    fn default() -> Self {
5356        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5357    }
5358}
5359
5360/// The type of [`xcb_xkb_get_kbd_by_name_replies_t::key_names`].
5361///
5362/// In libxcb, this type is an anonymous struct.
5363///
5364/// The following fields can be accessed via accessor functions:
5365///
5366/// - `value_list`
5367#[derive(Copy, Clone, Debug)]
5368#[repr(C)]
5369pub struct xcb_xkb_get_kbd_by_name_replies_t__key_names {
5370    pub keyname_type: u8,
5371    pub key_device_id: u8,
5372    pub keyname_sequence: u16,
5373    pub keyname_length: u32,
5374    pub which: u32,
5375    pub key_min_key_code: xcb_keycode_t,
5376    pub key_max_key_code: xcb_keycode_t,
5377    pub n_types: u8,
5378    pub group_names: u8,
5379    pub virtual_mods: u16,
5380    pub first_key: xcb_keycode_t,
5381    pub n_keys: u8,
5382    pub indicators: u32,
5383    pub n_radio_groups: u8,
5384    pub n_key_aliases: u8,
5385    pub n_ktlevels: u16,
5386    pub pad10: [u8; 4],
5387    pub value_list: xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
5388}
5389
5390impl Default for xcb_xkb_get_kbd_by_name_replies_t__key_names {
5391    fn default() -> Self {
5392        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5393    }
5394}
5395
5396/// The type of [`xcb_xkb_get_kbd_by_name_replies_t::geometry`].
5397///
5398/// In libxcb, this type is an anonymous struct.
5399///
5400/// The following fields can be accessed via accessor functions:
5401///
5402/// - `label_font`
5403#[derive(Copy, Clone, Debug)]
5404#[repr(C)]
5405pub struct xcb_xkb_get_kbd_by_name_replies_t__geometry {
5406    pub geometry_type: u8,
5407    pub geometry_device_id: u8,
5408    pub geometry_sequence: u16,
5409    pub geometry_length: u32,
5410    pub name: xcb_atom_t,
5411    pub geometry_found: u8,
5412    pub pad12: u8,
5413    pub width_mm: u16,
5414    pub height_mm: u16,
5415    pub n_properties: u16,
5416    pub n_colors: u16,
5417    pub n_shapes: u16,
5418    pub n_sections: u16,
5419    pub n_doodads: u16,
5420    pub n_key_aliases: u16,
5421    pub base_color_ndx: u8,
5422    pub label_color_ndx: u8,
5423    pub label_font: *mut xcb_xkb_counted_string_16_t,
5424}
5425
5426impl Default for xcb_xkb_get_kbd_by_name_replies_t__geometry {
5427    fn default() -> Self {
5428        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5429    }
5430}
5431
5432/// The `xkb::replies` switch.
5433#[derive(Copy, Clone, Debug)]
5434#[repr(C)]
5435pub struct xcb_xkb_get_kbd_by_name_replies_t {
5436    pub types: xcb_xkb_get_kbd_by_name_replies_t__types,
5437    pub compat_map: xcb_xkb_get_kbd_by_name_replies_t__compat_map,
5438    pub indicator_maps: xcb_xkb_get_kbd_by_name_replies_t__indicator_maps,
5439    pub key_names: xcb_xkb_get_kbd_by_name_replies_t__key_names,
5440    pub geometry: xcb_xkb_get_kbd_by_name_replies_t__geometry,
5441}
5442
5443impl Default for xcb_xkb_get_kbd_by_name_replies_t {
5444    fn default() -> Self {
5445        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5446    }
5447}
5448
5449/// The `xkb::GetKbdByName` reply.
5450///
5451/// The following fields can be accessed via accessor functions:
5452///
5453/// - `replies`
5454#[derive(Copy, Clone, Debug)]
5455#[repr(C)]
5456pub struct xcb_xkb_get_kbd_by_name_reply_t {
5457    pub response_type: u8,
5458    pub device_id: u8,
5459    pub sequence: u16,
5460    pub length: u32,
5461    pub min_key_code: xcb_keycode_t,
5462    pub max_key_code: xcb_keycode_t,
5463    pub loaded: u8,
5464    pub new_keyboard: u8,
5465    pub found: u16,
5466    pub reported: u16,
5467    pub pad0: [u8; 16],
5468}
5469
5470impl Default for xcb_xkb_get_kbd_by_name_reply_t {
5471    fn default() -> Self {
5472        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5473    }
5474}
5475
5476/// The cookie for the reply to a `xkb::GetDeviceInfo` request.
5477///
5478/// Pass this cookie to [`xcb_xkb_get_device_info_reply`] to retrieve the reply.
5479///
5480/// [`xcb_xkb_get_device_info_reply`]: XcbXkb::xcb_xkb_get_device_info_reply
5481#[derive(Copy, Clone, Debug)]
5482#[repr(C)]
5483pub struct xcb_xkb_get_device_info_cookie_t {
5484    /// The sequence number of the request.
5485    pub sequence: c_uint,
5486}
5487
5488impl Default for xcb_xkb_get_device_info_cookie_t {
5489    fn default() -> Self {
5490        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5491    }
5492}
5493
5494/// The opcode for `xkb::GetDeviceInfo` requests.
5495///
5496/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5497/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5498/// [`xcb_xkb_get_device_info_request_t`].
5499pub const XCB_XKB_GET_DEVICE_INFO: u8 = 24i32 as u8;
5500
5501/// The `xkb::GetDeviceInfo` request.
5502#[derive(Copy, Clone, Debug)]
5503#[repr(C)]
5504pub struct xcb_xkb_get_device_info_request_t {
5505    pub major_opcode: u8,
5506    pub minor_opcode: u8,
5507    pub length: u16,
5508    pub device_spec: xcb_xkb_device_spec_t,
5509    pub wanted: u16,
5510    pub all_buttons: u8,
5511    pub first_button: u8,
5512    pub n_buttons: u8,
5513    pub pad0: u8,
5514    pub led_class: xcb_xkb_led_class_spec_t,
5515    pub led_id: xcb_xkb_id_spec_t,
5516}
5517
5518impl Default for xcb_xkb_get_device_info_request_t {
5519    fn default() -> Self {
5520        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5521    }
5522}
5523
5524/// The `xkb::GetDeviceInfo` reply.
5525///
5526/// The following fields can be accessed via accessor functions:
5527///
5528/// - `name`
5529/// - `btn_actions`
5530/// - `leds`
5531#[derive(Copy, Clone, Debug)]
5532#[repr(C)]
5533pub struct xcb_xkb_get_device_info_reply_t {
5534    pub response_type: u8,
5535    pub device_id: u8,
5536    pub sequence: u16,
5537    pub length: u32,
5538    pub present: u16,
5539    pub supported: u16,
5540    pub unsupported: u16,
5541    pub n_device_led_fbs: u16,
5542    pub first_btn_wanted: u8,
5543    pub n_btns_wanted: u8,
5544    pub first_btn_rtrn: u8,
5545    pub n_btns_rtrn: u8,
5546    pub total_btns: u8,
5547    pub has_own_state: u8,
5548    pub dflt_kbd_fb: u16,
5549    pub dflt_led_fb: u16,
5550    pub pad0: [u8; 2],
5551    pub dev_type: xcb_atom_t,
5552    pub name_len: u16,
5553}
5554
5555impl Default for xcb_xkb_get_device_info_reply_t {
5556    fn default() -> Self {
5557        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5558    }
5559}
5560
5561/// The opcode for `xkb::SetDeviceInfo` requests.
5562///
5563/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5564/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5565/// [`xcb_xkb_set_device_info_request_t`].
5566pub const XCB_XKB_SET_DEVICE_INFO: u8 = 25i32 as u8;
5567
5568/// The `xkb::SetDeviceInfo` request.
5569///
5570/// The following fields can be accessed via accessor functions:
5571///
5572/// - `btn_actions`
5573/// - `leds`
5574#[derive(Copy, Clone, Debug)]
5575#[repr(C)]
5576pub struct xcb_xkb_set_device_info_request_t {
5577    pub major_opcode: u8,
5578    pub minor_opcode: u8,
5579    pub length: u16,
5580    pub device_spec: xcb_xkb_device_spec_t,
5581    pub first_btn: u8,
5582    pub n_btns: u8,
5583    pub change: u16,
5584    pub n_device_led_fbs: u16,
5585}
5586
5587impl Default for xcb_xkb_set_device_info_request_t {
5588    fn default() -> Self {
5589        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5590    }
5591}
5592
5593/// The cookie for the reply to a `xkb::SetDebuggingFlags` request.
5594///
5595/// Pass this cookie to [`xcb_xkb_set_debugging_flags_reply`] to retrieve the reply.
5596///
5597/// [`xcb_xkb_set_debugging_flags_reply`]: XcbXkb::xcb_xkb_set_debugging_flags_reply
5598#[derive(Copy, Clone, Debug)]
5599#[repr(C)]
5600pub struct xcb_xkb_set_debugging_flags_cookie_t {
5601    /// The sequence number of the request.
5602    pub sequence: c_uint,
5603}
5604
5605impl Default for xcb_xkb_set_debugging_flags_cookie_t {
5606    fn default() -> Self {
5607        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5608    }
5609}
5610
5611/// The opcode for `xkb::SetDebuggingFlags` requests.
5612///
5613/// If this value appears in [`xcb_protocol_request_t::opcode`], and
5614/// [`xcb_protocol_request_t::ext`] is [`XcbXkb::xcb_xkb_id()`], then the type of the request is
5615/// [`xcb_xkb_set_debugging_flags_request_t`].
5616pub const XCB_XKB_SET_DEBUGGING_FLAGS: u8 = 101i32 as u8;
5617
5618/// The `xkb::SetDebuggingFlags` request.
5619///
5620/// The following fields can be accessed via accessor functions:
5621///
5622/// - `message`
5623#[derive(Copy, Clone, Debug)]
5624#[repr(C)]
5625pub struct xcb_xkb_set_debugging_flags_request_t {
5626    pub major_opcode: u8,
5627    pub minor_opcode: u8,
5628    pub length: u16,
5629    pub msg_length: u16,
5630    pub pad0: [u8; 2],
5631    pub affect_flags: u32,
5632    pub flags: u32,
5633    pub affect_ctrls: u32,
5634    pub ctrls: u32,
5635}
5636
5637impl Default for xcb_xkb_set_debugging_flags_request_t {
5638    fn default() -> Self {
5639        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5640    }
5641}
5642
5643/// The `xkb::SetDebuggingFlags` reply.
5644#[derive(Copy, Clone, Debug)]
5645#[repr(C)]
5646pub struct xcb_xkb_set_debugging_flags_reply_t {
5647    pub response_type: u8,
5648    pub pad0: u8,
5649    pub sequence: u16,
5650    pub length: u32,
5651    pub current_flags: u32,
5652    pub current_ctrls: u32,
5653    pub supported_flags: u32,
5654    pub supported_ctrls: u32,
5655    pub pad1: [u8; 8],
5656}
5657
5658impl Default for xcb_xkb_set_debugging_flags_reply_t {
5659    fn default() -> Self {
5660        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5661    }
5662}
5663
5664/// The opcode for `xkb::NewKeyboardNotify` events.
5665///
5666/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5667/// then the type of the event is [`xcb_xkb_new_keyboard_notify_event_t`].
5668pub const XCB_XKB_NEW_KEYBOARD_NOTIFY: u8 = 0i32 as u8;
5669
5670/// The `xkb::NewKeyboardNotify` event.
5671#[derive(Copy, Clone, Debug)]
5672#[repr(C)]
5673pub struct xcb_xkb_new_keyboard_notify_event_t {
5674    pub response_type: u8,
5675    pub xkb_type: u8,
5676    pub sequence: u16,
5677    pub time: xcb_timestamp_t,
5678    pub device_id: u8,
5679    pub old_device_id: u8,
5680    pub min_key_code: xcb_keycode_t,
5681    pub max_key_code: xcb_keycode_t,
5682    pub old_min_key_code: xcb_keycode_t,
5683    pub old_max_key_code: xcb_keycode_t,
5684    pub request_major: u8,
5685    pub request_minor: u8,
5686    pub changed: u16,
5687    pub pad0: [u8; 14],
5688}
5689
5690impl Default for xcb_xkb_new_keyboard_notify_event_t {
5691    fn default() -> Self {
5692        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5693    }
5694}
5695
5696/// The opcode for `xkb::MapNotify` events.
5697///
5698/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5699/// then the type of the event is [`xcb_xkb_map_notify_event_t`].
5700pub const XCB_XKB_MAP_NOTIFY: u8 = 1i32 as u8;
5701
5702/// The `xkb::MapNotify` event.
5703#[derive(Copy, Clone, Debug)]
5704#[repr(C)]
5705pub struct xcb_xkb_map_notify_event_t {
5706    pub response_type: u8,
5707    pub xkb_type: u8,
5708    pub sequence: u16,
5709    pub time: xcb_timestamp_t,
5710    pub device_id: u8,
5711    pub ptr_btn_actions: u8,
5712    pub changed: u16,
5713    pub min_key_code: xcb_keycode_t,
5714    pub max_key_code: xcb_keycode_t,
5715    pub first_type: u8,
5716    pub n_types: u8,
5717    pub first_key_sym: xcb_keycode_t,
5718    pub n_key_syms: u8,
5719    pub first_key_act: xcb_keycode_t,
5720    pub n_key_acts: u8,
5721    pub first_key_behavior: xcb_keycode_t,
5722    pub n_key_behavior: u8,
5723    pub first_key_explicit: xcb_keycode_t,
5724    pub n_key_explicit: u8,
5725    pub first_mod_map_key: xcb_keycode_t,
5726    pub n_mod_map_keys: u8,
5727    pub first_vmod_map_key: xcb_keycode_t,
5728    pub n_vmod_map_keys: u8,
5729    pub virtual_mods: u16,
5730    pub pad0: [u8; 2],
5731}
5732
5733impl Default for xcb_xkb_map_notify_event_t {
5734    fn default() -> Self {
5735        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5736    }
5737}
5738
5739/// The opcode for `xkb::StateNotify` events.
5740///
5741/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5742/// then the type of the event is [`xcb_xkb_state_notify_event_t`].
5743pub const XCB_XKB_STATE_NOTIFY: u8 = 2i32 as u8;
5744
5745/// The `xkb::StateNotify` event.
5746#[derive(Copy, Clone, Debug)]
5747#[repr(C)]
5748pub struct xcb_xkb_state_notify_event_t {
5749    pub response_type: u8,
5750    pub xkb_type: u8,
5751    pub sequence: u16,
5752    pub time: xcb_timestamp_t,
5753    pub device_id: u8,
5754    pub mods: u8,
5755    pub base_mods: u8,
5756    pub latched_mods: u8,
5757    pub locked_mods: u8,
5758    pub group: u8,
5759    pub base_group: i16,
5760    pub latched_group: i16,
5761    pub locked_group: u8,
5762    pub compat_state: u8,
5763    pub grab_mods: u8,
5764    pub compat_grab_mods: u8,
5765    pub lookup_mods: u8,
5766    pub compat_loockup_mods: u8,
5767    pub ptr_btn_state: u16,
5768    pub changed: u16,
5769    pub keycode: xcb_keycode_t,
5770    pub event_type: u8,
5771    pub request_major: u8,
5772    pub request_minor: u8,
5773}
5774
5775impl Default for xcb_xkb_state_notify_event_t {
5776    fn default() -> Self {
5777        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5778    }
5779}
5780
5781/// The opcode for `xkb::ControlsNotify` events.
5782///
5783/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5784/// then the type of the event is [`xcb_xkb_controls_notify_event_t`].
5785pub const XCB_XKB_CONTROLS_NOTIFY: u8 = 3i32 as u8;
5786
5787/// The `xkb::ControlsNotify` event.
5788#[derive(Copy, Clone, Debug)]
5789#[repr(C)]
5790pub struct xcb_xkb_controls_notify_event_t {
5791    pub response_type: u8,
5792    pub xkb_type: u8,
5793    pub sequence: u16,
5794    pub time: xcb_timestamp_t,
5795    pub device_id: u8,
5796    pub num_groups: u8,
5797    pub pad0: [u8; 2],
5798    pub changed_controls: u32,
5799    pub enabled_controls: u32,
5800    pub enabled_control_changes: u32,
5801    pub keycode: xcb_keycode_t,
5802    pub event_type: u8,
5803    pub request_major: u8,
5804    pub request_minor: u8,
5805    pub pad1: [u8; 4],
5806}
5807
5808impl Default for xcb_xkb_controls_notify_event_t {
5809    fn default() -> Self {
5810        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5811    }
5812}
5813
5814/// The opcode for `xkb::IndicatorStateNotify` events.
5815///
5816/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5817/// then the type of the event is [`xcb_xkb_indicator_state_notify_event_t`].
5818pub const XCB_XKB_INDICATOR_STATE_NOTIFY: u8 = 4i32 as u8;
5819
5820/// The `xkb::IndicatorStateNotify` event.
5821#[derive(Copy, Clone, Debug)]
5822#[repr(C)]
5823pub struct xcb_xkb_indicator_state_notify_event_t {
5824    pub response_type: u8,
5825    pub xkb_type: u8,
5826    pub sequence: u16,
5827    pub time: xcb_timestamp_t,
5828    pub device_id: u8,
5829    pub pad0: [u8; 3],
5830    pub state: u32,
5831    pub state_changed: u32,
5832    pub pad1: [u8; 12],
5833}
5834
5835impl Default for xcb_xkb_indicator_state_notify_event_t {
5836    fn default() -> Self {
5837        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5838    }
5839}
5840
5841/// The opcode for `xkb::IndicatorMapNotify` events.
5842///
5843/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5844/// then the type of the event is [`xcb_xkb_indicator_map_notify_event_t`].
5845pub const XCB_XKB_INDICATOR_MAP_NOTIFY: u8 = 5i32 as u8;
5846
5847/// The `xkb::IndicatorMapNotify` event.
5848#[derive(Copy, Clone, Debug)]
5849#[repr(C)]
5850pub struct xcb_xkb_indicator_map_notify_event_t {
5851    pub response_type: u8,
5852    pub xkb_type: u8,
5853    pub sequence: u16,
5854    pub time: xcb_timestamp_t,
5855    pub device_id: u8,
5856    pub pad0: [u8; 3],
5857    pub state: u32,
5858    pub map_changed: u32,
5859    pub pad1: [u8; 12],
5860}
5861
5862impl Default for xcb_xkb_indicator_map_notify_event_t {
5863    fn default() -> Self {
5864        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5865    }
5866}
5867
5868/// The opcode for `xkb::NamesNotify` events.
5869///
5870/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5871/// then the type of the event is [`xcb_xkb_names_notify_event_t`].
5872pub const XCB_XKB_NAMES_NOTIFY: u8 = 6i32 as u8;
5873
5874/// The `xkb::NamesNotify` event.
5875#[derive(Copy, Clone, Debug)]
5876#[repr(C)]
5877pub struct xcb_xkb_names_notify_event_t {
5878    pub response_type: u8,
5879    pub xkb_type: u8,
5880    pub sequence: u16,
5881    pub time: xcb_timestamp_t,
5882    pub device_id: u8,
5883    pub pad0: u8,
5884    pub changed: u16,
5885    pub first_type: u8,
5886    pub n_types: u8,
5887    pub first_level_name: u8,
5888    pub n_level_names: u8,
5889    pub pad1: u8,
5890    pub n_radio_groups: u8,
5891    pub n_key_aliases: u8,
5892    pub changed_group_names: u8,
5893    pub changed_virtual_mods: u16,
5894    pub first_key: xcb_keycode_t,
5895    pub n_keys: u8,
5896    pub changed_indicators: u32,
5897    pub pad2: [u8; 4],
5898}
5899
5900impl Default for xcb_xkb_names_notify_event_t {
5901    fn default() -> Self {
5902        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5903    }
5904}
5905
5906/// The opcode for `xkb::CompatMapNotify` events.
5907///
5908/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5909/// then the type of the event is [`xcb_xkb_compat_map_notify_event_t`].
5910pub const XCB_XKB_COMPAT_MAP_NOTIFY: u8 = 7i32 as u8;
5911
5912/// The `xkb::CompatMapNotify` event.
5913#[derive(Copy, Clone, Debug)]
5914#[repr(C)]
5915pub struct xcb_xkb_compat_map_notify_event_t {
5916    pub response_type: u8,
5917    pub xkb_type: u8,
5918    pub sequence: u16,
5919    pub time: xcb_timestamp_t,
5920    pub device_id: u8,
5921    pub changed_groups: u8,
5922    pub first_si: u16,
5923    pub n_si: u16,
5924    pub n_total_si: u16,
5925    pub pad0: [u8; 16],
5926}
5927
5928impl Default for xcb_xkb_compat_map_notify_event_t {
5929    fn default() -> Self {
5930        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5931    }
5932}
5933
5934/// The opcode for `xkb::BellNotify` events.
5935///
5936/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5937/// then the type of the event is [`xcb_xkb_bell_notify_event_t`].
5938pub const XCB_XKB_BELL_NOTIFY: u8 = 8i32 as u8;
5939
5940/// The `xkb::BellNotify` event.
5941#[derive(Copy, Clone, Debug)]
5942#[repr(C)]
5943pub struct xcb_xkb_bell_notify_event_t {
5944    pub response_type: u8,
5945    pub xkb_type: u8,
5946    pub sequence: u16,
5947    pub time: xcb_timestamp_t,
5948    pub device_id: u8,
5949    pub bell_class: u8,
5950    pub bell_id: u8,
5951    pub percent: u8,
5952    pub pitch: u16,
5953    pub duration: u16,
5954    pub name: xcb_atom_t,
5955    pub window: xcb_window_t,
5956    pub event_only: u8,
5957    pub pad0: [u8; 7],
5958}
5959
5960impl Default for xcb_xkb_bell_notify_event_t {
5961    fn default() -> Self {
5962        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5963    }
5964}
5965
5966/// The opcode for `xkb::ActionMessage` events.
5967///
5968/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5969/// then the type of the event is [`xcb_xkb_action_message_event_t`].
5970pub const XCB_XKB_ACTION_MESSAGE: u8 = 9i32 as u8;
5971
5972/// The `xkb::ActionMessage` event.
5973#[derive(Copy, Clone, Debug)]
5974#[repr(C)]
5975pub struct xcb_xkb_action_message_event_t {
5976    pub response_type: u8,
5977    pub xkb_type: u8,
5978    pub sequence: u16,
5979    pub time: xcb_timestamp_t,
5980    pub device_id: u8,
5981    pub keycode: xcb_keycode_t,
5982    pub press: u8,
5983    pub key_event_follows: u8,
5984    pub mods: u8,
5985    pub group: u8,
5986    pub message: [xcb_xkb_string8_t; 8],
5987    pub pad0: [u8; 10],
5988}
5989
5990impl Default for xcb_xkb_action_message_event_t {
5991    fn default() -> Self {
5992        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
5993    }
5994}
5995
5996/// The opcode for `xkb::AccessXNotify` events.
5997///
5998/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
5999/// then the type of the event is [`xcb_xkb_access_x_notify_event_t`].
6000pub const XCB_XKB_ACCESS_X_NOTIFY: u8 = 10i32 as u8;
6001
6002/// The `xkb::AccessXNotify` event.
6003#[derive(Copy, Clone, Debug)]
6004#[repr(C)]
6005pub struct xcb_xkb_access_x_notify_event_t {
6006    pub response_type: u8,
6007    pub xkb_type: u8,
6008    pub sequence: u16,
6009    pub time: xcb_timestamp_t,
6010    pub device_id: u8,
6011    pub keycode: xcb_keycode_t,
6012    pub detailt: u16,
6013    pub slow_keys_delay: u16,
6014    pub debounce_delay: u16,
6015    pub pad0: [u8; 16],
6016}
6017
6018impl Default for xcb_xkb_access_x_notify_event_t {
6019    fn default() -> Self {
6020        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
6021    }
6022}
6023
6024/// The opcode for `xkb::ExtensionDeviceNotify` events.
6025///
6026/// If this value plus the extension event base appears in [`xcb_generic_event_t::response_type`],
6027/// then the type of the event is [`xcb_xkb_extension_device_notify_event_t`].
6028pub const XCB_XKB_EXTENSION_DEVICE_NOTIFY: u8 = 11i32 as u8;
6029
6030/// The `xkb::ExtensionDeviceNotify` event.
6031#[derive(Copy, Clone, Debug)]
6032#[repr(C)]
6033pub struct xcb_xkb_extension_device_notify_event_t {
6034    pub response_type: u8,
6035    pub xkb_type: u8,
6036    pub sequence: u16,
6037    pub time: xcb_timestamp_t,
6038    pub device_id: u8,
6039    pub pad0: u8,
6040    pub reason: u16,
6041    pub led_class: u16,
6042    pub led_id: u16,
6043    pub leds_defined: u32,
6044    pub led_state: u32,
6045    pub first_button: u8,
6046    pub n_buttons: u8,
6047    pub supported: u16,
6048    pub unsupported: u16,
6049    pub pad1: [u8; 2],
6050}
6051
6052impl Default for xcb_xkb_extension_device_notify_event_t {
6053    fn default() -> Self {
6054        unsafe { std::mem::MaybeUninit::zeroed().assume_init() }
6055    }
6056}
6057
6058#[cfg(feature = "xcb_xkb")]
6059pub(crate) struct XcbXkbXkb {
6060    xcb_xkb_id: LazySymbol<*mut xcb_extension_t>,
6061    xcb_xkb_device_spec_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_device_spec_iterator_t)>,
6062    xcb_xkb_device_spec_end:
6063        LazySymbol<unsafe fn(i: xcb_xkb_device_spec_iterator_t) -> xcb_generic_iterator_t>,
6064    xcb_xkb_led_class_spec_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_led_class_spec_iterator_t)>,
6065    xcb_xkb_led_class_spec_end:
6066        LazySymbol<unsafe fn(i: xcb_xkb_led_class_spec_iterator_t) -> xcb_generic_iterator_t>,
6067    xcb_xkb_bell_class_spec_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_bell_class_spec_iterator_t)>,
6068    xcb_xkb_bell_class_spec_end:
6069        LazySymbol<unsafe fn(i: xcb_xkb_bell_class_spec_iterator_t) -> xcb_generic_iterator_t>,
6070    xcb_xkb_id_spec_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_id_spec_iterator_t)>,
6071    xcb_xkb_id_spec_end:
6072        LazySymbol<unsafe fn(i: xcb_xkb_id_spec_iterator_t) -> xcb_generic_iterator_t>,
6073    xcb_xkb_indicator_map_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_indicator_map_iterator_t)>,
6074    xcb_xkb_indicator_map_end:
6075        LazySymbol<unsafe fn(i: xcb_xkb_indicator_map_iterator_t) -> xcb_generic_iterator_t>,
6076    xcb_xkb_mod_def_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_mod_def_iterator_t)>,
6077    xcb_xkb_mod_def_end:
6078        LazySymbol<unsafe fn(i: xcb_xkb_mod_def_iterator_t) -> xcb_generic_iterator_t>,
6079    xcb_xkb_key_name_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_name_iterator_t)>,
6080    xcb_xkb_key_name_end:
6081        LazySymbol<unsafe fn(i: xcb_xkb_key_name_iterator_t) -> xcb_generic_iterator_t>,
6082    xcb_xkb_key_alias_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_alias_iterator_t)>,
6083    xcb_xkb_key_alias_end:
6084        LazySymbol<unsafe fn(i: xcb_xkb_key_alias_iterator_t) -> xcb_generic_iterator_t>,
6085    xcb_xkb_counted_string_16_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6086    xcb_xkb_counted_string_16_string:
6087        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> *mut c_char>,
6088    xcb_xkb_counted_string_16_string_length:
6089        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> c_int>,
6090    xcb_xkb_counted_string_16_string_end:
6091        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> xcb_generic_iterator_t>,
6092    xcb_xkb_counted_string_16_alignment_pad:
6093        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> *mut c_void>,
6094    xcb_xkb_counted_string_16_alignment_pad_length:
6095        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> c_int>,
6096    xcb_xkb_counted_string_16_alignment_pad_end:
6097        LazySymbol<unsafe fn(r: *const xcb_xkb_counted_string_16_t) -> xcb_generic_iterator_t>,
6098    xcb_xkb_counted_string_16_next:
6099        LazySymbol<unsafe fn(i: *mut xcb_xkb_counted_string_16_iterator_t)>,
6100    xcb_xkb_counted_string_16_end:
6101        LazySymbol<unsafe fn(i: xcb_xkb_counted_string_16_iterator_t) -> xcb_generic_iterator_t>,
6102    xcb_xkb_kt_map_entry_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_kt_map_entry_iterator_t)>,
6103    xcb_xkb_kt_map_entry_end:
6104        LazySymbol<unsafe fn(i: xcb_xkb_kt_map_entry_iterator_t) -> xcb_generic_iterator_t>,
6105    xcb_xkb_key_type_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6106    xcb_xkb_key_type_map:
6107        LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> *mut xcb_xkb_kt_map_entry_t>,
6108    xcb_xkb_key_type_map_length: LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> c_int>,
6109    xcb_xkb_key_type_map_iterator:
6110        LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> xcb_xkb_kt_map_entry_iterator_t>,
6111    xcb_xkb_key_type_preserve:
6112        LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> *mut xcb_xkb_mod_def_t>,
6113    xcb_xkb_key_type_preserve_length: LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> c_int>,
6114    xcb_xkb_key_type_preserve_iterator:
6115        LazySymbol<unsafe fn(r: *const xcb_xkb_key_type_t) -> xcb_xkb_mod_def_iterator_t>,
6116    xcb_xkb_key_type_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_type_iterator_t)>,
6117    xcb_xkb_key_type_end:
6118        LazySymbol<unsafe fn(i: xcb_xkb_key_type_iterator_t) -> xcb_generic_iterator_t>,
6119    xcb_xkb_key_sym_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6120    xcb_xkb_key_sym_map_syms:
6121        LazySymbol<unsafe fn(r: *const xcb_xkb_key_sym_map_t) -> *mut xcb_keysym_t>,
6122    xcb_xkb_key_sym_map_syms_length:
6123        LazySymbol<unsafe fn(r: *const xcb_xkb_key_sym_map_t) -> c_int>,
6124    xcb_xkb_key_sym_map_syms_end:
6125        LazySymbol<unsafe fn(r: *const xcb_xkb_key_sym_map_t) -> xcb_generic_iterator_t>,
6126    xcb_xkb_key_sym_map_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_sym_map_iterator_t)>,
6127    xcb_xkb_key_sym_map_end:
6128        LazySymbol<unsafe fn(i: xcb_xkb_key_sym_map_iterator_t) -> xcb_generic_iterator_t>,
6129    xcb_xkb_common_behavior_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_common_behavior_iterator_t)>,
6130    xcb_xkb_common_behavior_end:
6131        LazySymbol<unsafe fn(i: xcb_xkb_common_behavior_iterator_t) -> xcb_generic_iterator_t>,
6132    xcb_xkb_default_behavior_next:
6133        LazySymbol<unsafe fn(i: *mut xcb_xkb_default_behavior_iterator_t)>,
6134    xcb_xkb_default_behavior_end:
6135        LazySymbol<unsafe fn(i: xcb_xkb_default_behavior_iterator_t) -> xcb_generic_iterator_t>,
6136    xcb_xkb_lock_behavior_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_lock_behavior_iterator_t)>,
6137    xcb_xkb_lock_behavior_end:
6138        LazySymbol<unsafe fn(i: xcb_xkb_lock_behavior_iterator_t) -> xcb_generic_iterator_t>,
6139    xcb_xkb_radio_group_behavior_next:
6140        LazySymbol<unsafe fn(i: *mut xcb_xkb_radio_group_behavior_iterator_t)>,
6141    xcb_xkb_radio_group_behavior_end:
6142        LazySymbol<unsafe fn(i: xcb_xkb_radio_group_behavior_iterator_t) -> xcb_generic_iterator_t>,
6143    xcb_xkb_overlay_behavior_next:
6144        LazySymbol<unsafe fn(i: *mut xcb_xkb_overlay_behavior_iterator_t)>,
6145    xcb_xkb_overlay_behavior_end:
6146        LazySymbol<unsafe fn(i: xcb_xkb_overlay_behavior_iterator_t) -> xcb_generic_iterator_t>,
6147    xcb_xkb_permament_lock_behavior_next:
6148        LazySymbol<unsafe fn(i: *mut xcb_xkb_permament_lock_behavior_iterator_t)>,
6149    xcb_xkb_permament_lock_behavior_end: LazySymbol<
6150        unsafe fn(i: xcb_xkb_permament_lock_behavior_iterator_t) -> xcb_generic_iterator_t,
6151    >,
6152    xcb_xkb_permament_radio_group_behavior_next:
6153        LazySymbol<unsafe fn(i: *mut xcb_xkb_permament_radio_group_behavior_iterator_t)>,
6154    xcb_xkb_permament_radio_group_behavior_end: LazySymbol<
6155        unsafe fn(i: xcb_xkb_permament_radio_group_behavior_iterator_t) -> xcb_generic_iterator_t,
6156    >,
6157    xcb_xkb_permament_overlay_behavior_next:
6158        LazySymbol<unsafe fn(i: *mut xcb_xkb_permament_overlay_behavior_iterator_t)>,
6159    xcb_xkb_permament_overlay_behavior_end: LazySymbol<
6160        unsafe fn(i: xcb_xkb_permament_overlay_behavior_iterator_t) -> xcb_generic_iterator_t,
6161    >,
6162    xcb_xkb_behavior_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_behavior_iterator_t)>,
6163    xcb_xkb_behavior_end:
6164        LazySymbol<unsafe fn(i: xcb_xkb_behavior_iterator_t) -> xcb_generic_iterator_t>,
6165    xcb_xkb_set_behavior_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_set_behavior_iterator_t)>,
6166    xcb_xkb_set_behavior_end:
6167        LazySymbol<unsafe fn(i: xcb_xkb_set_behavior_iterator_t) -> xcb_generic_iterator_t>,
6168    xcb_xkb_set_explicit_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_set_explicit_iterator_t)>,
6169    xcb_xkb_set_explicit_end:
6170        LazySymbol<unsafe fn(i: xcb_xkb_set_explicit_iterator_t) -> xcb_generic_iterator_t>,
6171    xcb_xkb_key_mod_map_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_mod_map_iterator_t)>,
6172    xcb_xkb_key_mod_map_end:
6173        LazySymbol<unsafe fn(i: xcb_xkb_key_mod_map_iterator_t) -> xcb_generic_iterator_t>,
6174    xcb_xkb_key_v_mod_map_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_v_mod_map_iterator_t)>,
6175    xcb_xkb_key_v_mod_map_end:
6176        LazySymbol<unsafe fn(i: xcb_xkb_key_v_mod_map_iterator_t) -> xcb_generic_iterator_t>,
6177    xcb_xkb_kt_set_map_entry_next:
6178        LazySymbol<unsafe fn(i: *mut xcb_xkb_kt_set_map_entry_iterator_t)>,
6179    xcb_xkb_kt_set_map_entry_end:
6180        LazySymbol<unsafe fn(i: xcb_xkb_kt_set_map_entry_iterator_t) -> xcb_generic_iterator_t>,
6181    xcb_xkb_set_key_type_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6182    xcb_xkb_set_key_type_entries:
6183        LazySymbol<unsafe fn(r: *const xcb_xkb_set_key_type_t) -> *mut xcb_xkb_kt_set_map_entry_t>,
6184    xcb_xkb_set_key_type_entries_length:
6185        LazySymbol<unsafe fn(r: *const xcb_xkb_set_key_type_t) -> c_int>,
6186    xcb_xkb_set_key_type_entries_iterator: LazySymbol<
6187        unsafe fn(r: *const xcb_xkb_set_key_type_t) -> xcb_xkb_kt_set_map_entry_iterator_t,
6188    >,
6189    xcb_xkb_set_key_type_preserve_entries:
6190        LazySymbol<unsafe fn(r: *const xcb_xkb_set_key_type_t) -> *mut xcb_xkb_kt_set_map_entry_t>,
6191    xcb_xkb_set_key_type_preserve_entries_length:
6192        LazySymbol<unsafe fn(r: *const xcb_xkb_set_key_type_t) -> c_int>,
6193    xcb_xkb_set_key_type_preserve_entries_iterator: LazySymbol<
6194        unsafe fn(r: *const xcb_xkb_set_key_type_t) -> xcb_xkb_kt_set_map_entry_iterator_t,
6195    >,
6196    xcb_xkb_set_key_type_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_set_key_type_iterator_t)>,
6197    xcb_xkb_set_key_type_end:
6198        LazySymbol<unsafe fn(i: xcb_xkb_set_key_type_iterator_t) -> xcb_generic_iterator_t>,
6199    xcb_xkb_string8_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_string8_iterator_t)>,
6200    xcb_xkb_string8_end:
6201        LazySymbol<unsafe fn(i: xcb_xkb_string8_iterator_t) -> xcb_generic_iterator_t>,
6202    xcb_xkb_outline_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6203    xcb_xkb_outline_points: LazySymbol<unsafe fn(r: *const xcb_xkb_outline_t) -> *mut xcb_point_t>,
6204    xcb_xkb_outline_points_length: LazySymbol<unsafe fn(r: *const xcb_xkb_outline_t) -> c_int>,
6205    xcb_xkb_outline_points_iterator:
6206        LazySymbol<unsafe fn(r: *const xcb_xkb_outline_t) -> xcb_point_iterator_t>,
6207    xcb_xkb_outline_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_outline_iterator_t)>,
6208    xcb_xkb_outline_end:
6209        LazySymbol<unsafe fn(i: xcb_xkb_outline_iterator_t) -> xcb_generic_iterator_t>,
6210    xcb_xkb_shape_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6211    xcb_xkb_shape_outlines_length: LazySymbol<unsafe fn(r: *const xcb_xkb_shape_t) -> c_int>,
6212    xcb_xkb_shape_outlines_iterator:
6213        LazySymbol<unsafe fn(r: *const xcb_xkb_shape_t) -> xcb_xkb_outline_iterator_t>,
6214    xcb_xkb_shape_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_shape_iterator_t)>,
6215    xcb_xkb_shape_end: LazySymbol<unsafe fn(i: xcb_xkb_shape_iterator_t) -> xcb_generic_iterator_t>,
6216    xcb_xkb_key_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_key_iterator_t)>,
6217    xcb_xkb_key_end: LazySymbol<unsafe fn(i: xcb_xkb_key_iterator_t) -> xcb_generic_iterator_t>,
6218    xcb_xkb_overlay_key_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_overlay_key_iterator_t)>,
6219    xcb_xkb_overlay_key_end:
6220        LazySymbol<unsafe fn(i: xcb_xkb_overlay_key_iterator_t) -> xcb_generic_iterator_t>,
6221    xcb_xkb_overlay_row_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6222    xcb_xkb_overlay_row_keys:
6223        LazySymbol<unsafe fn(r: *const xcb_xkb_overlay_row_t) -> *mut xcb_xkb_overlay_key_t>,
6224    xcb_xkb_overlay_row_keys_length:
6225        LazySymbol<unsafe fn(r: *const xcb_xkb_overlay_row_t) -> c_int>,
6226    xcb_xkb_overlay_row_keys_iterator:
6227        LazySymbol<unsafe fn(r: *const xcb_xkb_overlay_row_t) -> xcb_xkb_overlay_key_iterator_t>,
6228    xcb_xkb_overlay_row_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_overlay_row_iterator_t)>,
6229    xcb_xkb_overlay_row_end:
6230        LazySymbol<unsafe fn(i: xcb_xkb_overlay_row_iterator_t) -> xcb_generic_iterator_t>,
6231    xcb_xkb_overlay_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6232    xcb_xkb_overlay_rows_length: LazySymbol<unsafe fn(r: *const xcb_xkb_overlay_t) -> c_int>,
6233    xcb_xkb_overlay_rows_iterator:
6234        LazySymbol<unsafe fn(r: *const xcb_xkb_overlay_t) -> xcb_xkb_overlay_row_iterator_t>,
6235    xcb_xkb_overlay_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_overlay_iterator_t)>,
6236    xcb_xkb_overlay_end:
6237        LazySymbol<unsafe fn(i: xcb_xkb_overlay_iterator_t) -> xcb_generic_iterator_t>,
6238    xcb_xkb_row_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6239    xcb_xkb_row_keys: LazySymbol<unsafe fn(r: *const xcb_xkb_row_t) -> *mut xcb_xkb_key_t>,
6240    xcb_xkb_row_keys_length: LazySymbol<unsafe fn(r: *const xcb_xkb_row_t) -> c_int>,
6241    xcb_xkb_row_keys_iterator:
6242        LazySymbol<unsafe fn(r: *const xcb_xkb_row_t) -> xcb_xkb_key_iterator_t>,
6243    xcb_xkb_row_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_row_iterator_t)>,
6244    xcb_xkb_row_end: LazySymbol<unsafe fn(i: xcb_xkb_row_iterator_t) -> xcb_generic_iterator_t>,
6245    xcb_xkb_listing_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6246    xcb_xkb_listing_string:
6247        LazySymbol<unsafe fn(r: *const xcb_xkb_listing_t) -> *mut xcb_xkb_string8_t>,
6248    xcb_xkb_listing_string_length: LazySymbol<unsafe fn(r: *const xcb_xkb_listing_t) -> c_int>,
6249    xcb_xkb_listing_string_end:
6250        LazySymbol<unsafe fn(r: *const xcb_xkb_listing_t) -> xcb_generic_iterator_t>,
6251    xcb_xkb_listing_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_listing_iterator_t)>,
6252    xcb_xkb_listing_end:
6253        LazySymbol<unsafe fn(i: xcb_xkb_listing_iterator_t) -> xcb_generic_iterator_t>,
6254    xcb_xkb_device_led_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6255    xcb_xkb_device_led_info_names:
6256        LazySymbol<unsafe fn(r: *const xcb_xkb_device_led_info_t) -> *mut xcb_atom_t>,
6257    xcb_xkb_device_led_info_names_length:
6258        LazySymbol<unsafe fn(r: *const xcb_xkb_device_led_info_t) -> c_int>,
6259    xcb_xkb_device_led_info_names_end:
6260        LazySymbol<unsafe fn(r: *const xcb_xkb_device_led_info_t) -> xcb_generic_iterator_t>,
6261    xcb_xkb_device_led_info_maps:
6262        LazySymbol<unsafe fn(r: *const xcb_xkb_device_led_info_t) -> *mut xcb_xkb_indicator_map_t>,
6263    xcb_xkb_device_led_info_maps_length:
6264        LazySymbol<unsafe fn(r: *const xcb_xkb_device_led_info_t) -> c_int>,
6265    xcb_xkb_device_led_info_maps_iterator: LazySymbol<
6266        unsafe fn(r: *const xcb_xkb_device_led_info_t) -> xcb_xkb_indicator_map_iterator_t,
6267    >,
6268    xcb_xkb_device_led_info_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_device_led_info_iterator_t)>,
6269    xcb_xkb_device_led_info_end:
6270        LazySymbol<unsafe fn(i: xcb_xkb_device_led_info_iterator_t) -> xcb_generic_iterator_t>,
6271    xcb_xkb_sa_no_action_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_no_action_iterator_t)>,
6272    xcb_xkb_sa_no_action_end:
6273        LazySymbol<unsafe fn(i: xcb_xkb_sa_no_action_iterator_t) -> xcb_generic_iterator_t>,
6274    xcb_xkb_sa_set_mods_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_set_mods_iterator_t)>,
6275    xcb_xkb_sa_set_mods_end:
6276        LazySymbol<unsafe fn(i: xcb_xkb_sa_set_mods_iterator_t) -> xcb_generic_iterator_t>,
6277    xcb_xkb_sa_latch_mods_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_latch_mods_iterator_t)>,
6278    xcb_xkb_sa_latch_mods_end:
6279        LazySymbol<unsafe fn(i: xcb_xkb_sa_latch_mods_iterator_t) -> xcb_generic_iterator_t>,
6280    xcb_xkb_sa_lock_mods_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_lock_mods_iterator_t)>,
6281    xcb_xkb_sa_lock_mods_end:
6282        LazySymbol<unsafe fn(i: xcb_xkb_sa_lock_mods_iterator_t) -> xcb_generic_iterator_t>,
6283    xcb_xkb_sa_set_group_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_set_group_iterator_t)>,
6284    xcb_xkb_sa_set_group_end:
6285        LazySymbol<unsafe fn(i: xcb_xkb_sa_set_group_iterator_t) -> xcb_generic_iterator_t>,
6286    xcb_xkb_sa_latch_group_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_latch_group_iterator_t)>,
6287    xcb_xkb_sa_latch_group_end:
6288        LazySymbol<unsafe fn(i: xcb_xkb_sa_latch_group_iterator_t) -> xcb_generic_iterator_t>,
6289    xcb_xkb_sa_lock_group_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_lock_group_iterator_t)>,
6290    xcb_xkb_sa_lock_group_end:
6291        LazySymbol<unsafe fn(i: xcb_xkb_sa_lock_group_iterator_t) -> xcb_generic_iterator_t>,
6292    xcb_xkb_sa_move_ptr_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_move_ptr_iterator_t)>,
6293    xcb_xkb_sa_move_ptr_end:
6294        LazySymbol<unsafe fn(i: xcb_xkb_sa_move_ptr_iterator_t) -> xcb_generic_iterator_t>,
6295    xcb_xkb_sa_ptr_btn_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_ptr_btn_iterator_t)>,
6296    xcb_xkb_sa_ptr_btn_end:
6297        LazySymbol<unsafe fn(i: xcb_xkb_sa_ptr_btn_iterator_t) -> xcb_generic_iterator_t>,
6298    xcb_xkb_sa_lock_ptr_btn_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_lock_ptr_btn_iterator_t)>,
6299    xcb_xkb_sa_lock_ptr_btn_end:
6300        LazySymbol<unsafe fn(i: xcb_xkb_sa_lock_ptr_btn_iterator_t) -> xcb_generic_iterator_t>,
6301    xcb_xkb_sa_set_ptr_dflt_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_set_ptr_dflt_iterator_t)>,
6302    xcb_xkb_sa_set_ptr_dflt_end:
6303        LazySymbol<unsafe fn(i: xcb_xkb_sa_set_ptr_dflt_iterator_t) -> xcb_generic_iterator_t>,
6304    xcb_xkb_sa_iso_lock_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_iso_lock_iterator_t)>,
6305    xcb_xkb_sa_iso_lock_end:
6306        LazySymbol<unsafe fn(i: xcb_xkb_sa_iso_lock_iterator_t) -> xcb_generic_iterator_t>,
6307    xcb_xkb_sa_terminate_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_terminate_iterator_t)>,
6308    xcb_xkb_sa_terminate_end:
6309        LazySymbol<unsafe fn(i: xcb_xkb_sa_terminate_iterator_t) -> xcb_generic_iterator_t>,
6310    xcb_xkb_sa_switch_screen_next:
6311        LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_switch_screen_iterator_t)>,
6312    xcb_xkb_sa_switch_screen_end:
6313        LazySymbol<unsafe fn(i: xcb_xkb_sa_switch_screen_iterator_t) -> xcb_generic_iterator_t>,
6314    xcb_xkb_sa_set_controls_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_set_controls_iterator_t)>,
6315    xcb_xkb_sa_set_controls_end:
6316        LazySymbol<unsafe fn(i: xcb_xkb_sa_set_controls_iterator_t) -> xcb_generic_iterator_t>,
6317    xcb_xkb_sa_lock_controls_next:
6318        LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_lock_controls_iterator_t)>,
6319    xcb_xkb_sa_lock_controls_end:
6320        LazySymbol<unsafe fn(i: xcb_xkb_sa_lock_controls_iterator_t) -> xcb_generic_iterator_t>,
6321    xcb_xkb_sa_action_message_next:
6322        LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_action_message_iterator_t)>,
6323    xcb_xkb_sa_action_message_end:
6324        LazySymbol<unsafe fn(i: xcb_xkb_sa_action_message_iterator_t) -> xcb_generic_iterator_t>,
6325    xcb_xkb_sa_redirect_key_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_redirect_key_iterator_t)>,
6326    xcb_xkb_sa_redirect_key_end:
6327        LazySymbol<unsafe fn(i: xcb_xkb_sa_redirect_key_iterator_t) -> xcb_generic_iterator_t>,
6328    xcb_xkb_sa_device_btn_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_device_btn_iterator_t)>,
6329    xcb_xkb_sa_device_btn_end:
6330        LazySymbol<unsafe fn(i: xcb_xkb_sa_device_btn_iterator_t) -> xcb_generic_iterator_t>,
6331    xcb_xkb_sa_lock_device_btn_next:
6332        LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_lock_device_btn_iterator_t)>,
6333    xcb_xkb_sa_lock_device_btn_end:
6334        LazySymbol<unsafe fn(i: xcb_xkb_sa_lock_device_btn_iterator_t) -> xcb_generic_iterator_t>,
6335    xcb_xkb_sa_device_valuator_next:
6336        LazySymbol<unsafe fn(i: *mut xcb_xkb_sa_device_valuator_iterator_t)>,
6337    xcb_xkb_sa_device_valuator_end:
6338        LazySymbol<unsafe fn(i: xcb_xkb_sa_device_valuator_iterator_t) -> xcb_generic_iterator_t>,
6339    xcb_xkb_si_action_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_si_action_iterator_t)>,
6340    xcb_xkb_si_action_end:
6341        LazySymbol<unsafe fn(i: xcb_xkb_si_action_iterator_t) -> xcb_generic_iterator_t>,
6342    xcb_xkb_sym_interpret_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_sym_interpret_iterator_t)>,
6343    xcb_xkb_sym_interpret_end:
6344        LazySymbol<unsafe fn(i: xcb_xkb_sym_interpret_iterator_t) -> xcb_generic_iterator_t>,
6345    xcb_xkb_action_next: LazySymbol<unsafe fn(i: *mut xcb_xkb_action_iterator_t)>,
6346    xcb_xkb_action_end:
6347        LazySymbol<unsafe fn(i: xcb_xkb_action_iterator_t) -> xcb_generic_iterator_t>,
6348    xcb_xkb_use_extension: LazySymbol<
6349        unsafe fn(
6350            c: *mut xcb_connection_t,
6351            wanted_major: u16,
6352            wanted_minor: u16,
6353        ) -> xcb_xkb_use_extension_cookie_t,
6354    >,
6355    xcb_xkb_use_extension_unchecked: LazySymbol<
6356        unsafe fn(
6357            c: *mut xcb_connection_t,
6358            wanted_major: u16,
6359            wanted_minor: u16,
6360        ) -> xcb_xkb_use_extension_cookie_t,
6361    >,
6362    xcb_xkb_use_extension_reply: LazySymbol<
6363        unsafe fn(
6364            c: *mut xcb_connection_t,
6365            cookie: xcb_xkb_use_extension_cookie_t,
6366            e: *mut *mut xcb_generic_error_t,
6367        ) -> *mut xcb_xkb_use_extension_reply_t,
6368    >,
6369    xcb_xkb_select_events_details_serialize: LazySymbol<
6370        unsafe fn(
6371            _buffer: *mut *mut c_void,
6372            affectWhich: u16,
6373            clear: u16,
6374            selectAll: u16,
6375            _aux: *const xcb_xkb_select_events_details_t,
6376        ) -> c_int,
6377    >,
6378    xcb_xkb_select_events_details_unpack: LazySymbol<
6379        unsafe fn(
6380            _buffer: *const c_void,
6381            affectWhich: u16,
6382            clear: u16,
6383            selectAll: u16,
6384            _aux: *mut xcb_xkb_select_events_details_t,
6385        ) -> c_int,
6386    >,
6387    xcb_xkb_select_events_details_sizeof: LazySymbol<
6388        unsafe fn(_buffer: *const c_void, affectWhich: u16, clear: u16, selectAll: u16) -> c_int,
6389    >,
6390    xcb_xkb_select_events_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6391    xcb_xkb_select_events_checked: LazySymbol<
6392        unsafe fn(
6393            c: *mut xcb_connection_t,
6394            device_spec: xcb_xkb_device_spec_t,
6395            affect_which: u16,
6396            clear: u16,
6397            select_all: u16,
6398            affect_map: u16,
6399            map: u16,
6400            details: *const c_void,
6401        ) -> xcb_void_cookie_t,
6402    >,
6403    xcb_xkb_select_events: LazySymbol<
6404        unsafe fn(
6405            c: *mut xcb_connection_t,
6406            device_spec: xcb_xkb_device_spec_t,
6407            affect_which: u16,
6408            clear: u16,
6409            select_all: u16,
6410            affect_map: u16,
6411            map: u16,
6412            details: *const c_void,
6413        ) -> xcb_void_cookie_t,
6414    >,
6415    xcb_xkb_select_events_aux_checked: LazySymbol<
6416        unsafe fn(
6417            c: *mut xcb_connection_t,
6418            device_spec: xcb_xkb_device_spec_t,
6419            affect_which: u16,
6420            clear: u16,
6421            select_all: u16,
6422            affect_map: u16,
6423            map: u16,
6424            details: *const xcb_xkb_select_events_details_t,
6425        ) -> xcb_void_cookie_t,
6426    >,
6427    xcb_xkb_select_events_aux: LazySymbol<
6428        unsafe fn(
6429            c: *mut xcb_connection_t,
6430            device_spec: xcb_xkb_device_spec_t,
6431            affect_which: u16,
6432            clear: u16,
6433            select_all: u16,
6434            affect_map: u16,
6435            map: u16,
6436            details: *const xcb_xkb_select_events_details_t,
6437        ) -> xcb_void_cookie_t,
6438    >,
6439    xcb_xkb_select_events_details:
6440        LazySymbol<unsafe fn(r: *const xcb_xkb_select_events_request_t) -> *mut c_void>,
6441    xcb_xkb_bell_checked: LazySymbol<
6442        unsafe fn(
6443            c: *mut xcb_connection_t,
6444            device_spec: xcb_xkb_device_spec_t,
6445            bell_class: xcb_xkb_bell_class_spec_t,
6446            bell_id: xcb_xkb_id_spec_t,
6447            percent: i8,
6448            force_sound: u8,
6449            event_only: u8,
6450            pitch: i16,
6451            duration: i16,
6452            name: xcb_atom_t,
6453            window: xcb_window_t,
6454        ) -> xcb_void_cookie_t,
6455    >,
6456    xcb_xkb_bell: LazySymbol<
6457        unsafe fn(
6458            c: *mut xcb_connection_t,
6459            device_spec: xcb_xkb_device_spec_t,
6460            bell_class: xcb_xkb_bell_class_spec_t,
6461            bell_id: xcb_xkb_id_spec_t,
6462            percent: i8,
6463            force_sound: u8,
6464            event_only: u8,
6465            pitch: i16,
6466            duration: i16,
6467            name: xcb_atom_t,
6468            window: xcb_window_t,
6469        ) -> xcb_void_cookie_t,
6470    >,
6471    xcb_xkb_get_state: LazySymbol<
6472        unsafe fn(
6473            c: *mut xcb_connection_t,
6474            device_spec: xcb_xkb_device_spec_t,
6475        ) -> xcb_xkb_get_state_cookie_t,
6476    >,
6477    xcb_xkb_get_state_unchecked: LazySymbol<
6478        unsafe fn(
6479            c: *mut xcb_connection_t,
6480            device_spec: xcb_xkb_device_spec_t,
6481        ) -> xcb_xkb_get_state_cookie_t,
6482    >,
6483    xcb_xkb_get_state_reply: LazySymbol<
6484        unsafe fn(
6485            c: *mut xcb_connection_t,
6486            cookie: xcb_xkb_get_state_cookie_t,
6487            e: *mut *mut xcb_generic_error_t,
6488        ) -> *mut xcb_xkb_get_state_reply_t,
6489    >,
6490    xcb_xkb_latch_lock_state_checked: LazySymbol<
6491        unsafe fn(
6492            c: *mut xcb_connection_t,
6493            device_spec: xcb_xkb_device_spec_t,
6494            affect_mod_locks: u8,
6495            mod_locks: u8,
6496            lock_group: u8,
6497            group_lock: u8,
6498            affect_mod_latches: u8,
6499            latch_group: u8,
6500            group_latch: u16,
6501        ) -> xcb_void_cookie_t,
6502    >,
6503    xcb_xkb_latch_lock_state: LazySymbol<
6504        unsafe fn(
6505            c: *mut xcb_connection_t,
6506            device_spec: xcb_xkb_device_spec_t,
6507            affect_mod_locks: u8,
6508            mod_locks: u8,
6509            lock_group: u8,
6510            group_lock: u8,
6511            affect_mod_latches: u8,
6512            latch_group: u8,
6513            group_latch: u16,
6514        ) -> xcb_void_cookie_t,
6515    >,
6516    xcb_xkb_get_controls: LazySymbol<
6517        unsafe fn(
6518            c: *mut xcb_connection_t,
6519            device_spec: xcb_xkb_device_spec_t,
6520        ) -> xcb_xkb_get_controls_cookie_t,
6521    >,
6522    xcb_xkb_get_controls_unchecked: LazySymbol<
6523        unsafe fn(
6524            c: *mut xcb_connection_t,
6525            device_spec: xcb_xkb_device_spec_t,
6526        ) -> xcb_xkb_get_controls_cookie_t,
6527    >,
6528    xcb_xkb_get_controls_reply: LazySymbol<
6529        unsafe fn(
6530            c: *mut xcb_connection_t,
6531            cookie: xcb_xkb_get_controls_cookie_t,
6532            e: *mut *mut xcb_generic_error_t,
6533        ) -> *mut xcb_xkb_get_controls_reply_t,
6534    >,
6535    xcb_xkb_set_controls_checked: LazySymbol<
6536        unsafe fn(
6537            c: *mut xcb_connection_t,
6538            device_spec: xcb_xkb_device_spec_t,
6539            affect_internal_real_mods: u8,
6540            internal_real_mods: u8,
6541            affect_ignore_lock_real_mods: u8,
6542            ignore_lock_real_mods: u8,
6543            affect_internal_virtual_mods: u16,
6544            internal_virtual_mods: u16,
6545            affect_ignore_lock_virtual_mods: u16,
6546            ignore_lock_virtual_mods: u16,
6547            mouse_keys_dflt_btn: u8,
6548            groups_wrap: u8,
6549            access_xoptions: u16,
6550            affect_enabled_controls: u32,
6551            enabled_controls: u32,
6552            change_controls: u32,
6553            repeat_delay: u16,
6554            repeat_interval: u16,
6555            slow_keys_delay: u16,
6556            debounce_delay: u16,
6557            mouse_keys_delay: u16,
6558            mouse_keys_interval: u16,
6559            mouse_keys_time_to_max: u16,
6560            mouse_keys_max_speed: u16,
6561            mouse_keys_curve: i16,
6562            access_xtimeout: u16,
6563            access_xtimeout_mask: u32,
6564            access_xtimeout_values: u32,
6565            access_xtimeout_options_mask: u16,
6566            access_xtimeout_options_values: u16,
6567            per_key_repeat: *const [u8; 32],
6568        ) -> xcb_void_cookie_t,
6569    >,
6570    xcb_xkb_set_controls: LazySymbol<
6571        unsafe fn(
6572            c: *mut xcb_connection_t,
6573            device_spec: xcb_xkb_device_spec_t,
6574            affect_internal_real_mods: u8,
6575            internal_real_mods: u8,
6576            affect_ignore_lock_real_mods: u8,
6577            ignore_lock_real_mods: u8,
6578            affect_internal_virtual_mods: u16,
6579            internal_virtual_mods: u16,
6580            affect_ignore_lock_virtual_mods: u16,
6581            ignore_lock_virtual_mods: u16,
6582            mouse_keys_dflt_btn: u8,
6583            groups_wrap: u8,
6584            access_xoptions: u16,
6585            affect_enabled_controls: u32,
6586            enabled_controls: u32,
6587            change_controls: u32,
6588            repeat_delay: u16,
6589            repeat_interval: u16,
6590            slow_keys_delay: u16,
6591            debounce_delay: u16,
6592            mouse_keys_delay: u16,
6593            mouse_keys_interval: u16,
6594            mouse_keys_time_to_max: u16,
6595            mouse_keys_max_speed: u16,
6596            mouse_keys_curve: i16,
6597            access_xtimeout: u16,
6598            access_xtimeout_mask: u32,
6599            access_xtimeout_values: u32,
6600            access_xtimeout_options_mask: u16,
6601            access_xtimeout_options_values: u16,
6602            per_key_repeat: *const [u8; 32],
6603        ) -> xcb_void_cookie_t,
6604    >,
6605    xcb_xkb_get_map_map_types_rtrn_length: LazySymbol<
6606        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6607    >,
6608    xcb_xkb_get_map_map_types_rtrn_iterator: LazySymbol<
6609        unsafe fn(
6610            r: *const xcb_xkb_get_map_reply_t,
6611            s: *const xcb_xkb_get_map_map_t,
6612        ) -> xcb_xkb_key_type_iterator_t,
6613    >,
6614    xcb_xkb_get_map_map_syms_rtrn_length: LazySymbol<
6615        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6616    >,
6617    xcb_xkb_get_map_map_syms_rtrn_iterator: LazySymbol<
6618        unsafe fn(
6619            r: *const xcb_xkb_get_map_reply_t,
6620            s: *const xcb_xkb_get_map_map_t,
6621        ) -> xcb_xkb_key_sym_map_iterator_t,
6622    >,
6623    xcb_xkb_get_map_map_acts_rtrn_count:
6624        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut u8>,
6625    xcb_xkb_get_map_map_acts_rtrn_count_length: LazySymbol<
6626        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6627    >,
6628    xcb_xkb_get_map_map_acts_rtrn_count_end: LazySymbol<
6629        unsafe fn(
6630            r: *const xcb_xkb_get_map_reply_t,
6631            s: *const xcb_xkb_get_map_map_t,
6632        ) -> xcb_generic_iterator_t,
6633    >,
6634    xcb_xkb_get_map_map_acts_rtrn_acts:
6635        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut xcb_xkb_action_t>,
6636    xcb_xkb_get_map_map_acts_rtrn_acts_length: LazySymbol<
6637        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6638    >,
6639    xcb_xkb_get_map_map_acts_rtrn_acts_iterator: LazySymbol<
6640        unsafe fn(
6641            r: *const xcb_xkb_get_map_reply_t,
6642            s: *const xcb_xkb_get_map_map_t,
6643        ) -> xcb_xkb_action_iterator_t,
6644    >,
6645    xcb_xkb_get_map_map_behaviors_rtrn:
6646        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut xcb_xkb_set_behavior_t>,
6647    xcb_xkb_get_map_map_behaviors_rtrn_length: LazySymbol<
6648        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6649    >,
6650    xcb_xkb_get_map_map_behaviors_rtrn_iterator: LazySymbol<
6651        unsafe fn(
6652            r: *const xcb_xkb_get_map_reply_t,
6653            s: *const xcb_xkb_get_map_map_t,
6654        ) -> xcb_xkb_set_behavior_iterator_t,
6655    >,
6656    xcb_xkb_get_map_map_vmods_rtrn:
6657        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut u8>,
6658    xcb_xkb_get_map_map_vmods_rtrn_length: LazySymbol<
6659        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6660    >,
6661    xcb_xkb_get_map_map_vmods_rtrn_end: LazySymbol<
6662        unsafe fn(
6663            r: *const xcb_xkb_get_map_reply_t,
6664            s: *const xcb_xkb_get_map_map_t,
6665        ) -> xcb_generic_iterator_t,
6666    >,
6667    xcb_xkb_get_map_map_explicit_rtrn:
6668        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut xcb_xkb_set_explicit_t>,
6669    xcb_xkb_get_map_map_explicit_rtrn_length: LazySymbol<
6670        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6671    >,
6672    xcb_xkb_get_map_map_explicit_rtrn_iterator: LazySymbol<
6673        unsafe fn(
6674            r: *const xcb_xkb_get_map_reply_t,
6675            s: *const xcb_xkb_get_map_map_t,
6676        ) -> xcb_xkb_set_explicit_iterator_t,
6677    >,
6678    xcb_xkb_get_map_map_modmap_rtrn:
6679        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut xcb_xkb_key_mod_map_t>,
6680    xcb_xkb_get_map_map_modmap_rtrn_length: LazySymbol<
6681        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6682    >,
6683    xcb_xkb_get_map_map_modmap_rtrn_iterator: LazySymbol<
6684        unsafe fn(
6685            r: *const xcb_xkb_get_map_reply_t,
6686            s: *const xcb_xkb_get_map_map_t,
6687        ) -> xcb_xkb_key_mod_map_iterator_t,
6688    >,
6689    xcb_xkb_get_map_map_vmodmap_rtrn:
6690        LazySymbol<unsafe fn(s: *const xcb_xkb_get_map_map_t) -> *mut xcb_xkb_key_v_mod_map_t>,
6691    xcb_xkb_get_map_map_vmodmap_rtrn_length: LazySymbol<
6692        unsafe fn(r: *const xcb_xkb_get_map_reply_t, s: *const xcb_xkb_get_map_map_t) -> c_int,
6693    >,
6694    xcb_xkb_get_map_map_vmodmap_rtrn_iterator: LazySymbol<
6695        unsafe fn(
6696            r: *const xcb_xkb_get_map_reply_t,
6697            s: *const xcb_xkb_get_map_map_t,
6698        ) -> xcb_xkb_key_v_mod_map_iterator_t,
6699    >,
6700    xcb_xkb_get_map_map_serialize: LazySymbol<
6701        unsafe fn(
6702            _buffer: *mut *mut c_void,
6703            nTypes: u8,
6704            nKeySyms: u8,
6705            nKeyActions: u8,
6706            totalActions: u16,
6707            totalKeyBehaviors: u8,
6708            virtualMods: u16,
6709            totalKeyExplicit: u8,
6710            totalModMapKeys: u8,
6711            totalVModMapKeys: u8,
6712            present: u16,
6713            _aux: *const xcb_xkb_get_map_map_t,
6714        ) -> c_int,
6715    >,
6716    xcb_xkb_get_map_map_unpack: LazySymbol<
6717        unsafe fn(
6718            _buffer: *const c_void,
6719            nTypes: u8,
6720            nKeySyms: u8,
6721            nKeyActions: u8,
6722            totalActions: u16,
6723            totalKeyBehaviors: u8,
6724            virtualMods: u16,
6725            totalKeyExplicit: u8,
6726            totalModMapKeys: u8,
6727            totalVModMapKeys: u8,
6728            present: u16,
6729            _aux: *mut xcb_xkb_get_map_map_t,
6730        ) -> c_int,
6731    >,
6732    xcb_xkb_get_map_map_sizeof: LazySymbol<
6733        unsafe fn(
6734            _buffer: *const c_void,
6735            nTypes: u8,
6736            nKeySyms: u8,
6737            nKeyActions: u8,
6738            totalActions: u16,
6739            totalKeyBehaviors: u8,
6740            virtualMods: u16,
6741            totalKeyExplicit: u8,
6742            totalModMapKeys: u8,
6743            totalVModMapKeys: u8,
6744            present: u16,
6745        ) -> c_int,
6746    >,
6747    xcb_xkb_get_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6748    xcb_xkb_get_map: LazySymbol<
6749        unsafe fn(
6750            c: *mut xcb_connection_t,
6751            device_spec: xcb_xkb_device_spec_t,
6752            full: u16,
6753            partial: u16,
6754            first_type: u8,
6755            n_types: u8,
6756            first_key_sym: xcb_keycode_t,
6757            n_key_syms: u8,
6758            first_key_action: xcb_keycode_t,
6759            n_key_actions: u8,
6760            first_key_behavior: xcb_keycode_t,
6761            n_key_behaviors: u8,
6762            virtual_mods: u16,
6763            first_key_explicit: xcb_keycode_t,
6764            n_key_explicit: u8,
6765            first_mod_map_key: xcb_keycode_t,
6766            n_mod_map_keys: u8,
6767            first_vmod_map_key: xcb_keycode_t,
6768            n_vmod_map_keys: u8,
6769        ) -> xcb_xkb_get_map_cookie_t,
6770    >,
6771    xcb_xkb_get_map_unchecked: LazySymbol<
6772        unsafe fn(
6773            c: *mut xcb_connection_t,
6774            device_spec: xcb_xkb_device_spec_t,
6775            full: u16,
6776            partial: u16,
6777            first_type: u8,
6778            n_types: u8,
6779            first_key_sym: xcb_keycode_t,
6780            n_key_syms: u8,
6781            first_key_action: xcb_keycode_t,
6782            n_key_actions: u8,
6783            first_key_behavior: xcb_keycode_t,
6784            n_key_behaviors: u8,
6785            virtual_mods: u16,
6786            first_key_explicit: xcb_keycode_t,
6787            n_key_explicit: u8,
6788            first_mod_map_key: xcb_keycode_t,
6789            n_mod_map_keys: u8,
6790            first_vmod_map_key: xcb_keycode_t,
6791            n_vmod_map_keys: u8,
6792        ) -> xcb_xkb_get_map_cookie_t,
6793    >,
6794    xcb_xkb_get_map_map: LazySymbol<unsafe fn(r: *const xcb_xkb_get_map_reply_t) -> *mut c_void>,
6795    xcb_xkb_get_map_reply: LazySymbol<
6796        unsafe fn(
6797            c: *mut xcb_connection_t,
6798            cookie: xcb_xkb_get_map_cookie_t,
6799            e: *mut *mut xcb_generic_error_t,
6800        ) -> *mut xcb_xkb_get_map_reply_t,
6801    >,
6802    xcb_xkb_set_map_values_types_length: LazySymbol<
6803        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6804    >,
6805    xcb_xkb_set_map_values_types_iterator: LazySymbol<
6806        unsafe fn(
6807            r: *const xcb_xkb_set_map_request_t,
6808            s: *const xcb_xkb_set_map_values_t,
6809        ) -> xcb_xkb_set_key_type_iterator_t,
6810    >,
6811    xcb_xkb_set_map_values_syms_length: LazySymbol<
6812        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6813    >,
6814    xcb_xkb_set_map_values_syms_iterator: LazySymbol<
6815        unsafe fn(
6816            r: *const xcb_xkb_set_map_request_t,
6817            s: *const xcb_xkb_set_map_values_t,
6818        ) -> xcb_xkb_key_sym_map_iterator_t,
6819    >,
6820    xcb_xkb_set_map_values_actions_count:
6821        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut u8>,
6822    xcb_xkb_set_map_values_actions_count_length: LazySymbol<
6823        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6824    >,
6825    xcb_xkb_set_map_values_actions_count_end: LazySymbol<
6826        unsafe fn(
6827            r: *const xcb_xkb_set_map_request_t,
6828            s: *const xcb_xkb_set_map_values_t,
6829        ) -> xcb_generic_iterator_t,
6830    >,
6831    xcb_xkb_set_map_values_actions:
6832        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut xcb_xkb_action_t>,
6833    xcb_xkb_set_map_values_actions_length: LazySymbol<
6834        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6835    >,
6836    xcb_xkb_set_map_values_actions_iterator: LazySymbol<
6837        unsafe fn(
6838            r: *const xcb_xkb_set_map_request_t,
6839            s: *const xcb_xkb_set_map_values_t,
6840        ) -> xcb_xkb_action_iterator_t,
6841    >,
6842    xcb_xkb_set_map_values_behaviors:
6843        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut xcb_xkb_set_behavior_t>,
6844    xcb_xkb_set_map_values_behaviors_length: LazySymbol<
6845        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6846    >,
6847    xcb_xkb_set_map_values_behaviors_iterator: LazySymbol<
6848        unsafe fn(
6849            r: *const xcb_xkb_set_map_request_t,
6850            s: *const xcb_xkb_set_map_values_t,
6851        ) -> xcb_xkb_set_behavior_iterator_t,
6852    >,
6853    xcb_xkb_set_map_values_vmods:
6854        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut u8>,
6855    xcb_xkb_set_map_values_vmods_length: LazySymbol<
6856        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6857    >,
6858    xcb_xkb_set_map_values_vmods_end: LazySymbol<
6859        unsafe fn(
6860            r: *const xcb_xkb_set_map_request_t,
6861            s: *const xcb_xkb_set_map_values_t,
6862        ) -> xcb_generic_iterator_t,
6863    >,
6864    xcb_xkb_set_map_values_explicit:
6865        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut xcb_xkb_set_explicit_t>,
6866    xcb_xkb_set_map_values_explicit_length: LazySymbol<
6867        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6868    >,
6869    xcb_xkb_set_map_values_explicit_iterator: LazySymbol<
6870        unsafe fn(
6871            r: *const xcb_xkb_set_map_request_t,
6872            s: *const xcb_xkb_set_map_values_t,
6873        ) -> xcb_xkb_set_explicit_iterator_t,
6874    >,
6875    xcb_xkb_set_map_values_modmap:
6876        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut xcb_xkb_key_mod_map_t>,
6877    xcb_xkb_set_map_values_modmap_length: LazySymbol<
6878        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6879    >,
6880    xcb_xkb_set_map_values_modmap_iterator: LazySymbol<
6881        unsafe fn(
6882            r: *const xcb_xkb_set_map_request_t,
6883            s: *const xcb_xkb_set_map_values_t,
6884        ) -> xcb_xkb_key_mod_map_iterator_t,
6885    >,
6886    xcb_xkb_set_map_values_vmodmap:
6887        LazySymbol<unsafe fn(s: *const xcb_xkb_set_map_values_t) -> *mut xcb_xkb_key_v_mod_map_t>,
6888    xcb_xkb_set_map_values_vmodmap_length: LazySymbol<
6889        unsafe fn(r: *const xcb_xkb_set_map_request_t, s: *const xcb_xkb_set_map_values_t) -> c_int,
6890    >,
6891    xcb_xkb_set_map_values_vmodmap_iterator: LazySymbol<
6892        unsafe fn(
6893            r: *const xcb_xkb_set_map_request_t,
6894            s: *const xcb_xkb_set_map_values_t,
6895        ) -> xcb_xkb_key_v_mod_map_iterator_t,
6896    >,
6897    xcb_xkb_set_map_values_serialize: LazySymbol<
6898        unsafe fn(
6899            _buffer: *mut *mut c_void,
6900            nTypes: u8,
6901            nKeySyms: u8,
6902            nKeyActions: u8,
6903            totalActions: u16,
6904            totalKeyBehaviors: u8,
6905            virtualMods: u16,
6906            totalKeyExplicit: u8,
6907            totalModMapKeys: u8,
6908            totalVModMapKeys: u8,
6909            present: u16,
6910            _aux: *const xcb_xkb_set_map_values_t,
6911        ) -> c_int,
6912    >,
6913    xcb_xkb_set_map_values_unpack: LazySymbol<
6914        unsafe fn(
6915            _buffer: *const c_void,
6916            nTypes: u8,
6917            nKeySyms: u8,
6918            nKeyActions: u8,
6919            totalActions: u16,
6920            totalKeyBehaviors: u8,
6921            virtualMods: u16,
6922            totalKeyExplicit: u8,
6923            totalModMapKeys: u8,
6924            totalVModMapKeys: u8,
6925            present: u16,
6926            _aux: *mut xcb_xkb_set_map_values_t,
6927        ) -> c_int,
6928    >,
6929    xcb_xkb_set_map_values_sizeof: LazySymbol<
6930        unsafe fn(
6931            _buffer: *const c_void,
6932            nTypes: u8,
6933            nKeySyms: u8,
6934            nKeyActions: u8,
6935            totalActions: u16,
6936            totalKeyBehaviors: u8,
6937            virtualMods: u16,
6938            totalKeyExplicit: u8,
6939            totalModMapKeys: u8,
6940            totalVModMapKeys: u8,
6941            present: u16,
6942        ) -> c_int,
6943    >,
6944    xcb_xkb_set_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
6945    xcb_xkb_set_map_checked: LazySymbol<
6946        unsafe fn(
6947            c: *mut xcb_connection_t,
6948            device_spec: xcb_xkb_device_spec_t,
6949            present: u16,
6950            flags: u16,
6951            min_key_code: xcb_keycode_t,
6952            max_key_code: xcb_keycode_t,
6953            first_type: u8,
6954            n_types: u8,
6955            first_key_sym: xcb_keycode_t,
6956            n_key_syms: u8,
6957            total_syms: u16,
6958            first_key_action: xcb_keycode_t,
6959            n_key_actions: u8,
6960            total_actions: u16,
6961            first_key_behavior: xcb_keycode_t,
6962            n_key_behaviors: u8,
6963            total_key_behaviors: u8,
6964            first_key_explicit: xcb_keycode_t,
6965            n_key_explicit: u8,
6966            total_key_explicit: u8,
6967            first_mod_map_key: xcb_keycode_t,
6968            n_mod_map_keys: u8,
6969            total_mod_map_keys: u8,
6970            first_vmod_map_key: xcb_keycode_t,
6971            n_vmod_map_keys: u8,
6972            total_vmod_map_keys: u8,
6973            virtual_mods: u16,
6974            values: *const c_void,
6975        ) -> xcb_void_cookie_t,
6976    >,
6977    xcb_xkb_set_map: LazySymbol<
6978        unsafe fn(
6979            c: *mut xcb_connection_t,
6980            device_spec: xcb_xkb_device_spec_t,
6981            present: u16,
6982            flags: u16,
6983            min_key_code: xcb_keycode_t,
6984            max_key_code: xcb_keycode_t,
6985            first_type: u8,
6986            n_types: u8,
6987            first_key_sym: xcb_keycode_t,
6988            n_key_syms: u8,
6989            total_syms: u16,
6990            first_key_action: xcb_keycode_t,
6991            n_key_actions: u8,
6992            total_actions: u16,
6993            first_key_behavior: xcb_keycode_t,
6994            n_key_behaviors: u8,
6995            total_key_behaviors: u8,
6996            first_key_explicit: xcb_keycode_t,
6997            n_key_explicit: u8,
6998            total_key_explicit: u8,
6999            first_mod_map_key: xcb_keycode_t,
7000            n_mod_map_keys: u8,
7001            total_mod_map_keys: u8,
7002            first_vmod_map_key: xcb_keycode_t,
7003            n_vmod_map_keys: u8,
7004            total_vmod_map_keys: u8,
7005            virtual_mods: u16,
7006            values: *const c_void,
7007        ) -> xcb_void_cookie_t,
7008    >,
7009    xcb_xkb_set_map_aux_checked: LazySymbol<
7010        unsafe fn(
7011            c: *mut xcb_connection_t,
7012            device_spec: xcb_xkb_device_spec_t,
7013            present: u16,
7014            flags: u16,
7015            min_key_code: xcb_keycode_t,
7016            max_key_code: xcb_keycode_t,
7017            first_type: u8,
7018            n_types: u8,
7019            first_key_sym: xcb_keycode_t,
7020            n_key_syms: u8,
7021            total_syms: u16,
7022            first_key_action: xcb_keycode_t,
7023            n_key_actions: u8,
7024            total_actions: u16,
7025            first_key_behavior: xcb_keycode_t,
7026            n_key_behaviors: u8,
7027            total_key_behaviors: u8,
7028            first_key_explicit: xcb_keycode_t,
7029            n_key_explicit: u8,
7030            total_key_explicit: u8,
7031            first_mod_map_key: xcb_keycode_t,
7032            n_mod_map_keys: u8,
7033            total_mod_map_keys: u8,
7034            first_vmod_map_key: xcb_keycode_t,
7035            n_vmod_map_keys: u8,
7036            total_vmod_map_keys: u8,
7037            virtual_mods: u16,
7038            values: *const xcb_xkb_set_map_values_t,
7039        ) -> xcb_void_cookie_t,
7040    >,
7041    xcb_xkb_set_map_aux: LazySymbol<
7042        unsafe fn(
7043            c: *mut xcb_connection_t,
7044            device_spec: xcb_xkb_device_spec_t,
7045            present: u16,
7046            flags: u16,
7047            min_key_code: xcb_keycode_t,
7048            max_key_code: xcb_keycode_t,
7049            first_type: u8,
7050            n_types: u8,
7051            first_key_sym: xcb_keycode_t,
7052            n_key_syms: u8,
7053            total_syms: u16,
7054            first_key_action: xcb_keycode_t,
7055            n_key_actions: u8,
7056            total_actions: u16,
7057            first_key_behavior: xcb_keycode_t,
7058            n_key_behaviors: u8,
7059            total_key_behaviors: u8,
7060            first_key_explicit: xcb_keycode_t,
7061            n_key_explicit: u8,
7062            total_key_explicit: u8,
7063            first_mod_map_key: xcb_keycode_t,
7064            n_mod_map_keys: u8,
7065            total_mod_map_keys: u8,
7066            first_vmod_map_key: xcb_keycode_t,
7067            n_vmod_map_keys: u8,
7068            total_vmod_map_keys: u8,
7069            virtual_mods: u16,
7070            values: *const xcb_xkb_set_map_values_t,
7071        ) -> xcb_void_cookie_t,
7072    >,
7073    xcb_xkb_set_map_values:
7074        LazySymbol<unsafe fn(r: *const xcb_xkb_set_map_request_t) -> *mut c_void>,
7075    xcb_xkb_get_compat_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7076    xcb_xkb_get_compat_map: LazySymbol<
7077        unsafe fn(
7078            c: *mut xcb_connection_t,
7079            device_spec: xcb_xkb_device_spec_t,
7080            groups: u8,
7081            get_all_si: u8,
7082            first_si: u16,
7083            n_si: u16,
7084        ) -> xcb_xkb_get_compat_map_cookie_t,
7085    >,
7086    xcb_xkb_get_compat_map_unchecked: LazySymbol<
7087        unsafe fn(
7088            c: *mut xcb_connection_t,
7089            device_spec: xcb_xkb_device_spec_t,
7090            groups: u8,
7091            get_all_si: u8,
7092            first_si: u16,
7093            n_si: u16,
7094        ) -> xcb_xkb_get_compat_map_cookie_t,
7095    >,
7096    xcb_xkb_get_compat_map_si_rtrn: LazySymbol<
7097        unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> *mut xcb_xkb_sym_interpret_t,
7098    >,
7099    xcb_xkb_get_compat_map_si_rtrn_length:
7100        LazySymbol<unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> c_int>,
7101    xcb_xkb_get_compat_map_si_rtrn_iterator: LazySymbol<
7102        unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> xcb_xkb_sym_interpret_iterator_t,
7103    >,
7104    xcb_xkb_get_compat_map_group_rtrn:
7105        LazySymbol<unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> *mut xcb_xkb_mod_def_t>,
7106    xcb_xkb_get_compat_map_group_rtrn_length:
7107        LazySymbol<unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> c_int>,
7108    xcb_xkb_get_compat_map_group_rtrn_iterator: LazySymbol<
7109        unsafe fn(r: *const xcb_xkb_get_compat_map_reply_t) -> xcb_xkb_mod_def_iterator_t,
7110    >,
7111    xcb_xkb_get_compat_map_reply: LazySymbol<
7112        unsafe fn(
7113            c: *mut xcb_connection_t,
7114            cookie: xcb_xkb_get_compat_map_cookie_t,
7115            e: *mut *mut xcb_generic_error_t,
7116        ) -> *mut xcb_xkb_get_compat_map_reply_t,
7117    >,
7118    xcb_xkb_set_compat_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7119    xcb_xkb_set_compat_map_checked: LazySymbol<
7120        unsafe fn(
7121            c: *mut xcb_connection_t,
7122            device_spec: xcb_xkb_device_spec_t,
7123            recompute_actions: u8,
7124            truncate_si: u8,
7125            groups: u8,
7126            first_si: u16,
7127            n_si: u16,
7128            si: *const xcb_xkb_sym_interpret_t,
7129            group_maps: *const xcb_xkb_mod_def_t,
7130        ) -> xcb_void_cookie_t,
7131    >,
7132    xcb_xkb_set_compat_map: LazySymbol<
7133        unsafe fn(
7134            c: *mut xcb_connection_t,
7135            device_spec: xcb_xkb_device_spec_t,
7136            recompute_actions: u8,
7137            truncate_si: u8,
7138            groups: u8,
7139            first_si: u16,
7140            n_si: u16,
7141            si: *const xcb_xkb_sym_interpret_t,
7142            group_maps: *const xcb_xkb_mod_def_t,
7143        ) -> xcb_void_cookie_t,
7144    >,
7145    xcb_xkb_set_compat_map_si: LazySymbol<
7146        unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> *mut xcb_xkb_sym_interpret_t,
7147    >,
7148    xcb_xkb_set_compat_map_si_length:
7149        LazySymbol<unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> c_int>,
7150    xcb_xkb_set_compat_map_si_iterator: LazySymbol<
7151        unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> xcb_xkb_sym_interpret_iterator_t,
7152    >,
7153    xcb_xkb_set_compat_map_group_maps:
7154        LazySymbol<unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> *mut xcb_xkb_mod_def_t>,
7155    xcb_xkb_set_compat_map_group_maps_length:
7156        LazySymbol<unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> c_int>,
7157    xcb_xkb_set_compat_map_group_maps_iterator: LazySymbol<
7158        unsafe fn(r: *const xcb_xkb_set_compat_map_request_t) -> xcb_xkb_mod_def_iterator_t,
7159    >,
7160    xcb_xkb_get_indicator_state: LazySymbol<
7161        unsafe fn(
7162            c: *mut xcb_connection_t,
7163            device_spec: xcb_xkb_device_spec_t,
7164        ) -> xcb_xkb_get_indicator_state_cookie_t,
7165    >,
7166    xcb_xkb_get_indicator_state_unchecked: LazySymbol<
7167        unsafe fn(
7168            c: *mut xcb_connection_t,
7169            device_spec: xcb_xkb_device_spec_t,
7170        ) -> xcb_xkb_get_indicator_state_cookie_t,
7171    >,
7172    xcb_xkb_get_indicator_state_reply: LazySymbol<
7173        unsafe fn(
7174            c: *mut xcb_connection_t,
7175            cookie: xcb_xkb_get_indicator_state_cookie_t,
7176            e: *mut *mut xcb_generic_error_t,
7177        ) -> *mut xcb_xkb_get_indicator_state_reply_t,
7178    >,
7179    xcb_xkb_get_indicator_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7180    xcb_xkb_get_indicator_map: LazySymbol<
7181        unsafe fn(
7182            c: *mut xcb_connection_t,
7183            device_spec: xcb_xkb_device_spec_t,
7184            which: u32,
7185        ) -> xcb_xkb_get_indicator_map_cookie_t,
7186    >,
7187    xcb_xkb_get_indicator_map_unchecked: LazySymbol<
7188        unsafe fn(
7189            c: *mut xcb_connection_t,
7190            device_spec: xcb_xkb_device_spec_t,
7191            which: u32,
7192        ) -> xcb_xkb_get_indicator_map_cookie_t,
7193    >,
7194    xcb_xkb_get_indicator_map_maps: LazySymbol<
7195        unsafe fn(r: *const xcb_xkb_get_indicator_map_reply_t) -> *mut xcb_xkb_indicator_map_t,
7196    >,
7197    xcb_xkb_get_indicator_map_maps_length:
7198        LazySymbol<unsafe fn(r: *const xcb_xkb_get_indicator_map_reply_t) -> c_int>,
7199    xcb_xkb_get_indicator_map_maps_iterator: LazySymbol<
7200        unsafe fn(r: *const xcb_xkb_get_indicator_map_reply_t) -> xcb_xkb_indicator_map_iterator_t,
7201    >,
7202    xcb_xkb_get_indicator_map_reply: LazySymbol<
7203        unsafe fn(
7204            c: *mut xcb_connection_t,
7205            cookie: xcb_xkb_get_indicator_map_cookie_t,
7206            e: *mut *mut xcb_generic_error_t,
7207        ) -> *mut xcb_xkb_get_indicator_map_reply_t,
7208    >,
7209    xcb_xkb_set_indicator_map_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7210    xcb_xkb_set_indicator_map_checked: LazySymbol<
7211        unsafe fn(
7212            c: *mut xcb_connection_t,
7213            device_spec: xcb_xkb_device_spec_t,
7214            which: u32,
7215            maps: *const xcb_xkb_indicator_map_t,
7216        ) -> xcb_void_cookie_t,
7217    >,
7218    xcb_xkb_set_indicator_map: LazySymbol<
7219        unsafe fn(
7220            c: *mut xcb_connection_t,
7221            device_spec: xcb_xkb_device_spec_t,
7222            which: u32,
7223            maps: *const xcb_xkb_indicator_map_t,
7224        ) -> xcb_void_cookie_t,
7225    >,
7226    xcb_xkb_set_indicator_map_maps: LazySymbol<
7227        unsafe fn(r: *const xcb_xkb_set_indicator_map_request_t) -> *mut xcb_xkb_indicator_map_t,
7228    >,
7229    xcb_xkb_set_indicator_map_maps_length:
7230        LazySymbol<unsafe fn(r: *const xcb_xkb_set_indicator_map_request_t) -> c_int>,
7231    xcb_xkb_set_indicator_map_maps_iterator: LazySymbol<
7232        unsafe fn(
7233            r: *const xcb_xkb_set_indicator_map_request_t,
7234        ) -> xcb_xkb_indicator_map_iterator_t,
7235    >,
7236    xcb_xkb_get_named_indicator: LazySymbol<
7237        unsafe fn(
7238            c: *mut xcb_connection_t,
7239            device_spec: xcb_xkb_device_spec_t,
7240            led_class: xcb_xkb_led_class_spec_t,
7241            led_id: xcb_xkb_id_spec_t,
7242            indicator: xcb_atom_t,
7243        ) -> xcb_xkb_get_named_indicator_cookie_t,
7244    >,
7245    xcb_xkb_get_named_indicator_unchecked: LazySymbol<
7246        unsafe fn(
7247            c: *mut xcb_connection_t,
7248            device_spec: xcb_xkb_device_spec_t,
7249            led_class: xcb_xkb_led_class_spec_t,
7250            led_id: xcb_xkb_id_spec_t,
7251            indicator: xcb_atom_t,
7252        ) -> xcb_xkb_get_named_indicator_cookie_t,
7253    >,
7254    xcb_xkb_get_named_indicator_reply: LazySymbol<
7255        unsafe fn(
7256            c: *mut xcb_connection_t,
7257            cookie: xcb_xkb_get_named_indicator_cookie_t,
7258            e: *mut *mut xcb_generic_error_t,
7259        ) -> *mut xcb_xkb_get_named_indicator_reply_t,
7260    >,
7261    xcb_xkb_set_named_indicator_checked: LazySymbol<
7262        unsafe fn(
7263            c: *mut xcb_connection_t,
7264            device_spec: xcb_xkb_device_spec_t,
7265            led_class: xcb_xkb_led_class_spec_t,
7266            led_id: xcb_xkb_id_spec_t,
7267            indicator: xcb_atom_t,
7268            set_state: u8,
7269            on: u8,
7270            set_map: u8,
7271            create_map: u8,
7272            map_flags: u8,
7273            map_which_groups: u8,
7274            map_groups: u8,
7275            map_which_mods: u8,
7276            map_real_mods: u8,
7277            map_vmods: u16,
7278            map_ctrls: u32,
7279        ) -> xcb_void_cookie_t,
7280    >,
7281    xcb_xkb_set_named_indicator: LazySymbol<
7282        unsafe fn(
7283            c: *mut xcb_connection_t,
7284            device_spec: xcb_xkb_device_spec_t,
7285            led_class: xcb_xkb_led_class_spec_t,
7286            led_id: xcb_xkb_id_spec_t,
7287            indicator: xcb_atom_t,
7288            set_state: u8,
7289            on: u8,
7290            set_map: u8,
7291            create_map: u8,
7292            map_flags: u8,
7293            map_which_groups: u8,
7294            map_groups: u8,
7295            map_which_mods: u8,
7296            map_real_mods: u8,
7297            map_vmods: u16,
7298            map_ctrls: u32,
7299        ) -> xcb_void_cookie_t,
7300    >,
7301    xcb_xkb_get_names_value_list_type_names:
7302        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7303    xcb_xkb_get_names_value_list_type_names_length: LazySymbol<
7304        unsafe fn(
7305            r: *const xcb_xkb_get_names_reply_t,
7306            s: *const xcb_xkb_get_names_value_list_t,
7307        ) -> c_int,
7308    >,
7309    xcb_xkb_get_names_value_list_type_names_end: LazySymbol<
7310        unsafe fn(
7311            r: *const xcb_xkb_get_names_reply_t,
7312            s: *const xcb_xkb_get_names_value_list_t,
7313        ) -> xcb_generic_iterator_t,
7314    >,
7315    xcb_xkb_get_names_value_list_n_levels_per_type:
7316        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut u8>,
7317    xcb_xkb_get_names_value_list_n_levels_per_type_length: LazySymbol<
7318        unsafe fn(
7319            r: *const xcb_xkb_get_names_reply_t,
7320            s: *const xcb_xkb_get_names_value_list_t,
7321        ) -> c_int,
7322    >,
7323    xcb_xkb_get_names_value_list_n_levels_per_type_end: LazySymbol<
7324        unsafe fn(
7325            r: *const xcb_xkb_get_names_reply_t,
7326            s: *const xcb_xkb_get_names_value_list_t,
7327        ) -> xcb_generic_iterator_t,
7328    >,
7329    xcb_xkb_get_names_value_list_kt_level_names:
7330        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7331    xcb_xkb_get_names_value_list_kt_level_names_length: LazySymbol<
7332        unsafe fn(
7333            r: *const xcb_xkb_get_names_reply_t,
7334            s: *const xcb_xkb_get_names_value_list_t,
7335        ) -> c_int,
7336    >,
7337    xcb_xkb_get_names_value_list_kt_level_names_end: LazySymbol<
7338        unsafe fn(
7339            r: *const xcb_xkb_get_names_reply_t,
7340            s: *const xcb_xkb_get_names_value_list_t,
7341        ) -> xcb_generic_iterator_t,
7342    >,
7343    xcb_xkb_get_names_value_list_indicator_names:
7344        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7345    xcb_xkb_get_names_value_list_indicator_names_length: LazySymbol<
7346        unsafe fn(
7347            r: *const xcb_xkb_get_names_reply_t,
7348            s: *const xcb_xkb_get_names_value_list_t,
7349        ) -> c_int,
7350    >,
7351    xcb_xkb_get_names_value_list_indicator_names_end: LazySymbol<
7352        unsafe fn(
7353            r: *const xcb_xkb_get_names_reply_t,
7354            s: *const xcb_xkb_get_names_value_list_t,
7355        ) -> xcb_generic_iterator_t,
7356    >,
7357    xcb_xkb_get_names_value_list_virtual_mod_names:
7358        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7359    xcb_xkb_get_names_value_list_virtual_mod_names_length: LazySymbol<
7360        unsafe fn(
7361            r: *const xcb_xkb_get_names_reply_t,
7362            s: *const xcb_xkb_get_names_value_list_t,
7363        ) -> c_int,
7364    >,
7365    xcb_xkb_get_names_value_list_virtual_mod_names_end: LazySymbol<
7366        unsafe fn(
7367            r: *const xcb_xkb_get_names_reply_t,
7368            s: *const xcb_xkb_get_names_value_list_t,
7369        ) -> xcb_generic_iterator_t,
7370    >,
7371    xcb_xkb_get_names_value_list_groups:
7372        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7373    xcb_xkb_get_names_value_list_groups_length: LazySymbol<
7374        unsafe fn(
7375            r: *const xcb_xkb_get_names_reply_t,
7376            s: *const xcb_xkb_get_names_value_list_t,
7377        ) -> c_int,
7378    >,
7379    xcb_xkb_get_names_value_list_groups_end: LazySymbol<
7380        unsafe fn(
7381            r: *const xcb_xkb_get_names_reply_t,
7382            s: *const xcb_xkb_get_names_value_list_t,
7383        ) -> xcb_generic_iterator_t,
7384    >,
7385    xcb_xkb_get_names_value_list_key_names:
7386        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_xkb_key_name_t>,
7387    xcb_xkb_get_names_value_list_key_names_length: LazySymbol<
7388        unsafe fn(
7389            r: *const xcb_xkb_get_names_reply_t,
7390            s: *const xcb_xkb_get_names_value_list_t,
7391        ) -> c_int,
7392    >,
7393    xcb_xkb_get_names_value_list_key_names_iterator: LazySymbol<
7394        unsafe fn(
7395            r: *const xcb_xkb_get_names_reply_t,
7396            s: *const xcb_xkb_get_names_value_list_t,
7397        ) -> xcb_xkb_key_name_iterator_t,
7398    >,
7399    xcb_xkb_get_names_value_list_key_aliases:
7400        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_xkb_key_alias_t>,
7401    xcb_xkb_get_names_value_list_key_aliases_length: LazySymbol<
7402        unsafe fn(
7403            r: *const xcb_xkb_get_names_reply_t,
7404            s: *const xcb_xkb_get_names_value_list_t,
7405        ) -> c_int,
7406    >,
7407    xcb_xkb_get_names_value_list_key_aliases_iterator: LazySymbol<
7408        unsafe fn(
7409            r: *const xcb_xkb_get_names_reply_t,
7410            s: *const xcb_xkb_get_names_value_list_t,
7411        ) -> xcb_xkb_key_alias_iterator_t,
7412    >,
7413    xcb_xkb_get_names_value_list_radio_group_names:
7414        LazySymbol<unsafe fn(s: *const xcb_xkb_get_names_value_list_t) -> *mut xcb_atom_t>,
7415    xcb_xkb_get_names_value_list_radio_group_names_length: LazySymbol<
7416        unsafe fn(
7417            r: *const xcb_xkb_get_names_reply_t,
7418            s: *const xcb_xkb_get_names_value_list_t,
7419        ) -> c_int,
7420    >,
7421    xcb_xkb_get_names_value_list_radio_group_names_end: LazySymbol<
7422        unsafe fn(
7423            r: *const xcb_xkb_get_names_reply_t,
7424            s: *const xcb_xkb_get_names_value_list_t,
7425        ) -> xcb_generic_iterator_t,
7426    >,
7427    xcb_xkb_get_names_value_list_serialize: LazySymbol<
7428        unsafe fn(
7429            _buffer: *mut *mut c_void,
7430            nTypes: u8,
7431            indicators: u32,
7432            virtualMods: u16,
7433            groupNames: u8,
7434            nKeys: u8,
7435            nKeyAliases: u8,
7436            nRadioGroups: u8,
7437            which: u32,
7438            _aux: *const xcb_xkb_get_names_value_list_t,
7439        ) -> c_int,
7440    >,
7441    xcb_xkb_get_names_value_list_unpack: LazySymbol<
7442        unsafe fn(
7443            _buffer: *const c_void,
7444            nTypes: u8,
7445            indicators: u32,
7446            virtualMods: u16,
7447            groupNames: u8,
7448            nKeys: u8,
7449            nKeyAliases: u8,
7450            nRadioGroups: u8,
7451            which: u32,
7452            _aux: *mut xcb_xkb_get_names_value_list_t,
7453        ) -> c_int,
7454    >,
7455    xcb_xkb_get_names_value_list_sizeof: LazySymbol<
7456        unsafe fn(
7457            _buffer: *const c_void,
7458            nTypes: u8,
7459            indicators: u32,
7460            virtualMods: u16,
7461            groupNames: u8,
7462            nKeys: u8,
7463            nKeyAliases: u8,
7464            nRadioGroups: u8,
7465            which: u32,
7466        ) -> c_int,
7467    >,
7468    xcb_xkb_get_names_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7469    xcb_xkb_get_names: LazySymbol<
7470        unsafe fn(
7471            c: *mut xcb_connection_t,
7472            device_spec: xcb_xkb_device_spec_t,
7473            which: u32,
7474        ) -> xcb_xkb_get_names_cookie_t,
7475    >,
7476    xcb_xkb_get_names_unchecked: LazySymbol<
7477        unsafe fn(
7478            c: *mut xcb_connection_t,
7479            device_spec: xcb_xkb_device_spec_t,
7480            which: u32,
7481        ) -> xcb_xkb_get_names_cookie_t,
7482    >,
7483    xcb_xkb_get_names_value_list:
7484        LazySymbol<unsafe fn(r: *const xcb_xkb_get_names_reply_t) -> *mut c_void>,
7485    xcb_xkb_get_names_reply: LazySymbol<
7486        unsafe fn(
7487            c: *mut xcb_connection_t,
7488            cookie: xcb_xkb_get_names_cookie_t,
7489            e: *mut *mut xcb_generic_error_t,
7490        ) -> *mut xcb_xkb_get_names_reply_t,
7491    >,
7492    xcb_xkb_set_names_values_type_names:
7493        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7494    xcb_xkb_set_names_values_type_names_length: LazySymbol<
7495        unsafe fn(
7496            r: *const xcb_xkb_set_names_request_t,
7497            s: *const xcb_xkb_set_names_values_t,
7498        ) -> c_int,
7499    >,
7500    xcb_xkb_set_names_values_type_names_end: LazySymbol<
7501        unsafe fn(
7502            r: *const xcb_xkb_set_names_request_t,
7503            s: *const xcb_xkb_set_names_values_t,
7504        ) -> xcb_generic_iterator_t,
7505    >,
7506    xcb_xkb_set_names_values_n_levels_per_type:
7507        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut u8>,
7508    xcb_xkb_set_names_values_n_levels_per_type_length: LazySymbol<
7509        unsafe fn(
7510            r: *const xcb_xkb_set_names_request_t,
7511            s: *const xcb_xkb_set_names_values_t,
7512        ) -> c_int,
7513    >,
7514    xcb_xkb_set_names_values_n_levels_per_type_end: LazySymbol<
7515        unsafe fn(
7516            r: *const xcb_xkb_set_names_request_t,
7517            s: *const xcb_xkb_set_names_values_t,
7518        ) -> xcb_generic_iterator_t,
7519    >,
7520    xcb_xkb_set_names_values_kt_level_names:
7521        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7522    xcb_xkb_set_names_values_kt_level_names_length: LazySymbol<
7523        unsafe fn(
7524            r: *const xcb_xkb_set_names_request_t,
7525            s: *const xcb_xkb_set_names_values_t,
7526        ) -> c_int,
7527    >,
7528    xcb_xkb_set_names_values_kt_level_names_end: LazySymbol<
7529        unsafe fn(
7530            r: *const xcb_xkb_set_names_request_t,
7531            s: *const xcb_xkb_set_names_values_t,
7532        ) -> xcb_generic_iterator_t,
7533    >,
7534    xcb_xkb_set_names_values_indicator_names:
7535        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7536    xcb_xkb_set_names_values_indicator_names_length: LazySymbol<
7537        unsafe fn(
7538            r: *const xcb_xkb_set_names_request_t,
7539            s: *const xcb_xkb_set_names_values_t,
7540        ) -> c_int,
7541    >,
7542    xcb_xkb_set_names_values_indicator_names_end: LazySymbol<
7543        unsafe fn(
7544            r: *const xcb_xkb_set_names_request_t,
7545            s: *const xcb_xkb_set_names_values_t,
7546        ) -> xcb_generic_iterator_t,
7547    >,
7548    xcb_xkb_set_names_values_virtual_mod_names:
7549        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7550    xcb_xkb_set_names_values_virtual_mod_names_length: LazySymbol<
7551        unsafe fn(
7552            r: *const xcb_xkb_set_names_request_t,
7553            s: *const xcb_xkb_set_names_values_t,
7554        ) -> c_int,
7555    >,
7556    xcb_xkb_set_names_values_virtual_mod_names_end: LazySymbol<
7557        unsafe fn(
7558            r: *const xcb_xkb_set_names_request_t,
7559            s: *const xcb_xkb_set_names_values_t,
7560        ) -> xcb_generic_iterator_t,
7561    >,
7562    xcb_xkb_set_names_values_groups:
7563        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7564    xcb_xkb_set_names_values_groups_length: LazySymbol<
7565        unsafe fn(
7566            r: *const xcb_xkb_set_names_request_t,
7567            s: *const xcb_xkb_set_names_values_t,
7568        ) -> c_int,
7569    >,
7570    xcb_xkb_set_names_values_groups_end: LazySymbol<
7571        unsafe fn(
7572            r: *const xcb_xkb_set_names_request_t,
7573            s: *const xcb_xkb_set_names_values_t,
7574        ) -> xcb_generic_iterator_t,
7575    >,
7576    xcb_xkb_set_names_values_key_names:
7577        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_xkb_key_name_t>,
7578    xcb_xkb_set_names_values_key_names_length: LazySymbol<
7579        unsafe fn(
7580            r: *const xcb_xkb_set_names_request_t,
7581            s: *const xcb_xkb_set_names_values_t,
7582        ) -> c_int,
7583    >,
7584    xcb_xkb_set_names_values_key_names_iterator: LazySymbol<
7585        unsafe fn(
7586            r: *const xcb_xkb_set_names_request_t,
7587            s: *const xcb_xkb_set_names_values_t,
7588        ) -> xcb_xkb_key_name_iterator_t,
7589    >,
7590    xcb_xkb_set_names_values_key_aliases:
7591        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_xkb_key_alias_t>,
7592    xcb_xkb_set_names_values_key_aliases_length: LazySymbol<
7593        unsafe fn(
7594            r: *const xcb_xkb_set_names_request_t,
7595            s: *const xcb_xkb_set_names_values_t,
7596        ) -> c_int,
7597    >,
7598    xcb_xkb_set_names_values_key_aliases_iterator: LazySymbol<
7599        unsafe fn(
7600            r: *const xcb_xkb_set_names_request_t,
7601            s: *const xcb_xkb_set_names_values_t,
7602        ) -> xcb_xkb_key_alias_iterator_t,
7603    >,
7604    xcb_xkb_set_names_values_radio_group_names:
7605        LazySymbol<unsafe fn(s: *const xcb_xkb_set_names_values_t) -> *mut xcb_atom_t>,
7606    xcb_xkb_set_names_values_radio_group_names_length: LazySymbol<
7607        unsafe fn(
7608            r: *const xcb_xkb_set_names_request_t,
7609            s: *const xcb_xkb_set_names_values_t,
7610        ) -> c_int,
7611    >,
7612    xcb_xkb_set_names_values_radio_group_names_end: LazySymbol<
7613        unsafe fn(
7614            r: *const xcb_xkb_set_names_request_t,
7615            s: *const xcb_xkb_set_names_values_t,
7616        ) -> xcb_generic_iterator_t,
7617    >,
7618    xcb_xkb_set_names_values_serialize: LazySymbol<
7619        unsafe fn(
7620            _buffer: *mut *mut c_void,
7621            nTypes: u8,
7622            indicators: u32,
7623            virtualMods: u16,
7624            groupNames: u8,
7625            nKeys: u8,
7626            nKeyAliases: u8,
7627            nRadioGroups: u8,
7628            which: u32,
7629            _aux: *const xcb_xkb_set_names_values_t,
7630        ) -> c_int,
7631    >,
7632    xcb_xkb_set_names_values_unpack: LazySymbol<
7633        unsafe fn(
7634            _buffer: *const c_void,
7635            nTypes: u8,
7636            indicators: u32,
7637            virtualMods: u16,
7638            groupNames: u8,
7639            nKeys: u8,
7640            nKeyAliases: u8,
7641            nRadioGroups: u8,
7642            which: u32,
7643            _aux: *mut xcb_xkb_set_names_values_t,
7644        ) -> c_int,
7645    >,
7646    xcb_xkb_set_names_values_sizeof: LazySymbol<
7647        unsafe fn(
7648            _buffer: *const c_void,
7649            nTypes: u8,
7650            indicators: u32,
7651            virtualMods: u16,
7652            groupNames: u8,
7653            nKeys: u8,
7654            nKeyAliases: u8,
7655            nRadioGroups: u8,
7656            which: u32,
7657        ) -> c_int,
7658    >,
7659    xcb_xkb_set_names_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7660    xcb_xkb_set_names_checked: LazySymbol<
7661        unsafe fn(
7662            c: *mut xcb_connection_t,
7663            device_spec: xcb_xkb_device_spec_t,
7664            virtual_mods: u16,
7665            which: u32,
7666            first_type: u8,
7667            n_types: u8,
7668            first_ktlevelt: u8,
7669            n_ktlevels: u8,
7670            indicators: u32,
7671            group_names: u8,
7672            n_radio_groups: u8,
7673            first_key: xcb_keycode_t,
7674            n_keys: u8,
7675            n_key_aliases: u8,
7676            total_ktlevel_names: u16,
7677            values: *const c_void,
7678        ) -> xcb_void_cookie_t,
7679    >,
7680    xcb_xkb_set_names: LazySymbol<
7681        unsafe fn(
7682            c: *mut xcb_connection_t,
7683            device_spec: xcb_xkb_device_spec_t,
7684            virtual_mods: u16,
7685            which: u32,
7686            first_type: u8,
7687            n_types: u8,
7688            first_ktlevelt: u8,
7689            n_ktlevels: u8,
7690            indicators: u32,
7691            group_names: u8,
7692            n_radio_groups: u8,
7693            first_key: xcb_keycode_t,
7694            n_keys: u8,
7695            n_key_aliases: u8,
7696            total_ktlevel_names: u16,
7697            values: *const c_void,
7698        ) -> xcb_void_cookie_t,
7699    >,
7700    xcb_xkb_set_names_aux_checked: LazySymbol<
7701        unsafe fn(
7702            c: *mut xcb_connection_t,
7703            device_spec: xcb_xkb_device_spec_t,
7704            virtual_mods: u16,
7705            which: u32,
7706            first_type: u8,
7707            n_types: u8,
7708            first_ktlevelt: u8,
7709            n_ktlevels: u8,
7710            indicators: u32,
7711            group_names: u8,
7712            n_radio_groups: u8,
7713            first_key: xcb_keycode_t,
7714            n_keys: u8,
7715            n_key_aliases: u8,
7716            total_ktlevel_names: u16,
7717            values: *const xcb_xkb_set_names_values_t,
7718        ) -> xcb_void_cookie_t,
7719    >,
7720    xcb_xkb_set_names_aux: LazySymbol<
7721        unsafe fn(
7722            c: *mut xcb_connection_t,
7723            device_spec: xcb_xkb_device_spec_t,
7724            virtual_mods: u16,
7725            which: u32,
7726            first_type: u8,
7727            n_types: u8,
7728            first_ktlevelt: u8,
7729            n_ktlevels: u8,
7730            indicators: u32,
7731            group_names: u8,
7732            n_radio_groups: u8,
7733            first_key: xcb_keycode_t,
7734            n_keys: u8,
7735            n_key_aliases: u8,
7736            total_ktlevel_names: u16,
7737            values: *const xcb_xkb_set_names_values_t,
7738        ) -> xcb_void_cookie_t,
7739    >,
7740    xcb_xkb_set_names_values:
7741        LazySymbol<unsafe fn(r: *const xcb_xkb_set_names_request_t) -> *mut c_void>,
7742    xcb_xkb_per_client_flags: LazySymbol<
7743        unsafe fn(
7744            c: *mut xcb_connection_t,
7745            device_spec: xcb_xkb_device_spec_t,
7746            change: u32,
7747            value: u32,
7748            ctrls_to_change: u32,
7749            auto_ctrls: u32,
7750            auto_ctrls_values: u32,
7751        ) -> xcb_xkb_per_client_flags_cookie_t,
7752    >,
7753    xcb_xkb_per_client_flags_unchecked: LazySymbol<
7754        unsafe fn(
7755            c: *mut xcb_connection_t,
7756            device_spec: xcb_xkb_device_spec_t,
7757            change: u32,
7758            value: u32,
7759            ctrls_to_change: u32,
7760            auto_ctrls: u32,
7761            auto_ctrls_values: u32,
7762        ) -> xcb_xkb_per_client_flags_cookie_t,
7763    >,
7764    xcb_xkb_per_client_flags_reply: LazySymbol<
7765        unsafe fn(
7766            c: *mut xcb_connection_t,
7767            cookie: xcb_xkb_per_client_flags_cookie_t,
7768            e: *mut *mut xcb_generic_error_t,
7769        ) -> *mut xcb_xkb_per_client_flags_reply_t,
7770    >,
7771    xcb_xkb_list_components_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
7772    xcb_xkb_list_components: LazySymbol<
7773        unsafe fn(
7774            c: *mut xcb_connection_t,
7775            device_spec: xcb_xkb_device_spec_t,
7776            max_names: u16,
7777        ) -> xcb_xkb_list_components_cookie_t,
7778    >,
7779    xcb_xkb_list_components_unchecked: LazySymbol<
7780        unsafe fn(
7781            c: *mut xcb_connection_t,
7782            device_spec: xcb_xkb_device_spec_t,
7783            max_names: u16,
7784        ) -> xcb_xkb_list_components_cookie_t,
7785    >,
7786    xcb_xkb_list_components_keymaps_length:
7787        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7788    xcb_xkb_list_components_keymaps_iterator: LazySymbol<
7789        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7790    >,
7791    xcb_xkb_list_components_keycodes_length:
7792        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7793    xcb_xkb_list_components_keycodes_iterator: LazySymbol<
7794        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7795    >,
7796    xcb_xkb_list_components_types_length:
7797        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7798    xcb_xkb_list_components_types_iterator: LazySymbol<
7799        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7800    >,
7801    xcb_xkb_list_components_compat_maps_length:
7802        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7803    xcb_xkb_list_components_compat_maps_iterator: LazySymbol<
7804        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7805    >,
7806    xcb_xkb_list_components_symbols_length:
7807        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7808    xcb_xkb_list_components_symbols_iterator: LazySymbol<
7809        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7810    >,
7811    xcb_xkb_list_components_geometries_length:
7812        LazySymbol<unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> c_int>,
7813    xcb_xkb_list_components_geometries_iterator: LazySymbol<
7814        unsafe fn(r: *const xcb_xkb_list_components_reply_t) -> xcb_xkb_listing_iterator_t,
7815    >,
7816    xcb_xkb_list_components_reply: LazySymbol<
7817        unsafe fn(
7818            c: *mut xcb_connection_t,
7819            cookie: xcb_xkb_list_components_cookie_t,
7820            e: *mut *mut xcb_generic_error_t,
7821        ) -> *mut xcb_xkb_list_components_reply_t,
7822    >,
7823    xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length: LazySymbol<
7824        unsafe fn(
7825            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7826            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7827        ) -> c_int,
7828    >,
7829    xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator: LazySymbol<
7830        unsafe fn(
7831            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7832            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7833        ) -> xcb_xkb_key_type_iterator_t,
7834    >,
7835    xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length: LazySymbol<
7836        unsafe fn(
7837            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7838            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7839        ) -> c_int,
7840    >,
7841    xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator: LazySymbol<
7842        unsafe fn(
7843            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7844            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7845        ) -> xcb_xkb_key_sym_map_iterator_t,
7846    >,
7847    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count:
7848        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut u8>,
7849    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length: LazySymbol<
7850        unsafe fn(
7851            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7852            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7853        ) -> c_int,
7854    >,
7855    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end: LazySymbol<
7856        unsafe fn(
7857            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7858            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7859        ) -> xcb_generic_iterator_t,
7860    >,
7861    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts:
7862        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_action_t>,
7863    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length: LazySymbol<
7864        unsafe fn(
7865            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7866            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7867        ) -> c_int,
7868    >,
7869    xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator: LazySymbol<
7870        unsafe fn(
7871            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7872            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7873        ) -> xcb_xkb_action_iterator_t,
7874    >,
7875    xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn: LazySymbol<
7876        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_set_behavior_t,
7877    >,
7878    xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length: LazySymbol<
7879        unsafe fn(
7880            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7881            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7882        ) -> c_int,
7883    >,
7884    xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator: LazySymbol<
7885        unsafe fn(
7886            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7887            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7888        ) -> xcb_xkb_set_behavior_iterator_t,
7889    >,
7890    xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn:
7891        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut u8>,
7892    xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length: LazySymbol<
7893        unsafe fn(
7894            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7895            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7896        ) -> c_int,
7897    >,
7898    xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end: LazySymbol<
7899        unsafe fn(
7900            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7901            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7902        ) -> xcb_generic_iterator_t,
7903    >,
7904    xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn: LazySymbol<
7905        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_set_explicit_t,
7906    >,
7907    xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length: LazySymbol<
7908        unsafe fn(
7909            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7910            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7911        ) -> c_int,
7912    >,
7913    xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator: LazySymbol<
7914        unsafe fn(
7915            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7916            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7917        ) -> xcb_xkb_set_explicit_iterator_t,
7918    >,
7919    xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn: LazySymbol<
7920        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_key_mod_map_t,
7921    >,
7922    xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length: LazySymbol<
7923        unsafe fn(
7924            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7925            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7926        ) -> c_int,
7927    >,
7928    xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator: LazySymbol<
7929        unsafe fn(
7930            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7931            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7932        ) -> xcb_xkb_key_mod_map_iterator_t,
7933    >,
7934    xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn: LazySymbol<
7935        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_key_v_mod_map_t,
7936    >,
7937    xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length: LazySymbol<
7938        unsafe fn(
7939            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7940            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7941        ) -> c_int,
7942    >,
7943    xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator: LazySymbol<
7944        unsafe fn(
7945            r: *const xcb_xkb_get_kbd_by_name_reply_t,
7946            s: *const xcb_xkb_get_kbd_by_name_replies_t,
7947        ) -> xcb_xkb_key_v_mod_map_iterator_t,
7948    >,
7949    xcb_xkb_get_kbd_by_name_replies_types_map_serialize: LazySymbol<
7950        unsafe fn(
7951            _buffer: *mut *mut c_void,
7952            nTypes: u8,
7953            nKeySyms: u8,
7954            nKeyActions: u8,
7955            totalActions: u16,
7956            totalKeyBehaviors: u8,
7957            virtualMods: u16,
7958            totalKeyExplicit: u8,
7959            totalModMapKeys: u8,
7960            totalVModMapKeys: u8,
7961            present: u16,
7962            _aux: *const xcb_xkb_get_kbd_by_name_replies_types_map_t,
7963        ) -> c_int,
7964    >,
7965    xcb_xkb_get_kbd_by_name_replies_types_map_unpack: LazySymbol<
7966        unsafe fn(
7967            _buffer: *const c_void,
7968            nTypes: u8,
7969            nKeySyms: u8,
7970            nKeyActions: u8,
7971            totalActions: u16,
7972            totalKeyBehaviors: u8,
7973            virtualMods: u16,
7974            totalKeyExplicit: u8,
7975            totalModMapKeys: u8,
7976            totalVModMapKeys: u8,
7977            present: u16,
7978            _aux: *mut xcb_xkb_get_kbd_by_name_replies_types_map_t,
7979        ) -> c_int,
7980    >,
7981    xcb_xkb_get_kbd_by_name_replies_types_map_sizeof: LazySymbol<
7982        unsafe fn(
7983            _buffer: *const c_void,
7984            nTypes: u8,
7985            nKeySyms: u8,
7986            nKeyActions: u8,
7987            totalActions: u16,
7988            totalKeyBehaviors: u8,
7989            virtualMods: u16,
7990            totalKeyExplicit: u8,
7991            totalModMapKeys: u8,
7992            totalVModMapKeys: u8,
7993            present: u16,
7994        ) -> c_int,
7995    >,
7996    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names:
7997        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
7998    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length: LazySymbol<
7999        unsafe fn(
8000            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8001            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8002        ) -> c_int,
8003    >,
8004    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end: LazySymbol<
8005        unsafe fn(
8006            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8007            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8008        ) -> xcb_generic_iterator_t,
8009    >,
8010    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type:
8011        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut u8>,
8012    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length: LazySymbol<
8013        unsafe fn(
8014            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8015            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8016        ) -> c_int,
8017    >,
8018    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end: LazySymbol<
8019        unsafe fn(
8020            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8021            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8022        ) -> xcb_generic_iterator_t,
8023    >,
8024    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names:
8025        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
8026    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length: LazySymbol<
8027        unsafe fn(
8028            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8029            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8030        ) -> c_int,
8031    >,
8032    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end: LazySymbol<
8033        unsafe fn(
8034            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8035            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8036        ) -> xcb_generic_iterator_t,
8037    >,
8038    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names:
8039        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
8040    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length: LazySymbol<
8041        unsafe fn(
8042            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8043            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8044        ) -> c_int,
8045    >,
8046    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end: LazySymbol<
8047        unsafe fn(
8048            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8049            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8050        ) -> xcb_generic_iterator_t,
8051    >,
8052    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names:
8053        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
8054    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length: LazySymbol<
8055        unsafe fn(
8056            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8057            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8058        ) -> c_int,
8059    >,
8060    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end: LazySymbol<
8061        unsafe fn(
8062            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8063            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8064        ) -> xcb_generic_iterator_t,
8065    >,
8066    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups:
8067        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
8068    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length: LazySymbol<
8069        unsafe fn(
8070            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8071            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8072        ) -> c_int,
8073    >,
8074    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end: LazySymbol<
8075        unsafe fn(
8076            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8077            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8078        ) -> xcb_generic_iterator_t,
8079    >,
8080    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names: LazySymbol<
8081        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_key_name_t,
8082    >,
8083    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length: LazySymbol<
8084        unsafe fn(
8085            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8086            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8087        ) -> c_int,
8088    >,
8089    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator: LazySymbol<
8090        unsafe fn(
8091            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8092            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8093        ) -> xcb_xkb_key_name_iterator_t,
8094    >,
8095    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases: LazySymbol<
8096        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_key_alias_t,
8097    >,
8098    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length: LazySymbol<
8099        unsafe fn(
8100            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8101            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8102        ) -> c_int,
8103    >,
8104    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator: LazySymbol<
8105        unsafe fn(
8106            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8107            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8108        ) -> xcb_xkb_key_alias_iterator_t,
8109    >,
8110    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names:
8111        LazySymbol<unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_atom_t>,
8112    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length: LazySymbol<
8113        unsafe fn(
8114            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8115            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8116        ) -> c_int,
8117    >,
8118    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end: LazySymbol<
8119        unsafe fn(
8120            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8121            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8122        ) -> xcb_generic_iterator_t,
8123    >,
8124    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize: LazySymbol<
8125        unsafe fn(
8126            _buffer: *mut *mut c_void,
8127            nTypes: u8,
8128            indicators: u32,
8129            virtualMods: u16,
8130            groupNames: u8,
8131            nKeys: u8,
8132            nKeyAliases: u8,
8133            nRadioGroups: u8,
8134            which: u32,
8135            _aux: *const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
8136        ) -> c_int,
8137    >,
8138    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack: LazySymbol<
8139        unsafe fn(
8140            _buffer: *const c_void,
8141            nTypes: u8,
8142            indicators: u32,
8143            virtualMods: u16,
8144            groupNames: u8,
8145            nKeys: u8,
8146            nKeyAliases: u8,
8147            nRadioGroups: u8,
8148            which: u32,
8149            _aux: *mut xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
8150        ) -> c_int,
8151    >,
8152    xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof: LazySymbol<
8153        unsafe fn(
8154            _buffer: *const c_void,
8155            nTypes: u8,
8156            indicators: u32,
8157            virtualMods: u16,
8158            groupNames: u8,
8159            nKeys: u8,
8160            nKeyAliases: u8,
8161            nRadioGroups: u8,
8162            which: u32,
8163        ) -> c_int,
8164    >,
8165    xcb_xkb_get_kbd_by_name_replies_types_map: LazySymbol<
8166        unsafe fn(
8167            r: *const xcb_xkb_get_kbd_by_name_replies_t,
8168        ) -> *mut xcb_xkb_get_kbd_by_name_replies_types_map_t,
8169    >,
8170    xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn: LazySymbol<
8171        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_sym_interpret_t,
8172    >,
8173    xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length: LazySymbol<
8174        unsafe fn(
8175            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8176            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8177        ) -> c_int,
8178    >,
8179    xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator: LazySymbol<
8180        unsafe fn(
8181            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8182            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8183        ) -> xcb_xkb_sym_interpret_iterator_t,
8184    >,
8185    xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn: LazySymbol<
8186        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_mod_def_t,
8187    >,
8188    xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length: LazySymbol<
8189        unsafe fn(
8190            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8191            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8192        ) -> c_int,
8193    >,
8194    xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator: LazySymbol<
8195        unsafe fn(
8196            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8197            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8198        ) -> xcb_xkb_mod_def_iterator_t,
8199    >,
8200    xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps: LazySymbol<
8201        unsafe fn(s: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_indicator_map_t,
8202    >,
8203    xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length: LazySymbol<
8204        unsafe fn(
8205            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8206            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8207        ) -> c_int,
8208    >,
8209    xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator: LazySymbol<
8210        unsafe fn(
8211            r: *const xcb_xkb_get_kbd_by_name_reply_t,
8212            s: *const xcb_xkb_get_kbd_by_name_replies_t,
8213        ) -> xcb_xkb_indicator_map_iterator_t,
8214    >,
8215    xcb_xkb_get_kbd_by_name_replies_key_names_value_list: LazySymbol<
8216        unsafe fn(
8217            r: *const xcb_xkb_get_kbd_by_name_replies_t,
8218        ) -> *mut xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
8219    >,
8220    xcb_xkb_get_kbd_by_name_replies_geometry_label_font: LazySymbol<
8221        unsafe fn(r: *const xcb_xkb_get_kbd_by_name_replies_t) -> *mut xcb_xkb_counted_string_16_t,
8222    >,
8223    xcb_xkb_get_kbd_by_name_replies_serialize: LazySymbol<
8224        unsafe fn(
8225            _buffer: *mut *mut c_void,
8226            reported: u16,
8227            _aux: *const xcb_xkb_get_kbd_by_name_replies_t,
8228        ) -> c_int,
8229    >,
8230    xcb_xkb_get_kbd_by_name_replies_unpack: LazySymbol<
8231        unsafe fn(
8232            _buffer: *const c_void,
8233            reported: u16,
8234            _aux: *mut xcb_xkb_get_kbd_by_name_replies_t,
8235        ) -> c_int,
8236    >,
8237    xcb_xkb_get_kbd_by_name_replies_sizeof:
8238        LazySymbol<unsafe fn(_buffer: *const c_void, reported: u16) -> c_int>,
8239    xcb_xkb_get_kbd_by_name_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
8240    xcb_xkb_get_kbd_by_name: LazySymbol<
8241        unsafe fn(
8242            c: *mut xcb_connection_t,
8243            device_spec: xcb_xkb_device_spec_t,
8244            need: u16,
8245            want: u16,
8246            load: u8,
8247        ) -> xcb_xkb_get_kbd_by_name_cookie_t,
8248    >,
8249    xcb_xkb_get_kbd_by_name_unchecked: LazySymbol<
8250        unsafe fn(
8251            c: *mut xcb_connection_t,
8252            device_spec: xcb_xkb_device_spec_t,
8253            need: u16,
8254            want: u16,
8255            load: u8,
8256        ) -> xcb_xkb_get_kbd_by_name_cookie_t,
8257    >,
8258    xcb_xkb_get_kbd_by_name_replies:
8259        LazySymbol<unsafe fn(r: *const xcb_xkb_get_kbd_by_name_reply_t) -> *mut c_void>,
8260    xcb_xkb_get_kbd_by_name_reply: LazySymbol<
8261        unsafe fn(
8262            c: *mut xcb_connection_t,
8263            cookie: xcb_xkb_get_kbd_by_name_cookie_t,
8264            e: *mut *mut xcb_generic_error_t,
8265        ) -> *mut xcb_xkb_get_kbd_by_name_reply_t,
8266    >,
8267    xcb_xkb_get_device_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
8268    xcb_xkb_get_device_info: LazySymbol<
8269        unsafe fn(
8270            c: *mut xcb_connection_t,
8271            device_spec: xcb_xkb_device_spec_t,
8272            wanted: u16,
8273            all_buttons: u8,
8274            first_button: u8,
8275            n_buttons: u8,
8276            led_class: xcb_xkb_led_class_spec_t,
8277            led_id: xcb_xkb_id_spec_t,
8278        ) -> xcb_xkb_get_device_info_cookie_t,
8279    >,
8280    xcb_xkb_get_device_info_unchecked: LazySymbol<
8281        unsafe fn(
8282            c: *mut xcb_connection_t,
8283            device_spec: xcb_xkb_device_spec_t,
8284            wanted: u16,
8285            all_buttons: u8,
8286            first_button: u8,
8287            n_buttons: u8,
8288            led_class: xcb_xkb_led_class_spec_t,
8289            led_id: xcb_xkb_id_spec_t,
8290        ) -> xcb_xkb_get_device_info_cookie_t,
8291    >,
8292    xcb_xkb_get_device_info_name:
8293        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> *mut xcb_xkb_string8_t>,
8294    xcb_xkb_get_device_info_name_length:
8295        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> c_int>,
8296    xcb_xkb_get_device_info_name_end:
8297        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> xcb_generic_iterator_t>,
8298    xcb_xkb_get_device_info_btn_actions:
8299        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> *mut xcb_xkb_action_t>,
8300    xcb_xkb_get_device_info_btn_actions_length:
8301        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> c_int>,
8302    xcb_xkb_get_device_info_btn_actions_iterator: LazySymbol<
8303        unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> xcb_xkb_action_iterator_t,
8304    >,
8305    xcb_xkb_get_device_info_leds_length:
8306        LazySymbol<unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> c_int>,
8307    xcb_xkb_get_device_info_leds_iterator: LazySymbol<
8308        unsafe fn(r: *const xcb_xkb_get_device_info_reply_t) -> xcb_xkb_device_led_info_iterator_t,
8309    >,
8310    xcb_xkb_get_device_info_reply: LazySymbol<
8311        unsafe fn(
8312            c: *mut xcb_connection_t,
8313            cookie: xcb_xkb_get_device_info_cookie_t,
8314            e: *mut *mut xcb_generic_error_t,
8315        ) -> *mut xcb_xkb_get_device_info_reply_t,
8316    >,
8317    xcb_xkb_set_device_info_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
8318    xcb_xkb_set_device_info_checked: LazySymbol<
8319        unsafe fn(
8320            c: *mut xcb_connection_t,
8321            device_spec: xcb_xkb_device_spec_t,
8322            first_btn: u8,
8323            n_btns: u8,
8324            change: u16,
8325            n_device_led_fbs: u16,
8326            btn_actions: *const xcb_xkb_action_t,
8327            leds: *const xcb_xkb_device_led_info_t,
8328        ) -> xcb_void_cookie_t,
8329    >,
8330    xcb_xkb_set_device_info: LazySymbol<
8331        unsafe fn(
8332            c: *mut xcb_connection_t,
8333            device_spec: xcb_xkb_device_spec_t,
8334            first_btn: u8,
8335            n_btns: u8,
8336            change: u16,
8337            n_device_led_fbs: u16,
8338            btn_actions: *const xcb_xkb_action_t,
8339            leds: *const xcb_xkb_device_led_info_t,
8340        ) -> xcb_void_cookie_t,
8341    >,
8342    xcb_xkb_set_device_info_btn_actions:
8343        LazySymbol<unsafe fn(r: *const xcb_xkb_set_device_info_request_t) -> *mut xcb_xkb_action_t>,
8344    xcb_xkb_set_device_info_btn_actions_length:
8345        LazySymbol<unsafe fn(r: *const xcb_xkb_set_device_info_request_t) -> c_int>,
8346    xcb_xkb_set_device_info_btn_actions_iterator: LazySymbol<
8347        unsafe fn(r: *const xcb_xkb_set_device_info_request_t) -> xcb_xkb_action_iterator_t,
8348    >,
8349    xcb_xkb_set_device_info_leds_length:
8350        LazySymbol<unsafe fn(r: *const xcb_xkb_set_device_info_request_t) -> c_int>,
8351    xcb_xkb_set_device_info_leds_iterator: LazySymbol<
8352        unsafe fn(
8353            r: *const xcb_xkb_set_device_info_request_t,
8354        ) -> xcb_xkb_device_led_info_iterator_t,
8355    >,
8356    xcb_xkb_set_debugging_flags_sizeof: LazySymbol<unsafe fn(_buffer: *const c_void) -> c_int>,
8357    xcb_xkb_set_debugging_flags: LazySymbol<
8358        unsafe fn(
8359            c: *mut xcb_connection_t,
8360            msg_length: u16,
8361            affect_flags: u32,
8362            flags: u32,
8363            affect_ctrls: u32,
8364            ctrls: u32,
8365            message: *const xcb_xkb_string8_t,
8366        ) -> xcb_xkb_set_debugging_flags_cookie_t,
8367    >,
8368    xcb_xkb_set_debugging_flags_unchecked: LazySymbol<
8369        unsafe fn(
8370            c: *mut xcb_connection_t,
8371            msg_length: u16,
8372            affect_flags: u32,
8373            flags: u32,
8374            affect_ctrls: u32,
8375            ctrls: u32,
8376            message: *const xcb_xkb_string8_t,
8377        ) -> xcb_xkb_set_debugging_flags_cookie_t,
8378    >,
8379    xcb_xkb_set_debugging_flags_reply: LazySymbol<
8380        unsafe fn(
8381            c: *mut xcb_connection_t,
8382            cookie: xcb_xkb_set_debugging_flags_cookie_t,
8383            e: *mut *mut xcb_generic_error_t,
8384        ) -> *mut xcb_xkb_set_debugging_flags_reply_t,
8385    >,
8386}
8387
8388macro_rules! sym {
8389    ($self:expr, $f:ident) => {
8390        $self.xkb.$f.get(&$self.lib, concat!(stringify!($f), "\0"))
8391    };
8392}
8393
8394macro_rules! has_sym {
8395    ($self:expr, $f:ident) => {
8396        unsafe {
8397            $self
8398                .xkb
8399                .$f
8400                .exists(&$self.lib, concat!(stringify!($f), "\0"))
8401        }
8402    };
8403}
8404
8405#[cfg(feature = "xcb_xkb")]
8406impl XcbXkb {
8407    /// The libxcb identifier of the `xkb` extension.
8408    #[inline]
8409    pub fn xcb_xkb_id(&self) -> *mut xcb_extension_t {
8410        unsafe { sym!(self, xcb_xkb_id) }
8411    }
8412
8413    /// Returns `true` iff the symbol `xcb_xkb_id` could be loaded.
8414    #[cfg(feature = "has_symbol")]
8415    pub fn has_xcb_xkb_id(&self) -> bool {
8416        has_sym!(self, xcb_xkb_id)
8417    }
8418
8419    /// Advances a `xcb_xkb_device_spec_iterator_t` iterator by 1 element.
8420    #[inline]
8421    pub unsafe fn xcb_xkb_device_spec_next(&self, i: *mut xcb_xkb_device_spec_iterator_t) {
8422        sym!(self, xcb_xkb_device_spec_next)(i)
8423    }
8424
8425    /// Returns `true` iff the symbol `xcb_xkb_device_spec_next` could be loaded.
8426    #[cfg(feature = "has_symbol")]
8427    pub fn has_xcb_xkb_device_spec_next(&self) -> bool {
8428        has_sym!(self, xcb_xkb_device_spec_next)
8429    }
8430
8431    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_device_spec_iterator_t`.
8432    #[inline]
8433    pub unsafe fn xcb_xkb_device_spec_end(
8434        &self,
8435        i: xcb_xkb_device_spec_iterator_t,
8436    ) -> xcb_generic_iterator_t {
8437        sym!(self, xcb_xkb_device_spec_end)(i)
8438    }
8439
8440    /// Returns `true` iff the symbol `xcb_xkb_device_spec_end` could be loaded.
8441    #[cfg(feature = "has_symbol")]
8442    pub fn has_xcb_xkb_device_spec_end(&self) -> bool {
8443        has_sym!(self, xcb_xkb_device_spec_end)
8444    }
8445
8446    /// Advances a `xcb_xkb_led_class_spec_iterator_t` iterator by 1 element.
8447    #[inline]
8448    pub unsafe fn xcb_xkb_led_class_spec_next(&self, i: *mut xcb_xkb_led_class_spec_iterator_t) {
8449        sym!(self, xcb_xkb_led_class_spec_next)(i)
8450    }
8451
8452    /// Returns `true` iff the symbol `xcb_xkb_led_class_spec_next` could be loaded.
8453    #[cfg(feature = "has_symbol")]
8454    pub fn has_xcb_xkb_led_class_spec_next(&self) -> bool {
8455        has_sym!(self, xcb_xkb_led_class_spec_next)
8456    }
8457
8458    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_led_class_spec_iterator_t`.
8459    #[inline]
8460    pub unsafe fn xcb_xkb_led_class_spec_end(
8461        &self,
8462        i: xcb_xkb_led_class_spec_iterator_t,
8463    ) -> xcb_generic_iterator_t {
8464        sym!(self, xcb_xkb_led_class_spec_end)(i)
8465    }
8466
8467    /// Returns `true` iff the symbol `xcb_xkb_led_class_spec_end` could be loaded.
8468    #[cfg(feature = "has_symbol")]
8469    pub fn has_xcb_xkb_led_class_spec_end(&self) -> bool {
8470        has_sym!(self, xcb_xkb_led_class_spec_end)
8471    }
8472
8473    /// Advances a `xcb_xkb_bell_class_spec_iterator_t` iterator by 1 element.
8474    #[inline]
8475    pub unsafe fn xcb_xkb_bell_class_spec_next(&self, i: *mut xcb_xkb_bell_class_spec_iterator_t) {
8476        sym!(self, xcb_xkb_bell_class_spec_next)(i)
8477    }
8478
8479    /// Returns `true` iff the symbol `xcb_xkb_bell_class_spec_next` could be loaded.
8480    #[cfg(feature = "has_symbol")]
8481    pub fn has_xcb_xkb_bell_class_spec_next(&self) -> bool {
8482        has_sym!(self, xcb_xkb_bell_class_spec_next)
8483    }
8484
8485    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_bell_class_spec_iterator_t`.
8486    #[inline]
8487    pub unsafe fn xcb_xkb_bell_class_spec_end(
8488        &self,
8489        i: xcb_xkb_bell_class_spec_iterator_t,
8490    ) -> xcb_generic_iterator_t {
8491        sym!(self, xcb_xkb_bell_class_spec_end)(i)
8492    }
8493
8494    /// Returns `true` iff the symbol `xcb_xkb_bell_class_spec_end` could be loaded.
8495    #[cfg(feature = "has_symbol")]
8496    pub fn has_xcb_xkb_bell_class_spec_end(&self) -> bool {
8497        has_sym!(self, xcb_xkb_bell_class_spec_end)
8498    }
8499
8500    /// Advances a `xcb_xkb_id_spec_iterator_t` iterator by 1 element.
8501    #[inline]
8502    pub unsafe fn xcb_xkb_id_spec_next(&self, i: *mut xcb_xkb_id_spec_iterator_t) {
8503        sym!(self, xcb_xkb_id_spec_next)(i)
8504    }
8505
8506    /// Returns `true` iff the symbol `xcb_xkb_id_spec_next` could be loaded.
8507    #[cfg(feature = "has_symbol")]
8508    pub fn has_xcb_xkb_id_spec_next(&self) -> bool {
8509        has_sym!(self, xcb_xkb_id_spec_next)
8510    }
8511
8512    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_id_spec_iterator_t`.
8513    #[inline]
8514    pub unsafe fn xcb_xkb_id_spec_end(
8515        &self,
8516        i: xcb_xkb_id_spec_iterator_t,
8517    ) -> xcb_generic_iterator_t {
8518        sym!(self, xcb_xkb_id_spec_end)(i)
8519    }
8520
8521    /// Returns `true` iff the symbol `xcb_xkb_id_spec_end` could be loaded.
8522    #[cfg(feature = "has_symbol")]
8523    pub fn has_xcb_xkb_id_spec_end(&self) -> bool {
8524        has_sym!(self, xcb_xkb_id_spec_end)
8525    }
8526
8527    /// Advances a `xcb_xkb_indicator_map_iterator_t` iterator by 1 element.
8528    #[inline]
8529    pub unsafe fn xcb_xkb_indicator_map_next(&self, i: *mut xcb_xkb_indicator_map_iterator_t) {
8530        sym!(self, xcb_xkb_indicator_map_next)(i)
8531    }
8532
8533    /// Returns `true` iff the symbol `xcb_xkb_indicator_map_next` could be loaded.
8534    #[cfg(feature = "has_symbol")]
8535    pub fn has_xcb_xkb_indicator_map_next(&self) -> bool {
8536        has_sym!(self, xcb_xkb_indicator_map_next)
8537    }
8538
8539    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_indicator_map_iterator_t`.
8540    #[inline]
8541    pub unsafe fn xcb_xkb_indicator_map_end(
8542        &self,
8543        i: xcb_xkb_indicator_map_iterator_t,
8544    ) -> xcb_generic_iterator_t {
8545        sym!(self, xcb_xkb_indicator_map_end)(i)
8546    }
8547
8548    /// Returns `true` iff the symbol `xcb_xkb_indicator_map_end` could be loaded.
8549    #[cfg(feature = "has_symbol")]
8550    pub fn has_xcb_xkb_indicator_map_end(&self) -> bool {
8551        has_sym!(self, xcb_xkb_indicator_map_end)
8552    }
8553
8554    /// Advances a `xcb_xkb_mod_def_iterator_t` iterator by 1 element.
8555    #[inline]
8556    pub unsafe fn xcb_xkb_mod_def_next(&self, i: *mut xcb_xkb_mod_def_iterator_t) {
8557        sym!(self, xcb_xkb_mod_def_next)(i)
8558    }
8559
8560    /// Returns `true` iff the symbol `xcb_xkb_mod_def_next` could be loaded.
8561    #[cfg(feature = "has_symbol")]
8562    pub fn has_xcb_xkb_mod_def_next(&self) -> bool {
8563        has_sym!(self, xcb_xkb_mod_def_next)
8564    }
8565
8566    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_mod_def_iterator_t`.
8567    #[inline]
8568    pub unsafe fn xcb_xkb_mod_def_end(
8569        &self,
8570        i: xcb_xkb_mod_def_iterator_t,
8571    ) -> xcb_generic_iterator_t {
8572        sym!(self, xcb_xkb_mod_def_end)(i)
8573    }
8574
8575    /// Returns `true` iff the symbol `xcb_xkb_mod_def_end` could be loaded.
8576    #[cfg(feature = "has_symbol")]
8577    pub fn has_xcb_xkb_mod_def_end(&self) -> bool {
8578        has_sym!(self, xcb_xkb_mod_def_end)
8579    }
8580
8581    /// Advances a `xcb_xkb_key_name_iterator_t` iterator by 1 element.
8582    #[inline]
8583    pub unsafe fn xcb_xkb_key_name_next(&self, i: *mut xcb_xkb_key_name_iterator_t) {
8584        sym!(self, xcb_xkb_key_name_next)(i)
8585    }
8586
8587    /// Returns `true` iff the symbol `xcb_xkb_key_name_next` could be loaded.
8588    #[cfg(feature = "has_symbol")]
8589    pub fn has_xcb_xkb_key_name_next(&self) -> bool {
8590        has_sym!(self, xcb_xkb_key_name_next)
8591    }
8592
8593    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_name_iterator_t`.
8594    #[inline]
8595    pub unsafe fn xcb_xkb_key_name_end(
8596        &self,
8597        i: xcb_xkb_key_name_iterator_t,
8598    ) -> xcb_generic_iterator_t {
8599        sym!(self, xcb_xkb_key_name_end)(i)
8600    }
8601
8602    /// Returns `true` iff the symbol `xcb_xkb_key_name_end` could be loaded.
8603    #[cfg(feature = "has_symbol")]
8604    pub fn has_xcb_xkb_key_name_end(&self) -> bool {
8605        has_sym!(self, xcb_xkb_key_name_end)
8606    }
8607
8608    /// Advances a `xcb_xkb_key_alias_iterator_t` iterator by 1 element.
8609    #[inline]
8610    pub unsafe fn xcb_xkb_key_alias_next(&self, i: *mut xcb_xkb_key_alias_iterator_t) {
8611        sym!(self, xcb_xkb_key_alias_next)(i)
8612    }
8613
8614    /// Returns `true` iff the symbol `xcb_xkb_key_alias_next` could be loaded.
8615    #[cfg(feature = "has_symbol")]
8616    pub fn has_xcb_xkb_key_alias_next(&self) -> bool {
8617        has_sym!(self, xcb_xkb_key_alias_next)
8618    }
8619
8620    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_alias_iterator_t`.
8621    #[inline]
8622    pub unsafe fn xcb_xkb_key_alias_end(
8623        &self,
8624        i: xcb_xkb_key_alias_iterator_t,
8625    ) -> xcb_generic_iterator_t {
8626        sym!(self, xcb_xkb_key_alias_end)(i)
8627    }
8628
8629    /// Returns `true` iff the symbol `xcb_xkb_key_alias_end` could be loaded.
8630    #[cfg(feature = "has_symbol")]
8631    pub fn has_xcb_xkb_key_alias_end(&self) -> bool {
8632        has_sym!(self, xcb_xkb_key_alias_end)
8633    }
8634
8635    /// Computes the size of a `xcb_xkb_counted_string_16_t` object.
8636    #[inline]
8637    pub unsafe fn xcb_xkb_counted_string_16_sizeof(&self, _buffer: *const c_void) -> c_int {
8638        sym!(self, xcb_xkb_counted_string_16_sizeof)(_buffer)
8639    }
8640
8641    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_sizeof` could be loaded.
8642    #[cfg(feature = "has_symbol")]
8643    pub fn has_xcb_xkb_counted_string_16_sizeof(&self) -> bool {
8644        has_sym!(self, xcb_xkb_counted_string_16_sizeof)
8645    }
8646
8647    /// Returns a pointer to the `string` field of a `xcb_xkb_counted_string_16_t` struct.
8648    #[inline]
8649    pub unsafe fn xcb_xkb_counted_string_16_string(
8650        &self,
8651        r: *const xcb_xkb_counted_string_16_t,
8652    ) -> *mut c_char {
8653        sym!(self, xcb_xkb_counted_string_16_string)(r)
8654    }
8655
8656    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_string` could be loaded.
8657    #[cfg(feature = "has_symbol")]
8658    pub fn has_xcb_xkb_counted_string_16_string(&self) -> bool {
8659        has_sym!(self, xcb_xkb_counted_string_16_string)
8660    }
8661
8662    /// Returns the number of elements of the `string` field of a `xcb_xkb_counted_string_16_t` struct.
8663    #[inline]
8664    pub unsafe fn xcb_xkb_counted_string_16_string_length(
8665        &self,
8666        r: *const xcb_xkb_counted_string_16_t,
8667    ) -> c_int {
8668        sym!(self, xcb_xkb_counted_string_16_string_length)(r)
8669    }
8670
8671    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_string_length` could be loaded.
8672    #[cfg(feature = "has_symbol")]
8673    pub fn has_xcb_xkb_counted_string_16_string_length(&self) -> bool {
8674        has_sym!(self, xcb_xkb_counted_string_16_string_length)
8675    }
8676
8677    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8678    /// `string` field of a `xcb_xkb_counted_string_16_t` struct.
8679    #[inline]
8680    pub unsafe fn xcb_xkb_counted_string_16_string_end(
8681        &self,
8682        r: *const xcb_xkb_counted_string_16_t,
8683    ) -> xcb_generic_iterator_t {
8684        sym!(self, xcb_xkb_counted_string_16_string_end)(r)
8685    }
8686
8687    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_string_end` could be loaded.
8688    #[cfg(feature = "has_symbol")]
8689    pub fn has_xcb_xkb_counted_string_16_string_end(&self) -> bool {
8690        has_sym!(self, xcb_xkb_counted_string_16_string_end)
8691    }
8692
8693    /// Returns a pointer to the `alignment_pad` field of a `xcb_xkb_counted_string_16_t` struct.
8694    #[inline]
8695    pub unsafe fn xcb_xkb_counted_string_16_alignment_pad(
8696        &self,
8697        r: *const xcb_xkb_counted_string_16_t,
8698    ) -> *mut c_void {
8699        sym!(self, xcb_xkb_counted_string_16_alignment_pad)(r)
8700    }
8701
8702    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_alignment_pad` could be loaded.
8703    #[cfg(feature = "has_symbol")]
8704    pub fn has_xcb_xkb_counted_string_16_alignment_pad(&self) -> bool {
8705        has_sym!(self, xcb_xkb_counted_string_16_alignment_pad)
8706    }
8707
8708    /// Returns the number of elements of the `alignment_pad` field of a `xcb_xkb_counted_string_16_t` struct.
8709    #[inline]
8710    pub unsafe fn xcb_xkb_counted_string_16_alignment_pad_length(
8711        &self,
8712        r: *const xcb_xkb_counted_string_16_t,
8713    ) -> c_int {
8714        sym!(self, xcb_xkb_counted_string_16_alignment_pad_length)(r)
8715    }
8716
8717    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_alignment_pad_length` could be loaded.
8718    #[cfg(feature = "has_symbol")]
8719    pub fn has_xcb_xkb_counted_string_16_alignment_pad_length(&self) -> bool {
8720        has_sym!(self, xcb_xkb_counted_string_16_alignment_pad_length)
8721    }
8722
8723    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8724    /// `alignment_pad` field of a `xcb_xkb_counted_string_16_t` struct.
8725    #[inline]
8726    pub unsafe fn xcb_xkb_counted_string_16_alignment_pad_end(
8727        &self,
8728        r: *const xcb_xkb_counted_string_16_t,
8729    ) -> xcb_generic_iterator_t {
8730        sym!(self, xcb_xkb_counted_string_16_alignment_pad_end)(r)
8731    }
8732
8733    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_alignment_pad_end` could be loaded.
8734    #[cfg(feature = "has_symbol")]
8735    pub fn has_xcb_xkb_counted_string_16_alignment_pad_end(&self) -> bool {
8736        has_sym!(self, xcb_xkb_counted_string_16_alignment_pad_end)
8737    }
8738
8739    /// Advances a `xcb_xkb_counted_string_16_iterator_t` iterator by 1 element.
8740    #[inline]
8741    pub unsafe fn xcb_xkb_counted_string_16_next(
8742        &self,
8743        i: *mut xcb_xkb_counted_string_16_iterator_t,
8744    ) {
8745        sym!(self, xcb_xkb_counted_string_16_next)(i)
8746    }
8747
8748    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_next` could be loaded.
8749    #[cfg(feature = "has_symbol")]
8750    pub fn has_xcb_xkb_counted_string_16_next(&self) -> bool {
8751        has_sym!(self, xcb_xkb_counted_string_16_next)
8752    }
8753
8754    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_counted_string_16_iterator_t`.
8755    #[inline]
8756    pub unsafe fn xcb_xkb_counted_string_16_end(
8757        &self,
8758        i: xcb_xkb_counted_string_16_iterator_t,
8759    ) -> xcb_generic_iterator_t {
8760        sym!(self, xcb_xkb_counted_string_16_end)(i)
8761    }
8762
8763    /// Returns `true` iff the symbol `xcb_xkb_counted_string_16_end` could be loaded.
8764    #[cfg(feature = "has_symbol")]
8765    pub fn has_xcb_xkb_counted_string_16_end(&self) -> bool {
8766        has_sym!(self, xcb_xkb_counted_string_16_end)
8767    }
8768
8769    /// Advances a `xcb_xkb_kt_map_entry_iterator_t` iterator by 1 element.
8770    #[inline]
8771    pub unsafe fn xcb_xkb_kt_map_entry_next(&self, i: *mut xcb_xkb_kt_map_entry_iterator_t) {
8772        sym!(self, xcb_xkb_kt_map_entry_next)(i)
8773    }
8774
8775    /// Returns `true` iff the symbol `xcb_xkb_kt_map_entry_next` could be loaded.
8776    #[cfg(feature = "has_symbol")]
8777    pub fn has_xcb_xkb_kt_map_entry_next(&self) -> bool {
8778        has_sym!(self, xcb_xkb_kt_map_entry_next)
8779    }
8780
8781    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_kt_map_entry_iterator_t`.
8782    #[inline]
8783    pub unsafe fn xcb_xkb_kt_map_entry_end(
8784        &self,
8785        i: xcb_xkb_kt_map_entry_iterator_t,
8786    ) -> xcb_generic_iterator_t {
8787        sym!(self, xcb_xkb_kt_map_entry_end)(i)
8788    }
8789
8790    /// Returns `true` iff the symbol `xcb_xkb_kt_map_entry_end` could be loaded.
8791    #[cfg(feature = "has_symbol")]
8792    pub fn has_xcb_xkb_kt_map_entry_end(&self) -> bool {
8793        has_sym!(self, xcb_xkb_kt_map_entry_end)
8794    }
8795
8796    /// Computes the size of a `xcb_xkb_key_type_t` object.
8797    #[inline]
8798    pub unsafe fn xcb_xkb_key_type_sizeof(&self, _buffer: *const c_void) -> c_int {
8799        sym!(self, xcb_xkb_key_type_sizeof)(_buffer)
8800    }
8801
8802    /// Returns `true` iff the symbol `xcb_xkb_key_type_sizeof` could be loaded.
8803    #[cfg(feature = "has_symbol")]
8804    pub fn has_xcb_xkb_key_type_sizeof(&self) -> bool {
8805        has_sym!(self, xcb_xkb_key_type_sizeof)
8806    }
8807
8808    /// Returns a pointer to the `map` field of a `xcb_xkb_key_type_t` struct.
8809    #[inline]
8810    pub unsafe fn xcb_xkb_key_type_map(
8811        &self,
8812        r: *const xcb_xkb_key_type_t,
8813    ) -> *mut xcb_xkb_kt_map_entry_t {
8814        sym!(self, xcb_xkb_key_type_map)(r)
8815    }
8816
8817    /// Returns `true` iff the symbol `xcb_xkb_key_type_map` could be loaded.
8818    #[cfg(feature = "has_symbol")]
8819    pub fn has_xcb_xkb_key_type_map(&self) -> bool {
8820        has_sym!(self, xcb_xkb_key_type_map)
8821    }
8822
8823    /// Returns the number of elements of the `map` field of a `xcb_xkb_key_type_t` struct.
8824    #[inline]
8825    pub unsafe fn xcb_xkb_key_type_map_length(&self, r: *const xcb_xkb_key_type_t) -> c_int {
8826        sym!(self, xcb_xkb_key_type_map_length)(r)
8827    }
8828
8829    /// Returns `true` iff the symbol `xcb_xkb_key_type_map_length` could be loaded.
8830    #[cfg(feature = "has_symbol")]
8831    pub fn has_xcb_xkb_key_type_map_length(&self) -> bool {
8832        has_sym!(self, xcb_xkb_key_type_map_length)
8833    }
8834
8835    /// Returns an iterator over the elements of the
8836    /// `map` field of a `xcb_xkb_key_type_t` struct.
8837    #[inline]
8838    pub unsafe fn xcb_xkb_key_type_map_iterator(
8839        &self,
8840        r: *const xcb_xkb_key_type_t,
8841    ) -> xcb_xkb_kt_map_entry_iterator_t {
8842        sym!(self, xcb_xkb_key_type_map_iterator)(r)
8843    }
8844
8845    /// Returns `true` iff the symbol `xcb_xkb_key_type_map_iterator` could be loaded.
8846    #[cfg(feature = "has_symbol")]
8847    pub fn has_xcb_xkb_key_type_map_iterator(&self) -> bool {
8848        has_sym!(self, xcb_xkb_key_type_map_iterator)
8849    }
8850
8851    /// Returns a pointer to the `preserve` field of a `xcb_xkb_key_type_t` struct.
8852    #[inline]
8853    pub unsafe fn xcb_xkb_key_type_preserve(
8854        &self,
8855        r: *const xcb_xkb_key_type_t,
8856    ) -> *mut xcb_xkb_mod_def_t {
8857        sym!(self, xcb_xkb_key_type_preserve)(r)
8858    }
8859
8860    /// Returns `true` iff the symbol `xcb_xkb_key_type_preserve` could be loaded.
8861    #[cfg(feature = "has_symbol")]
8862    pub fn has_xcb_xkb_key_type_preserve(&self) -> bool {
8863        has_sym!(self, xcb_xkb_key_type_preserve)
8864    }
8865
8866    /// Returns the number of elements of the `preserve` field of a `xcb_xkb_key_type_t` struct.
8867    #[inline]
8868    pub unsafe fn xcb_xkb_key_type_preserve_length(&self, r: *const xcb_xkb_key_type_t) -> c_int {
8869        sym!(self, xcb_xkb_key_type_preserve_length)(r)
8870    }
8871
8872    /// Returns `true` iff the symbol `xcb_xkb_key_type_preserve_length` could be loaded.
8873    #[cfg(feature = "has_symbol")]
8874    pub fn has_xcb_xkb_key_type_preserve_length(&self) -> bool {
8875        has_sym!(self, xcb_xkb_key_type_preserve_length)
8876    }
8877
8878    /// Returns an iterator over the elements of the
8879    /// `preserve` field of a `xcb_xkb_key_type_t` struct.
8880    #[inline]
8881    pub unsafe fn xcb_xkb_key_type_preserve_iterator(
8882        &self,
8883        r: *const xcb_xkb_key_type_t,
8884    ) -> xcb_xkb_mod_def_iterator_t {
8885        sym!(self, xcb_xkb_key_type_preserve_iterator)(r)
8886    }
8887
8888    /// Returns `true` iff the symbol `xcb_xkb_key_type_preserve_iterator` could be loaded.
8889    #[cfg(feature = "has_symbol")]
8890    pub fn has_xcb_xkb_key_type_preserve_iterator(&self) -> bool {
8891        has_sym!(self, xcb_xkb_key_type_preserve_iterator)
8892    }
8893
8894    /// Advances a `xcb_xkb_key_type_iterator_t` iterator by 1 element.
8895    #[inline]
8896    pub unsafe fn xcb_xkb_key_type_next(&self, i: *mut xcb_xkb_key_type_iterator_t) {
8897        sym!(self, xcb_xkb_key_type_next)(i)
8898    }
8899
8900    /// Returns `true` iff the symbol `xcb_xkb_key_type_next` could be loaded.
8901    #[cfg(feature = "has_symbol")]
8902    pub fn has_xcb_xkb_key_type_next(&self) -> bool {
8903        has_sym!(self, xcb_xkb_key_type_next)
8904    }
8905
8906    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_type_iterator_t`.
8907    #[inline]
8908    pub unsafe fn xcb_xkb_key_type_end(
8909        &self,
8910        i: xcb_xkb_key_type_iterator_t,
8911    ) -> xcb_generic_iterator_t {
8912        sym!(self, xcb_xkb_key_type_end)(i)
8913    }
8914
8915    /// Returns `true` iff the symbol `xcb_xkb_key_type_end` could be loaded.
8916    #[cfg(feature = "has_symbol")]
8917    pub fn has_xcb_xkb_key_type_end(&self) -> bool {
8918        has_sym!(self, xcb_xkb_key_type_end)
8919    }
8920
8921    /// Computes the size of a `xcb_xkb_key_sym_map_t` object.
8922    #[inline]
8923    pub unsafe fn xcb_xkb_key_sym_map_sizeof(&self, _buffer: *const c_void) -> c_int {
8924        sym!(self, xcb_xkb_key_sym_map_sizeof)(_buffer)
8925    }
8926
8927    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_sizeof` could be loaded.
8928    #[cfg(feature = "has_symbol")]
8929    pub fn has_xcb_xkb_key_sym_map_sizeof(&self) -> bool {
8930        has_sym!(self, xcb_xkb_key_sym_map_sizeof)
8931    }
8932
8933    /// Returns a pointer to the `syms` field of a `xcb_xkb_key_sym_map_t` struct.
8934    #[inline]
8935    pub unsafe fn xcb_xkb_key_sym_map_syms(
8936        &self,
8937        r: *const xcb_xkb_key_sym_map_t,
8938    ) -> *mut xcb_keysym_t {
8939        sym!(self, xcb_xkb_key_sym_map_syms)(r)
8940    }
8941
8942    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_syms` could be loaded.
8943    #[cfg(feature = "has_symbol")]
8944    pub fn has_xcb_xkb_key_sym_map_syms(&self) -> bool {
8945        has_sym!(self, xcb_xkb_key_sym_map_syms)
8946    }
8947
8948    /// Returns the number of elements of the `syms` field of a `xcb_xkb_key_sym_map_t` struct.
8949    #[inline]
8950    pub unsafe fn xcb_xkb_key_sym_map_syms_length(&self, r: *const xcb_xkb_key_sym_map_t) -> c_int {
8951        sym!(self, xcb_xkb_key_sym_map_syms_length)(r)
8952    }
8953
8954    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_syms_length` could be loaded.
8955    #[cfg(feature = "has_symbol")]
8956    pub fn has_xcb_xkb_key_sym_map_syms_length(&self) -> bool {
8957        has_sym!(self, xcb_xkb_key_sym_map_syms_length)
8958    }
8959
8960    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
8961    /// `syms` field of a `xcb_xkb_key_sym_map_t` struct.
8962    #[inline]
8963    pub unsafe fn xcb_xkb_key_sym_map_syms_end(
8964        &self,
8965        r: *const xcb_xkb_key_sym_map_t,
8966    ) -> xcb_generic_iterator_t {
8967        sym!(self, xcb_xkb_key_sym_map_syms_end)(r)
8968    }
8969
8970    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_syms_end` could be loaded.
8971    #[cfg(feature = "has_symbol")]
8972    pub fn has_xcb_xkb_key_sym_map_syms_end(&self) -> bool {
8973        has_sym!(self, xcb_xkb_key_sym_map_syms_end)
8974    }
8975
8976    /// Advances a `xcb_xkb_key_sym_map_iterator_t` iterator by 1 element.
8977    #[inline]
8978    pub unsafe fn xcb_xkb_key_sym_map_next(&self, i: *mut xcb_xkb_key_sym_map_iterator_t) {
8979        sym!(self, xcb_xkb_key_sym_map_next)(i)
8980    }
8981
8982    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_next` could be loaded.
8983    #[cfg(feature = "has_symbol")]
8984    pub fn has_xcb_xkb_key_sym_map_next(&self) -> bool {
8985        has_sym!(self, xcb_xkb_key_sym_map_next)
8986    }
8987
8988    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_sym_map_iterator_t`.
8989    #[inline]
8990    pub unsafe fn xcb_xkb_key_sym_map_end(
8991        &self,
8992        i: xcb_xkb_key_sym_map_iterator_t,
8993    ) -> xcb_generic_iterator_t {
8994        sym!(self, xcb_xkb_key_sym_map_end)(i)
8995    }
8996
8997    /// Returns `true` iff the symbol `xcb_xkb_key_sym_map_end` could be loaded.
8998    #[cfg(feature = "has_symbol")]
8999    pub fn has_xcb_xkb_key_sym_map_end(&self) -> bool {
9000        has_sym!(self, xcb_xkb_key_sym_map_end)
9001    }
9002
9003    /// Advances a `xcb_xkb_common_behavior_iterator_t` iterator by 1 element.
9004    #[inline]
9005    pub unsafe fn xcb_xkb_common_behavior_next(&self, i: *mut xcb_xkb_common_behavior_iterator_t) {
9006        sym!(self, xcb_xkb_common_behavior_next)(i)
9007    }
9008
9009    /// Returns `true` iff the symbol `xcb_xkb_common_behavior_next` could be loaded.
9010    #[cfg(feature = "has_symbol")]
9011    pub fn has_xcb_xkb_common_behavior_next(&self) -> bool {
9012        has_sym!(self, xcb_xkb_common_behavior_next)
9013    }
9014
9015    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_common_behavior_iterator_t`.
9016    #[inline]
9017    pub unsafe fn xcb_xkb_common_behavior_end(
9018        &self,
9019        i: xcb_xkb_common_behavior_iterator_t,
9020    ) -> xcb_generic_iterator_t {
9021        sym!(self, xcb_xkb_common_behavior_end)(i)
9022    }
9023
9024    /// Returns `true` iff the symbol `xcb_xkb_common_behavior_end` could be loaded.
9025    #[cfg(feature = "has_symbol")]
9026    pub fn has_xcb_xkb_common_behavior_end(&self) -> bool {
9027        has_sym!(self, xcb_xkb_common_behavior_end)
9028    }
9029
9030    /// Advances a `xcb_xkb_default_behavior_iterator_t` iterator by 1 element.
9031    #[inline]
9032    pub unsafe fn xcb_xkb_default_behavior_next(
9033        &self,
9034        i: *mut xcb_xkb_default_behavior_iterator_t,
9035    ) {
9036        sym!(self, xcb_xkb_default_behavior_next)(i)
9037    }
9038
9039    /// Returns `true` iff the symbol `xcb_xkb_default_behavior_next` could be loaded.
9040    #[cfg(feature = "has_symbol")]
9041    pub fn has_xcb_xkb_default_behavior_next(&self) -> bool {
9042        has_sym!(self, xcb_xkb_default_behavior_next)
9043    }
9044
9045    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_default_behavior_iterator_t`.
9046    #[inline]
9047    pub unsafe fn xcb_xkb_default_behavior_end(
9048        &self,
9049        i: xcb_xkb_default_behavior_iterator_t,
9050    ) -> xcb_generic_iterator_t {
9051        sym!(self, xcb_xkb_default_behavior_end)(i)
9052    }
9053
9054    /// Returns `true` iff the symbol `xcb_xkb_default_behavior_end` could be loaded.
9055    #[cfg(feature = "has_symbol")]
9056    pub fn has_xcb_xkb_default_behavior_end(&self) -> bool {
9057        has_sym!(self, xcb_xkb_default_behavior_end)
9058    }
9059
9060    /// Advances a `xcb_xkb_lock_behavior_iterator_t` iterator by 1 element.
9061    #[inline]
9062    pub unsafe fn xcb_xkb_lock_behavior_next(&self, i: *mut xcb_xkb_lock_behavior_iterator_t) {
9063        sym!(self, xcb_xkb_lock_behavior_next)(i)
9064    }
9065
9066    /// Returns `true` iff the symbol `xcb_xkb_lock_behavior_next` could be loaded.
9067    #[cfg(feature = "has_symbol")]
9068    pub fn has_xcb_xkb_lock_behavior_next(&self) -> bool {
9069        has_sym!(self, xcb_xkb_lock_behavior_next)
9070    }
9071
9072    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_lock_behavior_iterator_t`.
9073    #[inline]
9074    pub unsafe fn xcb_xkb_lock_behavior_end(
9075        &self,
9076        i: xcb_xkb_lock_behavior_iterator_t,
9077    ) -> xcb_generic_iterator_t {
9078        sym!(self, xcb_xkb_lock_behavior_end)(i)
9079    }
9080
9081    /// Returns `true` iff the symbol `xcb_xkb_lock_behavior_end` could be loaded.
9082    #[cfg(feature = "has_symbol")]
9083    pub fn has_xcb_xkb_lock_behavior_end(&self) -> bool {
9084        has_sym!(self, xcb_xkb_lock_behavior_end)
9085    }
9086
9087    /// Advances a `xcb_xkb_radio_group_behavior_iterator_t` iterator by 1 element.
9088    #[inline]
9089    pub unsafe fn xcb_xkb_radio_group_behavior_next(
9090        &self,
9091        i: *mut xcb_xkb_radio_group_behavior_iterator_t,
9092    ) {
9093        sym!(self, xcb_xkb_radio_group_behavior_next)(i)
9094    }
9095
9096    /// Returns `true` iff the symbol `xcb_xkb_radio_group_behavior_next` could be loaded.
9097    #[cfg(feature = "has_symbol")]
9098    pub fn has_xcb_xkb_radio_group_behavior_next(&self) -> bool {
9099        has_sym!(self, xcb_xkb_radio_group_behavior_next)
9100    }
9101
9102    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_radio_group_behavior_iterator_t`.
9103    #[inline]
9104    pub unsafe fn xcb_xkb_radio_group_behavior_end(
9105        &self,
9106        i: xcb_xkb_radio_group_behavior_iterator_t,
9107    ) -> xcb_generic_iterator_t {
9108        sym!(self, xcb_xkb_radio_group_behavior_end)(i)
9109    }
9110
9111    /// Returns `true` iff the symbol `xcb_xkb_radio_group_behavior_end` could be loaded.
9112    #[cfg(feature = "has_symbol")]
9113    pub fn has_xcb_xkb_radio_group_behavior_end(&self) -> bool {
9114        has_sym!(self, xcb_xkb_radio_group_behavior_end)
9115    }
9116
9117    /// Advances a `xcb_xkb_overlay_behavior_iterator_t` iterator by 1 element.
9118    #[inline]
9119    pub unsafe fn xcb_xkb_overlay_behavior_next(
9120        &self,
9121        i: *mut xcb_xkb_overlay_behavior_iterator_t,
9122    ) {
9123        sym!(self, xcb_xkb_overlay_behavior_next)(i)
9124    }
9125
9126    /// Returns `true` iff the symbol `xcb_xkb_overlay_behavior_next` could be loaded.
9127    #[cfg(feature = "has_symbol")]
9128    pub fn has_xcb_xkb_overlay_behavior_next(&self) -> bool {
9129        has_sym!(self, xcb_xkb_overlay_behavior_next)
9130    }
9131
9132    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_overlay_behavior_iterator_t`.
9133    #[inline]
9134    pub unsafe fn xcb_xkb_overlay_behavior_end(
9135        &self,
9136        i: xcb_xkb_overlay_behavior_iterator_t,
9137    ) -> xcb_generic_iterator_t {
9138        sym!(self, xcb_xkb_overlay_behavior_end)(i)
9139    }
9140
9141    /// Returns `true` iff the symbol `xcb_xkb_overlay_behavior_end` could be loaded.
9142    #[cfg(feature = "has_symbol")]
9143    pub fn has_xcb_xkb_overlay_behavior_end(&self) -> bool {
9144        has_sym!(self, xcb_xkb_overlay_behavior_end)
9145    }
9146
9147    /// Advances a `xcb_xkb_permament_lock_behavior_iterator_t` iterator by 1 element.
9148    #[inline]
9149    pub unsafe fn xcb_xkb_permament_lock_behavior_next(
9150        &self,
9151        i: *mut xcb_xkb_permament_lock_behavior_iterator_t,
9152    ) {
9153        sym!(self, xcb_xkb_permament_lock_behavior_next)(i)
9154    }
9155
9156    /// Returns `true` iff the symbol `xcb_xkb_permament_lock_behavior_next` could be loaded.
9157    #[cfg(feature = "has_symbol")]
9158    pub fn has_xcb_xkb_permament_lock_behavior_next(&self) -> bool {
9159        has_sym!(self, xcb_xkb_permament_lock_behavior_next)
9160    }
9161
9162    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_permament_lock_behavior_iterator_t`.
9163    #[inline]
9164    pub unsafe fn xcb_xkb_permament_lock_behavior_end(
9165        &self,
9166        i: xcb_xkb_permament_lock_behavior_iterator_t,
9167    ) -> xcb_generic_iterator_t {
9168        sym!(self, xcb_xkb_permament_lock_behavior_end)(i)
9169    }
9170
9171    /// Returns `true` iff the symbol `xcb_xkb_permament_lock_behavior_end` could be loaded.
9172    #[cfg(feature = "has_symbol")]
9173    pub fn has_xcb_xkb_permament_lock_behavior_end(&self) -> bool {
9174        has_sym!(self, xcb_xkb_permament_lock_behavior_end)
9175    }
9176
9177    /// Advances a `xcb_xkb_permament_radio_group_behavior_iterator_t` iterator by 1 element.
9178    #[inline]
9179    pub unsafe fn xcb_xkb_permament_radio_group_behavior_next(
9180        &self,
9181        i: *mut xcb_xkb_permament_radio_group_behavior_iterator_t,
9182    ) {
9183        sym!(self, xcb_xkb_permament_radio_group_behavior_next)(i)
9184    }
9185
9186    /// Returns `true` iff the symbol `xcb_xkb_permament_radio_group_behavior_next` could be loaded.
9187    #[cfg(feature = "has_symbol")]
9188    pub fn has_xcb_xkb_permament_radio_group_behavior_next(&self) -> bool {
9189        has_sym!(self, xcb_xkb_permament_radio_group_behavior_next)
9190    }
9191
9192    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_permament_radio_group_behavior_iterator_t`.
9193    #[inline]
9194    pub unsafe fn xcb_xkb_permament_radio_group_behavior_end(
9195        &self,
9196        i: xcb_xkb_permament_radio_group_behavior_iterator_t,
9197    ) -> xcb_generic_iterator_t {
9198        sym!(self, xcb_xkb_permament_radio_group_behavior_end)(i)
9199    }
9200
9201    /// Returns `true` iff the symbol `xcb_xkb_permament_radio_group_behavior_end` could be loaded.
9202    #[cfg(feature = "has_symbol")]
9203    pub fn has_xcb_xkb_permament_radio_group_behavior_end(&self) -> bool {
9204        has_sym!(self, xcb_xkb_permament_radio_group_behavior_end)
9205    }
9206
9207    /// Advances a `xcb_xkb_permament_overlay_behavior_iterator_t` iterator by 1 element.
9208    #[inline]
9209    pub unsafe fn xcb_xkb_permament_overlay_behavior_next(
9210        &self,
9211        i: *mut xcb_xkb_permament_overlay_behavior_iterator_t,
9212    ) {
9213        sym!(self, xcb_xkb_permament_overlay_behavior_next)(i)
9214    }
9215
9216    /// Returns `true` iff the symbol `xcb_xkb_permament_overlay_behavior_next` could be loaded.
9217    #[cfg(feature = "has_symbol")]
9218    pub fn has_xcb_xkb_permament_overlay_behavior_next(&self) -> bool {
9219        has_sym!(self, xcb_xkb_permament_overlay_behavior_next)
9220    }
9221
9222    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_permament_overlay_behavior_iterator_t`.
9223    #[inline]
9224    pub unsafe fn xcb_xkb_permament_overlay_behavior_end(
9225        &self,
9226        i: xcb_xkb_permament_overlay_behavior_iterator_t,
9227    ) -> xcb_generic_iterator_t {
9228        sym!(self, xcb_xkb_permament_overlay_behavior_end)(i)
9229    }
9230
9231    /// Returns `true` iff the symbol `xcb_xkb_permament_overlay_behavior_end` could be loaded.
9232    #[cfg(feature = "has_symbol")]
9233    pub fn has_xcb_xkb_permament_overlay_behavior_end(&self) -> bool {
9234        has_sym!(self, xcb_xkb_permament_overlay_behavior_end)
9235    }
9236
9237    /// Advances a `xcb_xkb_behavior_iterator_t` iterator by 1 element.
9238    #[inline]
9239    pub unsafe fn xcb_xkb_behavior_next(&self, i: *mut xcb_xkb_behavior_iterator_t) {
9240        sym!(self, xcb_xkb_behavior_next)(i)
9241    }
9242
9243    /// Returns `true` iff the symbol `xcb_xkb_behavior_next` could be loaded.
9244    #[cfg(feature = "has_symbol")]
9245    pub fn has_xcb_xkb_behavior_next(&self) -> bool {
9246        has_sym!(self, xcb_xkb_behavior_next)
9247    }
9248
9249    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_behavior_iterator_t`.
9250    #[inline]
9251    pub unsafe fn xcb_xkb_behavior_end(
9252        &self,
9253        i: xcb_xkb_behavior_iterator_t,
9254    ) -> xcb_generic_iterator_t {
9255        sym!(self, xcb_xkb_behavior_end)(i)
9256    }
9257
9258    /// Returns `true` iff the symbol `xcb_xkb_behavior_end` could be loaded.
9259    #[cfg(feature = "has_symbol")]
9260    pub fn has_xcb_xkb_behavior_end(&self) -> bool {
9261        has_sym!(self, xcb_xkb_behavior_end)
9262    }
9263
9264    /// Advances a `xcb_xkb_set_behavior_iterator_t` iterator by 1 element.
9265    #[inline]
9266    pub unsafe fn xcb_xkb_set_behavior_next(&self, i: *mut xcb_xkb_set_behavior_iterator_t) {
9267        sym!(self, xcb_xkb_set_behavior_next)(i)
9268    }
9269
9270    /// Returns `true` iff the symbol `xcb_xkb_set_behavior_next` could be loaded.
9271    #[cfg(feature = "has_symbol")]
9272    pub fn has_xcb_xkb_set_behavior_next(&self) -> bool {
9273        has_sym!(self, xcb_xkb_set_behavior_next)
9274    }
9275
9276    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_set_behavior_iterator_t`.
9277    #[inline]
9278    pub unsafe fn xcb_xkb_set_behavior_end(
9279        &self,
9280        i: xcb_xkb_set_behavior_iterator_t,
9281    ) -> xcb_generic_iterator_t {
9282        sym!(self, xcb_xkb_set_behavior_end)(i)
9283    }
9284
9285    /// Returns `true` iff the symbol `xcb_xkb_set_behavior_end` could be loaded.
9286    #[cfg(feature = "has_symbol")]
9287    pub fn has_xcb_xkb_set_behavior_end(&self) -> bool {
9288        has_sym!(self, xcb_xkb_set_behavior_end)
9289    }
9290
9291    /// Advances a `xcb_xkb_set_explicit_iterator_t` iterator by 1 element.
9292    #[inline]
9293    pub unsafe fn xcb_xkb_set_explicit_next(&self, i: *mut xcb_xkb_set_explicit_iterator_t) {
9294        sym!(self, xcb_xkb_set_explicit_next)(i)
9295    }
9296
9297    /// Returns `true` iff the symbol `xcb_xkb_set_explicit_next` could be loaded.
9298    #[cfg(feature = "has_symbol")]
9299    pub fn has_xcb_xkb_set_explicit_next(&self) -> bool {
9300        has_sym!(self, xcb_xkb_set_explicit_next)
9301    }
9302
9303    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_set_explicit_iterator_t`.
9304    #[inline]
9305    pub unsafe fn xcb_xkb_set_explicit_end(
9306        &self,
9307        i: xcb_xkb_set_explicit_iterator_t,
9308    ) -> xcb_generic_iterator_t {
9309        sym!(self, xcb_xkb_set_explicit_end)(i)
9310    }
9311
9312    /// Returns `true` iff the symbol `xcb_xkb_set_explicit_end` could be loaded.
9313    #[cfg(feature = "has_symbol")]
9314    pub fn has_xcb_xkb_set_explicit_end(&self) -> bool {
9315        has_sym!(self, xcb_xkb_set_explicit_end)
9316    }
9317
9318    /// Advances a `xcb_xkb_key_mod_map_iterator_t` iterator by 1 element.
9319    #[inline]
9320    pub unsafe fn xcb_xkb_key_mod_map_next(&self, i: *mut xcb_xkb_key_mod_map_iterator_t) {
9321        sym!(self, xcb_xkb_key_mod_map_next)(i)
9322    }
9323
9324    /// Returns `true` iff the symbol `xcb_xkb_key_mod_map_next` could be loaded.
9325    #[cfg(feature = "has_symbol")]
9326    pub fn has_xcb_xkb_key_mod_map_next(&self) -> bool {
9327        has_sym!(self, xcb_xkb_key_mod_map_next)
9328    }
9329
9330    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_mod_map_iterator_t`.
9331    #[inline]
9332    pub unsafe fn xcb_xkb_key_mod_map_end(
9333        &self,
9334        i: xcb_xkb_key_mod_map_iterator_t,
9335    ) -> xcb_generic_iterator_t {
9336        sym!(self, xcb_xkb_key_mod_map_end)(i)
9337    }
9338
9339    /// Returns `true` iff the symbol `xcb_xkb_key_mod_map_end` could be loaded.
9340    #[cfg(feature = "has_symbol")]
9341    pub fn has_xcb_xkb_key_mod_map_end(&self) -> bool {
9342        has_sym!(self, xcb_xkb_key_mod_map_end)
9343    }
9344
9345    /// Advances a `xcb_xkb_key_v_mod_map_iterator_t` iterator by 1 element.
9346    #[inline]
9347    pub unsafe fn xcb_xkb_key_v_mod_map_next(&self, i: *mut xcb_xkb_key_v_mod_map_iterator_t) {
9348        sym!(self, xcb_xkb_key_v_mod_map_next)(i)
9349    }
9350
9351    /// Returns `true` iff the symbol `xcb_xkb_key_v_mod_map_next` could be loaded.
9352    #[cfg(feature = "has_symbol")]
9353    pub fn has_xcb_xkb_key_v_mod_map_next(&self) -> bool {
9354        has_sym!(self, xcb_xkb_key_v_mod_map_next)
9355    }
9356
9357    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_v_mod_map_iterator_t`.
9358    #[inline]
9359    pub unsafe fn xcb_xkb_key_v_mod_map_end(
9360        &self,
9361        i: xcb_xkb_key_v_mod_map_iterator_t,
9362    ) -> xcb_generic_iterator_t {
9363        sym!(self, xcb_xkb_key_v_mod_map_end)(i)
9364    }
9365
9366    /// Returns `true` iff the symbol `xcb_xkb_key_v_mod_map_end` could be loaded.
9367    #[cfg(feature = "has_symbol")]
9368    pub fn has_xcb_xkb_key_v_mod_map_end(&self) -> bool {
9369        has_sym!(self, xcb_xkb_key_v_mod_map_end)
9370    }
9371
9372    /// Advances a `xcb_xkb_kt_set_map_entry_iterator_t` iterator by 1 element.
9373    #[inline]
9374    pub unsafe fn xcb_xkb_kt_set_map_entry_next(
9375        &self,
9376        i: *mut xcb_xkb_kt_set_map_entry_iterator_t,
9377    ) {
9378        sym!(self, xcb_xkb_kt_set_map_entry_next)(i)
9379    }
9380
9381    /// Returns `true` iff the symbol `xcb_xkb_kt_set_map_entry_next` could be loaded.
9382    #[cfg(feature = "has_symbol")]
9383    pub fn has_xcb_xkb_kt_set_map_entry_next(&self) -> bool {
9384        has_sym!(self, xcb_xkb_kt_set_map_entry_next)
9385    }
9386
9387    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_kt_set_map_entry_iterator_t`.
9388    #[inline]
9389    pub unsafe fn xcb_xkb_kt_set_map_entry_end(
9390        &self,
9391        i: xcb_xkb_kt_set_map_entry_iterator_t,
9392    ) -> xcb_generic_iterator_t {
9393        sym!(self, xcb_xkb_kt_set_map_entry_end)(i)
9394    }
9395
9396    /// Returns `true` iff the symbol `xcb_xkb_kt_set_map_entry_end` could be loaded.
9397    #[cfg(feature = "has_symbol")]
9398    pub fn has_xcb_xkb_kt_set_map_entry_end(&self) -> bool {
9399        has_sym!(self, xcb_xkb_kt_set_map_entry_end)
9400    }
9401
9402    /// Computes the size of a `xcb_xkb_set_key_type_t` object.
9403    #[inline]
9404    pub unsafe fn xcb_xkb_set_key_type_sizeof(&self, _buffer: *const c_void) -> c_int {
9405        sym!(self, xcb_xkb_set_key_type_sizeof)(_buffer)
9406    }
9407
9408    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_sizeof` could be loaded.
9409    #[cfg(feature = "has_symbol")]
9410    pub fn has_xcb_xkb_set_key_type_sizeof(&self) -> bool {
9411        has_sym!(self, xcb_xkb_set_key_type_sizeof)
9412    }
9413
9414    /// Returns a pointer to the `entries` field of a `xcb_xkb_set_key_type_t` struct.
9415    #[inline]
9416    pub unsafe fn xcb_xkb_set_key_type_entries(
9417        &self,
9418        r: *const xcb_xkb_set_key_type_t,
9419    ) -> *mut xcb_xkb_kt_set_map_entry_t {
9420        sym!(self, xcb_xkb_set_key_type_entries)(r)
9421    }
9422
9423    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_entries` could be loaded.
9424    #[cfg(feature = "has_symbol")]
9425    pub fn has_xcb_xkb_set_key_type_entries(&self) -> bool {
9426        has_sym!(self, xcb_xkb_set_key_type_entries)
9427    }
9428
9429    /// Returns the number of elements of the `entries` field of a `xcb_xkb_set_key_type_t` struct.
9430    #[inline]
9431    pub unsafe fn xcb_xkb_set_key_type_entries_length(
9432        &self,
9433        r: *const xcb_xkb_set_key_type_t,
9434    ) -> c_int {
9435        sym!(self, xcb_xkb_set_key_type_entries_length)(r)
9436    }
9437
9438    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_entries_length` could be loaded.
9439    #[cfg(feature = "has_symbol")]
9440    pub fn has_xcb_xkb_set_key_type_entries_length(&self) -> bool {
9441        has_sym!(self, xcb_xkb_set_key_type_entries_length)
9442    }
9443
9444    /// Returns an iterator over the elements of the
9445    /// `entries` field of a `xcb_xkb_set_key_type_t` struct.
9446    #[inline]
9447    pub unsafe fn xcb_xkb_set_key_type_entries_iterator(
9448        &self,
9449        r: *const xcb_xkb_set_key_type_t,
9450    ) -> xcb_xkb_kt_set_map_entry_iterator_t {
9451        sym!(self, xcb_xkb_set_key_type_entries_iterator)(r)
9452    }
9453
9454    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_entries_iterator` could be loaded.
9455    #[cfg(feature = "has_symbol")]
9456    pub fn has_xcb_xkb_set_key_type_entries_iterator(&self) -> bool {
9457        has_sym!(self, xcb_xkb_set_key_type_entries_iterator)
9458    }
9459
9460    /// Returns a pointer to the `preserve_entries` field of a `xcb_xkb_set_key_type_t` struct.
9461    #[inline]
9462    pub unsafe fn xcb_xkb_set_key_type_preserve_entries(
9463        &self,
9464        r: *const xcb_xkb_set_key_type_t,
9465    ) -> *mut xcb_xkb_kt_set_map_entry_t {
9466        sym!(self, xcb_xkb_set_key_type_preserve_entries)(r)
9467    }
9468
9469    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_preserve_entries` could be loaded.
9470    #[cfg(feature = "has_symbol")]
9471    pub fn has_xcb_xkb_set_key_type_preserve_entries(&self) -> bool {
9472        has_sym!(self, xcb_xkb_set_key_type_preserve_entries)
9473    }
9474
9475    /// Returns the number of elements of the `preserve_entries` field of a `xcb_xkb_set_key_type_t` struct.
9476    #[inline]
9477    pub unsafe fn xcb_xkb_set_key_type_preserve_entries_length(
9478        &self,
9479        r: *const xcb_xkb_set_key_type_t,
9480    ) -> c_int {
9481        sym!(self, xcb_xkb_set_key_type_preserve_entries_length)(r)
9482    }
9483
9484    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_preserve_entries_length` could be loaded.
9485    #[cfg(feature = "has_symbol")]
9486    pub fn has_xcb_xkb_set_key_type_preserve_entries_length(&self) -> bool {
9487        has_sym!(self, xcb_xkb_set_key_type_preserve_entries_length)
9488    }
9489
9490    /// Returns an iterator over the elements of the
9491    /// `preserve_entries` field of a `xcb_xkb_set_key_type_t` struct.
9492    #[inline]
9493    pub unsafe fn xcb_xkb_set_key_type_preserve_entries_iterator(
9494        &self,
9495        r: *const xcb_xkb_set_key_type_t,
9496    ) -> xcb_xkb_kt_set_map_entry_iterator_t {
9497        sym!(self, xcb_xkb_set_key_type_preserve_entries_iterator)(r)
9498    }
9499
9500    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_preserve_entries_iterator` could be loaded.
9501    #[cfg(feature = "has_symbol")]
9502    pub fn has_xcb_xkb_set_key_type_preserve_entries_iterator(&self) -> bool {
9503        has_sym!(self, xcb_xkb_set_key_type_preserve_entries_iterator)
9504    }
9505
9506    /// Advances a `xcb_xkb_set_key_type_iterator_t` iterator by 1 element.
9507    #[inline]
9508    pub unsafe fn xcb_xkb_set_key_type_next(&self, i: *mut xcb_xkb_set_key_type_iterator_t) {
9509        sym!(self, xcb_xkb_set_key_type_next)(i)
9510    }
9511
9512    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_next` could be loaded.
9513    #[cfg(feature = "has_symbol")]
9514    pub fn has_xcb_xkb_set_key_type_next(&self) -> bool {
9515        has_sym!(self, xcb_xkb_set_key_type_next)
9516    }
9517
9518    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_set_key_type_iterator_t`.
9519    #[inline]
9520    pub unsafe fn xcb_xkb_set_key_type_end(
9521        &self,
9522        i: xcb_xkb_set_key_type_iterator_t,
9523    ) -> xcb_generic_iterator_t {
9524        sym!(self, xcb_xkb_set_key_type_end)(i)
9525    }
9526
9527    /// Returns `true` iff the symbol `xcb_xkb_set_key_type_end` could be loaded.
9528    #[cfg(feature = "has_symbol")]
9529    pub fn has_xcb_xkb_set_key_type_end(&self) -> bool {
9530        has_sym!(self, xcb_xkb_set_key_type_end)
9531    }
9532
9533    /// Advances a `xcb_xkb_string8_iterator_t` iterator by 1 element.
9534    #[inline]
9535    pub unsafe fn xcb_xkb_string8_next(&self, i: *mut xcb_xkb_string8_iterator_t) {
9536        sym!(self, xcb_xkb_string8_next)(i)
9537    }
9538
9539    /// Returns `true` iff the symbol `xcb_xkb_string8_next` could be loaded.
9540    #[cfg(feature = "has_symbol")]
9541    pub fn has_xcb_xkb_string8_next(&self) -> bool {
9542        has_sym!(self, xcb_xkb_string8_next)
9543    }
9544
9545    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_string8_iterator_t`.
9546    #[inline]
9547    pub unsafe fn xcb_xkb_string8_end(
9548        &self,
9549        i: xcb_xkb_string8_iterator_t,
9550    ) -> xcb_generic_iterator_t {
9551        sym!(self, xcb_xkb_string8_end)(i)
9552    }
9553
9554    /// Returns `true` iff the symbol `xcb_xkb_string8_end` could be loaded.
9555    #[cfg(feature = "has_symbol")]
9556    pub fn has_xcb_xkb_string8_end(&self) -> bool {
9557        has_sym!(self, xcb_xkb_string8_end)
9558    }
9559
9560    /// Computes the size of a `xcb_xkb_outline_t` object.
9561    #[inline]
9562    pub unsafe fn xcb_xkb_outline_sizeof(&self, _buffer: *const c_void) -> c_int {
9563        sym!(self, xcb_xkb_outline_sizeof)(_buffer)
9564    }
9565
9566    /// Returns `true` iff the symbol `xcb_xkb_outline_sizeof` could be loaded.
9567    #[cfg(feature = "has_symbol")]
9568    pub fn has_xcb_xkb_outline_sizeof(&self) -> bool {
9569        has_sym!(self, xcb_xkb_outline_sizeof)
9570    }
9571
9572    /// Returns a pointer to the `points` field of a `xcb_xkb_outline_t` struct.
9573    #[inline]
9574    pub unsafe fn xcb_xkb_outline_points(&self, r: *const xcb_xkb_outline_t) -> *mut xcb_point_t {
9575        sym!(self, xcb_xkb_outline_points)(r)
9576    }
9577
9578    /// Returns `true` iff the symbol `xcb_xkb_outline_points` could be loaded.
9579    #[cfg(feature = "has_symbol")]
9580    pub fn has_xcb_xkb_outline_points(&self) -> bool {
9581        has_sym!(self, xcb_xkb_outline_points)
9582    }
9583
9584    /// Returns the number of elements of the `points` field of a `xcb_xkb_outline_t` struct.
9585    #[inline]
9586    pub unsafe fn xcb_xkb_outline_points_length(&self, r: *const xcb_xkb_outline_t) -> c_int {
9587        sym!(self, xcb_xkb_outline_points_length)(r)
9588    }
9589
9590    /// Returns `true` iff the symbol `xcb_xkb_outline_points_length` could be loaded.
9591    #[cfg(feature = "has_symbol")]
9592    pub fn has_xcb_xkb_outline_points_length(&self) -> bool {
9593        has_sym!(self, xcb_xkb_outline_points_length)
9594    }
9595
9596    /// Returns an iterator over the elements of the
9597    /// `points` field of a `xcb_xkb_outline_t` struct.
9598    #[inline]
9599    pub unsafe fn xcb_xkb_outline_points_iterator(
9600        &self,
9601        r: *const xcb_xkb_outline_t,
9602    ) -> xcb_point_iterator_t {
9603        sym!(self, xcb_xkb_outline_points_iterator)(r)
9604    }
9605
9606    /// Returns `true` iff the symbol `xcb_xkb_outline_points_iterator` could be loaded.
9607    #[cfg(feature = "has_symbol")]
9608    pub fn has_xcb_xkb_outline_points_iterator(&self) -> bool {
9609        has_sym!(self, xcb_xkb_outline_points_iterator)
9610    }
9611
9612    /// Advances a `xcb_xkb_outline_iterator_t` iterator by 1 element.
9613    #[inline]
9614    pub unsafe fn xcb_xkb_outline_next(&self, i: *mut xcb_xkb_outline_iterator_t) {
9615        sym!(self, xcb_xkb_outline_next)(i)
9616    }
9617
9618    /// Returns `true` iff the symbol `xcb_xkb_outline_next` could be loaded.
9619    #[cfg(feature = "has_symbol")]
9620    pub fn has_xcb_xkb_outline_next(&self) -> bool {
9621        has_sym!(self, xcb_xkb_outline_next)
9622    }
9623
9624    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_outline_iterator_t`.
9625    #[inline]
9626    pub unsafe fn xcb_xkb_outline_end(
9627        &self,
9628        i: xcb_xkb_outline_iterator_t,
9629    ) -> xcb_generic_iterator_t {
9630        sym!(self, xcb_xkb_outline_end)(i)
9631    }
9632
9633    /// Returns `true` iff the symbol `xcb_xkb_outline_end` could be loaded.
9634    #[cfg(feature = "has_symbol")]
9635    pub fn has_xcb_xkb_outline_end(&self) -> bool {
9636        has_sym!(self, xcb_xkb_outline_end)
9637    }
9638
9639    /// Computes the size of a `xcb_xkb_shape_t` object.
9640    #[inline]
9641    pub unsafe fn xcb_xkb_shape_sizeof(&self, _buffer: *const c_void) -> c_int {
9642        sym!(self, xcb_xkb_shape_sizeof)(_buffer)
9643    }
9644
9645    /// Returns `true` iff the symbol `xcb_xkb_shape_sizeof` could be loaded.
9646    #[cfg(feature = "has_symbol")]
9647    pub fn has_xcb_xkb_shape_sizeof(&self) -> bool {
9648        has_sym!(self, xcb_xkb_shape_sizeof)
9649    }
9650
9651    /// Returns the number of elements of the `outlines` field of a `xcb_xkb_shape_t` struct.
9652    #[inline]
9653    pub unsafe fn xcb_xkb_shape_outlines_length(&self, r: *const xcb_xkb_shape_t) -> c_int {
9654        sym!(self, xcb_xkb_shape_outlines_length)(r)
9655    }
9656
9657    /// Returns `true` iff the symbol `xcb_xkb_shape_outlines_length` could be loaded.
9658    #[cfg(feature = "has_symbol")]
9659    pub fn has_xcb_xkb_shape_outlines_length(&self) -> bool {
9660        has_sym!(self, xcb_xkb_shape_outlines_length)
9661    }
9662
9663    /// Returns an iterator over the elements of the
9664    /// `outlines` field of a `xcb_xkb_shape_t` struct.
9665    #[inline]
9666    pub unsafe fn xcb_xkb_shape_outlines_iterator(
9667        &self,
9668        r: *const xcb_xkb_shape_t,
9669    ) -> xcb_xkb_outline_iterator_t {
9670        sym!(self, xcb_xkb_shape_outlines_iterator)(r)
9671    }
9672
9673    /// Returns `true` iff the symbol `xcb_xkb_shape_outlines_iterator` could be loaded.
9674    #[cfg(feature = "has_symbol")]
9675    pub fn has_xcb_xkb_shape_outlines_iterator(&self) -> bool {
9676        has_sym!(self, xcb_xkb_shape_outlines_iterator)
9677    }
9678
9679    /// Advances a `xcb_xkb_shape_iterator_t` iterator by 1 element.
9680    #[inline]
9681    pub unsafe fn xcb_xkb_shape_next(&self, i: *mut xcb_xkb_shape_iterator_t) {
9682        sym!(self, xcb_xkb_shape_next)(i)
9683    }
9684
9685    /// Returns `true` iff the symbol `xcb_xkb_shape_next` could be loaded.
9686    #[cfg(feature = "has_symbol")]
9687    pub fn has_xcb_xkb_shape_next(&self) -> bool {
9688        has_sym!(self, xcb_xkb_shape_next)
9689    }
9690
9691    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_shape_iterator_t`.
9692    #[inline]
9693    pub unsafe fn xcb_xkb_shape_end(&self, i: xcb_xkb_shape_iterator_t) -> xcb_generic_iterator_t {
9694        sym!(self, xcb_xkb_shape_end)(i)
9695    }
9696
9697    /// Returns `true` iff the symbol `xcb_xkb_shape_end` could be loaded.
9698    #[cfg(feature = "has_symbol")]
9699    pub fn has_xcb_xkb_shape_end(&self) -> bool {
9700        has_sym!(self, xcb_xkb_shape_end)
9701    }
9702
9703    /// Advances a `xcb_xkb_key_iterator_t` iterator by 1 element.
9704    #[inline]
9705    pub unsafe fn xcb_xkb_key_next(&self, i: *mut xcb_xkb_key_iterator_t) {
9706        sym!(self, xcb_xkb_key_next)(i)
9707    }
9708
9709    /// Returns `true` iff the symbol `xcb_xkb_key_next` could be loaded.
9710    #[cfg(feature = "has_symbol")]
9711    pub fn has_xcb_xkb_key_next(&self) -> bool {
9712        has_sym!(self, xcb_xkb_key_next)
9713    }
9714
9715    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_key_iterator_t`.
9716    #[inline]
9717    pub unsafe fn xcb_xkb_key_end(&self, i: xcb_xkb_key_iterator_t) -> xcb_generic_iterator_t {
9718        sym!(self, xcb_xkb_key_end)(i)
9719    }
9720
9721    /// Returns `true` iff the symbol `xcb_xkb_key_end` could be loaded.
9722    #[cfg(feature = "has_symbol")]
9723    pub fn has_xcb_xkb_key_end(&self) -> bool {
9724        has_sym!(self, xcb_xkb_key_end)
9725    }
9726
9727    /// Advances a `xcb_xkb_overlay_key_iterator_t` iterator by 1 element.
9728    #[inline]
9729    pub unsafe fn xcb_xkb_overlay_key_next(&self, i: *mut xcb_xkb_overlay_key_iterator_t) {
9730        sym!(self, xcb_xkb_overlay_key_next)(i)
9731    }
9732
9733    /// Returns `true` iff the symbol `xcb_xkb_overlay_key_next` could be loaded.
9734    #[cfg(feature = "has_symbol")]
9735    pub fn has_xcb_xkb_overlay_key_next(&self) -> bool {
9736        has_sym!(self, xcb_xkb_overlay_key_next)
9737    }
9738
9739    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_overlay_key_iterator_t`.
9740    #[inline]
9741    pub unsafe fn xcb_xkb_overlay_key_end(
9742        &self,
9743        i: xcb_xkb_overlay_key_iterator_t,
9744    ) -> xcb_generic_iterator_t {
9745        sym!(self, xcb_xkb_overlay_key_end)(i)
9746    }
9747
9748    /// Returns `true` iff the symbol `xcb_xkb_overlay_key_end` could be loaded.
9749    #[cfg(feature = "has_symbol")]
9750    pub fn has_xcb_xkb_overlay_key_end(&self) -> bool {
9751        has_sym!(self, xcb_xkb_overlay_key_end)
9752    }
9753
9754    /// Computes the size of a `xcb_xkb_overlay_row_t` object.
9755    #[inline]
9756    pub unsafe fn xcb_xkb_overlay_row_sizeof(&self, _buffer: *const c_void) -> c_int {
9757        sym!(self, xcb_xkb_overlay_row_sizeof)(_buffer)
9758    }
9759
9760    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_sizeof` could be loaded.
9761    #[cfg(feature = "has_symbol")]
9762    pub fn has_xcb_xkb_overlay_row_sizeof(&self) -> bool {
9763        has_sym!(self, xcb_xkb_overlay_row_sizeof)
9764    }
9765
9766    /// Returns a pointer to the `keys` field of a `xcb_xkb_overlay_row_t` struct.
9767    #[inline]
9768    pub unsafe fn xcb_xkb_overlay_row_keys(
9769        &self,
9770        r: *const xcb_xkb_overlay_row_t,
9771    ) -> *mut xcb_xkb_overlay_key_t {
9772        sym!(self, xcb_xkb_overlay_row_keys)(r)
9773    }
9774
9775    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_keys` could be loaded.
9776    #[cfg(feature = "has_symbol")]
9777    pub fn has_xcb_xkb_overlay_row_keys(&self) -> bool {
9778        has_sym!(self, xcb_xkb_overlay_row_keys)
9779    }
9780
9781    /// Returns the number of elements of the `keys` field of a `xcb_xkb_overlay_row_t` struct.
9782    #[inline]
9783    pub unsafe fn xcb_xkb_overlay_row_keys_length(&self, r: *const xcb_xkb_overlay_row_t) -> c_int {
9784        sym!(self, xcb_xkb_overlay_row_keys_length)(r)
9785    }
9786
9787    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_keys_length` could be loaded.
9788    #[cfg(feature = "has_symbol")]
9789    pub fn has_xcb_xkb_overlay_row_keys_length(&self) -> bool {
9790        has_sym!(self, xcb_xkb_overlay_row_keys_length)
9791    }
9792
9793    /// Returns an iterator over the elements of the
9794    /// `keys` field of a `xcb_xkb_overlay_row_t` struct.
9795    #[inline]
9796    pub unsafe fn xcb_xkb_overlay_row_keys_iterator(
9797        &self,
9798        r: *const xcb_xkb_overlay_row_t,
9799    ) -> xcb_xkb_overlay_key_iterator_t {
9800        sym!(self, xcb_xkb_overlay_row_keys_iterator)(r)
9801    }
9802
9803    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_keys_iterator` could be loaded.
9804    #[cfg(feature = "has_symbol")]
9805    pub fn has_xcb_xkb_overlay_row_keys_iterator(&self) -> bool {
9806        has_sym!(self, xcb_xkb_overlay_row_keys_iterator)
9807    }
9808
9809    /// Advances a `xcb_xkb_overlay_row_iterator_t` iterator by 1 element.
9810    #[inline]
9811    pub unsafe fn xcb_xkb_overlay_row_next(&self, i: *mut xcb_xkb_overlay_row_iterator_t) {
9812        sym!(self, xcb_xkb_overlay_row_next)(i)
9813    }
9814
9815    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_next` could be loaded.
9816    #[cfg(feature = "has_symbol")]
9817    pub fn has_xcb_xkb_overlay_row_next(&self) -> bool {
9818        has_sym!(self, xcb_xkb_overlay_row_next)
9819    }
9820
9821    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_overlay_row_iterator_t`.
9822    #[inline]
9823    pub unsafe fn xcb_xkb_overlay_row_end(
9824        &self,
9825        i: xcb_xkb_overlay_row_iterator_t,
9826    ) -> xcb_generic_iterator_t {
9827        sym!(self, xcb_xkb_overlay_row_end)(i)
9828    }
9829
9830    /// Returns `true` iff the symbol `xcb_xkb_overlay_row_end` could be loaded.
9831    #[cfg(feature = "has_symbol")]
9832    pub fn has_xcb_xkb_overlay_row_end(&self) -> bool {
9833        has_sym!(self, xcb_xkb_overlay_row_end)
9834    }
9835
9836    /// Computes the size of a `xcb_xkb_overlay_t` object.
9837    #[inline]
9838    pub unsafe fn xcb_xkb_overlay_sizeof(&self, _buffer: *const c_void) -> c_int {
9839        sym!(self, xcb_xkb_overlay_sizeof)(_buffer)
9840    }
9841
9842    /// Returns `true` iff the symbol `xcb_xkb_overlay_sizeof` could be loaded.
9843    #[cfg(feature = "has_symbol")]
9844    pub fn has_xcb_xkb_overlay_sizeof(&self) -> bool {
9845        has_sym!(self, xcb_xkb_overlay_sizeof)
9846    }
9847
9848    /// Returns the number of elements of the `rows` field of a `xcb_xkb_overlay_t` struct.
9849    #[inline]
9850    pub unsafe fn xcb_xkb_overlay_rows_length(&self, r: *const xcb_xkb_overlay_t) -> c_int {
9851        sym!(self, xcb_xkb_overlay_rows_length)(r)
9852    }
9853
9854    /// Returns `true` iff the symbol `xcb_xkb_overlay_rows_length` could be loaded.
9855    #[cfg(feature = "has_symbol")]
9856    pub fn has_xcb_xkb_overlay_rows_length(&self) -> bool {
9857        has_sym!(self, xcb_xkb_overlay_rows_length)
9858    }
9859
9860    /// Returns an iterator over the elements of the
9861    /// `rows` field of a `xcb_xkb_overlay_t` struct.
9862    #[inline]
9863    pub unsafe fn xcb_xkb_overlay_rows_iterator(
9864        &self,
9865        r: *const xcb_xkb_overlay_t,
9866    ) -> xcb_xkb_overlay_row_iterator_t {
9867        sym!(self, xcb_xkb_overlay_rows_iterator)(r)
9868    }
9869
9870    /// Returns `true` iff the symbol `xcb_xkb_overlay_rows_iterator` could be loaded.
9871    #[cfg(feature = "has_symbol")]
9872    pub fn has_xcb_xkb_overlay_rows_iterator(&self) -> bool {
9873        has_sym!(self, xcb_xkb_overlay_rows_iterator)
9874    }
9875
9876    /// Advances a `xcb_xkb_overlay_iterator_t` iterator by 1 element.
9877    #[inline]
9878    pub unsafe fn xcb_xkb_overlay_next(&self, i: *mut xcb_xkb_overlay_iterator_t) {
9879        sym!(self, xcb_xkb_overlay_next)(i)
9880    }
9881
9882    /// Returns `true` iff the symbol `xcb_xkb_overlay_next` could be loaded.
9883    #[cfg(feature = "has_symbol")]
9884    pub fn has_xcb_xkb_overlay_next(&self) -> bool {
9885        has_sym!(self, xcb_xkb_overlay_next)
9886    }
9887
9888    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_overlay_iterator_t`.
9889    #[inline]
9890    pub unsafe fn xcb_xkb_overlay_end(
9891        &self,
9892        i: xcb_xkb_overlay_iterator_t,
9893    ) -> xcb_generic_iterator_t {
9894        sym!(self, xcb_xkb_overlay_end)(i)
9895    }
9896
9897    /// Returns `true` iff the symbol `xcb_xkb_overlay_end` could be loaded.
9898    #[cfg(feature = "has_symbol")]
9899    pub fn has_xcb_xkb_overlay_end(&self) -> bool {
9900        has_sym!(self, xcb_xkb_overlay_end)
9901    }
9902
9903    /// Computes the size of a `xcb_xkb_row_t` object.
9904    #[inline]
9905    pub unsafe fn xcb_xkb_row_sizeof(&self, _buffer: *const c_void) -> c_int {
9906        sym!(self, xcb_xkb_row_sizeof)(_buffer)
9907    }
9908
9909    /// Returns `true` iff the symbol `xcb_xkb_row_sizeof` could be loaded.
9910    #[cfg(feature = "has_symbol")]
9911    pub fn has_xcb_xkb_row_sizeof(&self) -> bool {
9912        has_sym!(self, xcb_xkb_row_sizeof)
9913    }
9914
9915    /// Returns a pointer to the `keys` field of a `xcb_xkb_row_t` struct.
9916    #[inline]
9917    pub unsafe fn xcb_xkb_row_keys(&self, r: *const xcb_xkb_row_t) -> *mut xcb_xkb_key_t {
9918        sym!(self, xcb_xkb_row_keys)(r)
9919    }
9920
9921    /// Returns `true` iff the symbol `xcb_xkb_row_keys` could be loaded.
9922    #[cfg(feature = "has_symbol")]
9923    pub fn has_xcb_xkb_row_keys(&self) -> bool {
9924        has_sym!(self, xcb_xkb_row_keys)
9925    }
9926
9927    /// Returns the number of elements of the `keys` field of a `xcb_xkb_row_t` struct.
9928    #[inline]
9929    pub unsafe fn xcb_xkb_row_keys_length(&self, r: *const xcb_xkb_row_t) -> c_int {
9930        sym!(self, xcb_xkb_row_keys_length)(r)
9931    }
9932
9933    /// Returns `true` iff the symbol `xcb_xkb_row_keys_length` could be loaded.
9934    #[cfg(feature = "has_symbol")]
9935    pub fn has_xcb_xkb_row_keys_length(&self) -> bool {
9936        has_sym!(self, xcb_xkb_row_keys_length)
9937    }
9938
9939    /// Returns an iterator over the elements of the
9940    /// `keys` field of a `xcb_xkb_row_t` struct.
9941    #[inline]
9942    pub unsafe fn xcb_xkb_row_keys_iterator(
9943        &self,
9944        r: *const xcb_xkb_row_t,
9945    ) -> xcb_xkb_key_iterator_t {
9946        sym!(self, xcb_xkb_row_keys_iterator)(r)
9947    }
9948
9949    /// Returns `true` iff the symbol `xcb_xkb_row_keys_iterator` could be loaded.
9950    #[cfg(feature = "has_symbol")]
9951    pub fn has_xcb_xkb_row_keys_iterator(&self) -> bool {
9952        has_sym!(self, xcb_xkb_row_keys_iterator)
9953    }
9954
9955    /// Advances a `xcb_xkb_row_iterator_t` iterator by 1 element.
9956    #[inline]
9957    pub unsafe fn xcb_xkb_row_next(&self, i: *mut xcb_xkb_row_iterator_t) {
9958        sym!(self, xcb_xkb_row_next)(i)
9959    }
9960
9961    /// Returns `true` iff the symbol `xcb_xkb_row_next` could be loaded.
9962    #[cfg(feature = "has_symbol")]
9963    pub fn has_xcb_xkb_row_next(&self) -> bool {
9964        has_sym!(self, xcb_xkb_row_next)
9965    }
9966
9967    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_row_iterator_t`.
9968    #[inline]
9969    pub unsafe fn xcb_xkb_row_end(&self, i: xcb_xkb_row_iterator_t) -> xcb_generic_iterator_t {
9970        sym!(self, xcb_xkb_row_end)(i)
9971    }
9972
9973    /// Returns `true` iff the symbol `xcb_xkb_row_end` could be loaded.
9974    #[cfg(feature = "has_symbol")]
9975    pub fn has_xcb_xkb_row_end(&self) -> bool {
9976        has_sym!(self, xcb_xkb_row_end)
9977    }
9978
9979    /// Computes the size of a `xcb_xkb_listing_t` object.
9980    #[inline]
9981    pub unsafe fn xcb_xkb_listing_sizeof(&self, _buffer: *const c_void) -> c_int {
9982        sym!(self, xcb_xkb_listing_sizeof)(_buffer)
9983    }
9984
9985    /// Returns `true` iff the symbol `xcb_xkb_listing_sizeof` could be loaded.
9986    #[cfg(feature = "has_symbol")]
9987    pub fn has_xcb_xkb_listing_sizeof(&self) -> bool {
9988        has_sym!(self, xcb_xkb_listing_sizeof)
9989    }
9990
9991    /// Returns a pointer to the `string` field of a `xcb_xkb_listing_t` struct.
9992    #[inline]
9993    pub unsafe fn xcb_xkb_listing_string(
9994        &self,
9995        r: *const xcb_xkb_listing_t,
9996    ) -> *mut xcb_xkb_string8_t {
9997        sym!(self, xcb_xkb_listing_string)(r)
9998    }
9999
10000    /// Returns `true` iff the symbol `xcb_xkb_listing_string` could be loaded.
10001    #[cfg(feature = "has_symbol")]
10002    pub fn has_xcb_xkb_listing_string(&self) -> bool {
10003        has_sym!(self, xcb_xkb_listing_string)
10004    }
10005
10006    /// Returns the number of elements of the `string` field of a `xcb_xkb_listing_t` struct.
10007    #[inline]
10008    pub unsafe fn xcb_xkb_listing_string_length(&self, r: *const xcb_xkb_listing_t) -> c_int {
10009        sym!(self, xcb_xkb_listing_string_length)(r)
10010    }
10011
10012    /// Returns `true` iff the symbol `xcb_xkb_listing_string_length` could be loaded.
10013    #[cfg(feature = "has_symbol")]
10014    pub fn has_xcb_xkb_listing_string_length(&self) -> bool {
10015        has_sym!(self, xcb_xkb_listing_string_length)
10016    }
10017
10018    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
10019    /// `string` field of a `xcb_xkb_listing_t` struct.
10020    #[inline]
10021    pub unsafe fn xcb_xkb_listing_string_end(
10022        &self,
10023        r: *const xcb_xkb_listing_t,
10024    ) -> xcb_generic_iterator_t {
10025        sym!(self, xcb_xkb_listing_string_end)(r)
10026    }
10027
10028    /// Returns `true` iff the symbol `xcb_xkb_listing_string_end` could be loaded.
10029    #[cfg(feature = "has_symbol")]
10030    pub fn has_xcb_xkb_listing_string_end(&self) -> bool {
10031        has_sym!(self, xcb_xkb_listing_string_end)
10032    }
10033
10034    /// Advances a `xcb_xkb_listing_iterator_t` iterator by 1 element.
10035    #[inline]
10036    pub unsafe fn xcb_xkb_listing_next(&self, i: *mut xcb_xkb_listing_iterator_t) {
10037        sym!(self, xcb_xkb_listing_next)(i)
10038    }
10039
10040    /// Returns `true` iff the symbol `xcb_xkb_listing_next` could be loaded.
10041    #[cfg(feature = "has_symbol")]
10042    pub fn has_xcb_xkb_listing_next(&self) -> bool {
10043        has_sym!(self, xcb_xkb_listing_next)
10044    }
10045
10046    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_listing_iterator_t`.
10047    #[inline]
10048    pub unsafe fn xcb_xkb_listing_end(
10049        &self,
10050        i: xcb_xkb_listing_iterator_t,
10051    ) -> xcb_generic_iterator_t {
10052        sym!(self, xcb_xkb_listing_end)(i)
10053    }
10054
10055    /// Returns `true` iff the symbol `xcb_xkb_listing_end` could be loaded.
10056    #[cfg(feature = "has_symbol")]
10057    pub fn has_xcb_xkb_listing_end(&self) -> bool {
10058        has_sym!(self, xcb_xkb_listing_end)
10059    }
10060
10061    /// Computes the size of a `xcb_xkb_device_led_info_t` object.
10062    #[inline]
10063    pub unsafe fn xcb_xkb_device_led_info_sizeof(&self, _buffer: *const c_void) -> c_int {
10064        sym!(self, xcb_xkb_device_led_info_sizeof)(_buffer)
10065    }
10066
10067    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_sizeof` could be loaded.
10068    #[cfg(feature = "has_symbol")]
10069    pub fn has_xcb_xkb_device_led_info_sizeof(&self) -> bool {
10070        has_sym!(self, xcb_xkb_device_led_info_sizeof)
10071    }
10072
10073    /// Returns a pointer to the `names` field of a `xcb_xkb_device_led_info_t` struct.
10074    #[inline]
10075    pub unsafe fn xcb_xkb_device_led_info_names(
10076        &self,
10077        r: *const xcb_xkb_device_led_info_t,
10078    ) -> *mut xcb_atom_t {
10079        sym!(self, xcb_xkb_device_led_info_names)(r)
10080    }
10081
10082    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_names` could be loaded.
10083    #[cfg(feature = "has_symbol")]
10084    pub fn has_xcb_xkb_device_led_info_names(&self) -> bool {
10085        has_sym!(self, xcb_xkb_device_led_info_names)
10086    }
10087
10088    /// Returns the number of elements of the `names` field of a `xcb_xkb_device_led_info_t` struct.
10089    #[inline]
10090    pub unsafe fn xcb_xkb_device_led_info_names_length(
10091        &self,
10092        r: *const xcb_xkb_device_led_info_t,
10093    ) -> c_int {
10094        sym!(self, xcb_xkb_device_led_info_names_length)(r)
10095    }
10096
10097    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_names_length` could be loaded.
10098    #[cfg(feature = "has_symbol")]
10099    pub fn has_xcb_xkb_device_led_info_names_length(&self) -> bool {
10100        has_sym!(self, xcb_xkb_device_led_info_names_length)
10101    }
10102
10103    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
10104    /// `names` field of a `xcb_xkb_device_led_info_t` struct.
10105    #[inline]
10106    pub unsafe fn xcb_xkb_device_led_info_names_end(
10107        &self,
10108        r: *const xcb_xkb_device_led_info_t,
10109    ) -> xcb_generic_iterator_t {
10110        sym!(self, xcb_xkb_device_led_info_names_end)(r)
10111    }
10112
10113    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_names_end` could be loaded.
10114    #[cfg(feature = "has_symbol")]
10115    pub fn has_xcb_xkb_device_led_info_names_end(&self) -> bool {
10116        has_sym!(self, xcb_xkb_device_led_info_names_end)
10117    }
10118
10119    /// Returns a pointer to the `maps` field of a `xcb_xkb_device_led_info_t` struct.
10120    #[inline]
10121    pub unsafe fn xcb_xkb_device_led_info_maps(
10122        &self,
10123        r: *const xcb_xkb_device_led_info_t,
10124    ) -> *mut xcb_xkb_indicator_map_t {
10125        sym!(self, xcb_xkb_device_led_info_maps)(r)
10126    }
10127
10128    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_maps` could be loaded.
10129    #[cfg(feature = "has_symbol")]
10130    pub fn has_xcb_xkb_device_led_info_maps(&self) -> bool {
10131        has_sym!(self, xcb_xkb_device_led_info_maps)
10132    }
10133
10134    /// Returns the number of elements of the `maps` field of a `xcb_xkb_device_led_info_t` struct.
10135    #[inline]
10136    pub unsafe fn xcb_xkb_device_led_info_maps_length(
10137        &self,
10138        r: *const xcb_xkb_device_led_info_t,
10139    ) -> c_int {
10140        sym!(self, xcb_xkb_device_led_info_maps_length)(r)
10141    }
10142
10143    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_maps_length` could be loaded.
10144    #[cfg(feature = "has_symbol")]
10145    pub fn has_xcb_xkb_device_led_info_maps_length(&self) -> bool {
10146        has_sym!(self, xcb_xkb_device_led_info_maps_length)
10147    }
10148
10149    /// Returns an iterator over the elements of the
10150    /// `maps` field of a `xcb_xkb_device_led_info_t` struct.
10151    #[inline]
10152    pub unsafe fn xcb_xkb_device_led_info_maps_iterator(
10153        &self,
10154        r: *const xcb_xkb_device_led_info_t,
10155    ) -> xcb_xkb_indicator_map_iterator_t {
10156        sym!(self, xcb_xkb_device_led_info_maps_iterator)(r)
10157    }
10158
10159    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_maps_iterator` could be loaded.
10160    #[cfg(feature = "has_symbol")]
10161    pub fn has_xcb_xkb_device_led_info_maps_iterator(&self) -> bool {
10162        has_sym!(self, xcb_xkb_device_led_info_maps_iterator)
10163    }
10164
10165    /// Advances a `xcb_xkb_device_led_info_iterator_t` iterator by 1 element.
10166    #[inline]
10167    pub unsafe fn xcb_xkb_device_led_info_next(&self, i: *mut xcb_xkb_device_led_info_iterator_t) {
10168        sym!(self, xcb_xkb_device_led_info_next)(i)
10169    }
10170
10171    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_next` could be loaded.
10172    #[cfg(feature = "has_symbol")]
10173    pub fn has_xcb_xkb_device_led_info_next(&self) -> bool {
10174        has_sym!(self, xcb_xkb_device_led_info_next)
10175    }
10176
10177    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_device_led_info_iterator_t`.
10178    #[inline]
10179    pub unsafe fn xcb_xkb_device_led_info_end(
10180        &self,
10181        i: xcb_xkb_device_led_info_iterator_t,
10182    ) -> xcb_generic_iterator_t {
10183        sym!(self, xcb_xkb_device_led_info_end)(i)
10184    }
10185
10186    /// Returns `true` iff the symbol `xcb_xkb_device_led_info_end` could be loaded.
10187    #[cfg(feature = "has_symbol")]
10188    pub fn has_xcb_xkb_device_led_info_end(&self) -> bool {
10189        has_sym!(self, xcb_xkb_device_led_info_end)
10190    }
10191
10192    /// Advances a `xcb_xkb_sa_no_action_iterator_t` iterator by 1 element.
10193    #[inline]
10194    pub unsafe fn xcb_xkb_sa_no_action_next(&self, i: *mut xcb_xkb_sa_no_action_iterator_t) {
10195        sym!(self, xcb_xkb_sa_no_action_next)(i)
10196    }
10197
10198    /// Returns `true` iff the symbol `xcb_xkb_sa_no_action_next` could be loaded.
10199    #[cfg(feature = "has_symbol")]
10200    pub fn has_xcb_xkb_sa_no_action_next(&self) -> bool {
10201        has_sym!(self, xcb_xkb_sa_no_action_next)
10202    }
10203
10204    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_no_action_iterator_t`.
10205    #[inline]
10206    pub unsafe fn xcb_xkb_sa_no_action_end(
10207        &self,
10208        i: xcb_xkb_sa_no_action_iterator_t,
10209    ) -> xcb_generic_iterator_t {
10210        sym!(self, xcb_xkb_sa_no_action_end)(i)
10211    }
10212
10213    /// Returns `true` iff the symbol `xcb_xkb_sa_no_action_end` could be loaded.
10214    #[cfg(feature = "has_symbol")]
10215    pub fn has_xcb_xkb_sa_no_action_end(&self) -> bool {
10216        has_sym!(self, xcb_xkb_sa_no_action_end)
10217    }
10218
10219    /// Advances a `xcb_xkb_sa_set_mods_iterator_t` iterator by 1 element.
10220    #[inline]
10221    pub unsafe fn xcb_xkb_sa_set_mods_next(&self, i: *mut xcb_xkb_sa_set_mods_iterator_t) {
10222        sym!(self, xcb_xkb_sa_set_mods_next)(i)
10223    }
10224
10225    /// Returns `true` iff the symbol `xcb_xkb_sa_set_mods_next` could be loaded.
10226    #[cfg(feature = "has_symbol")]
10227    pub fn has_xcb_xkb_sa_set_mods_next(&self) -> bool {
10228        has_sym!(self, xcb_xkb_sa_set_mods_next)
10229    }
10230
10231    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_set_mods_iterator_t`.
10232    #[inline]
10233    pub unsafe fn xcb_xkb_sa_set_mods_end(
10234        &self,
10235        i: xcb_xkb_sa_set_mods_iterator_t,
10236    ) -> xcb_generic_iterator_t {
10237        sym!(self, xcb_xkb_sa_set_mods_end)(i)
10238    }
10239
10240    /// Returns `true` iff the symbol `xcb_xkb_sa_set_mods_end` could be loaded.
10241    #[cfg(feature = "has_symbol")]
10242    pub fn has_xcb_xkb_sa_set_mods_end(&self) -> bool {
10243        has_sym!(self, xcb_xkb_sa_set_mods_end)
10244    }
10245
10246    /// Advances a `xcb_xkb_sa_latch_mods_iterator_t` iterator by 1 element.
10247    #[inline]
10248    pub unsafe fn xcb_xkb_sa_latch_mods_next(&self, i: *mut xcb_xkb_sa_latch_mods_iterator_t) {
10249        sym!(self, xcb_xkb_sa_latch_mods_next)(i)
10250    }
10251
10252    /// Returns `true` iff the symbol `xcb_xkb_sa_latch_mods_next` could be loaded.
10253    #[cfg(feature = "has_symbol")]
10254    pub fn has_xcb_xkb_sa_latch_mods_next(&self) -> bool {
10255        has_sym!(self, xcb_xkb_sa_latch_mods_next)
10256    }
10257
10258    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_latch_mods_iterator_t`.
10259    #[inline]
10260    pub unsafe fn xcb_xkb_sa_latch_mods_end(
10261        &self,
10262        i: xcb_xkb_sa_latch_mods_iterator_t,
10263    ) -> xcb_generic_iterator_t {
10264        sym!(self, xcb_xkb_sa_latch_mods_end)(i)
10265    }
10266
10267    /// Returns `true` iff the symbol `xcb_xkb_sa_latch_mods_end` could be loaded.
10268    #[cfg(feature = "has_symbol")]
10269    pub fn has_xcb_xkb_sa_latch_mods_end(&self) -> bool {
10270        has_sym!(self, xcb_xkb_sa_latch_mods_end)
10271    }
10272
10273    /// Advances a `xcb_xkb_sa_lock_mods_iterator_t` iterator by 1 element.
10274    #[inline]
10275    pub unsafe fn xcb_xkb_sa_lock_mods_next(&self, i: *mut xcb_xkb_sa_lock_mods_iterator_t) {
10276        sym!(self, xcb_xkb_sa_lock_mods_next)(i)
10277    }
10278
10279    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_mods_next` could be loaded.
10280    #[cfg(feature = "has_symbol")]
10281    pub fn has_xcb_xkb_sa_lock_mods_next(&self) -> bool {
10282        has_sym!(self, xcb_xkb_sa_lock_mods_next)
10283    }
10284
10285    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_lock_mods_iterator_t`.
10286    #[inline]
10287    pub unsafe fn xcb_xkb_sa_lock_mods_end(
10288        &self,
10289        i: xcb_xkb_sa_lock_mods_iterator_t,
10290    ) -> xcb_generic_iterator_t {
10291        sym!(self, xcb_xkb_sa_lock_mods_end)(i)
10292    }
10293
10294    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_mods_end` could be loaded.
10295    #[cfg(feature = "has_symbol")]
10296    pub fn has_xcb_xkb_sa_lock_mods_end(&self) -> bool {
10297        has_sym!(self, xcb_xkb_sa_lock_mods_end)
10298    }
10299
10300    /// Advances a `xcb_xkb_sa_set_group_iterator_t` iterator by 1 element.
10301    #[inline]
10302    pub unsafe fn xcb_xkb_sa_set_group_next(&self, i: *mut xcb_xkb_sa_set_group_iterator_t) {
10303        sym!(self, xcb_xkb_sa_set_group_next)(i)
10304    }
10305
10306    /// Returns `true` iff the symbol `xcb_xkb_sa_set_group_next` could be loaded.
10307    #[cfg(feature = "has_symbol")]
10308    pub fn has_xcb_xkb_sa_set_group_next(&self) -> bool {
10309        has_sym!(self, xcb_xkb_sa_set_group_next)
10310    }
10311
10312    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_set_group_iterator_t`.
10313    #[inline]
10314    pub unsafe fn xcb_xkb_sa_set_group_end(
10315        &self,
10316        i: xcb_xkb_sa_set_group_iterator_t,
10317    ) -> xcb_generic_iterator_t {
10318        sym!(self, xcb_xkb_sa_set_group_end)(i)
10319    }
10320
10321    /// Returns `true` iff the symbol `xcb_xkb_sa_set_group_end` could be loaded.
10322    #[cfg(feature = "has_symbol")]
10323    pub fn has_xcb_xkb_sa_set_group_end(&self) -> bool {
10324        has_sym!(self, xcb_xkb_sa_set_group_end)
10325    }
10326
10327    /// Advances a `xcb_xkb_sa_latch_group_iterator_t` iterator by 1 element.
10328    #[inline]
10329    pub unsafe fn xcb_xkb_sa_latch_group_next(&self, i: *mut xcb_xkb_sa_latch_group_iterator_t) {
10330        sym!(self, xcb_xkb_sa_latch_group_next)(i)
10331    }
10332
10333    /// Returns `true` iff the symbol `xcb_xkb_sa_latch_group_next` could be loaded.
10334    #[cfg(feature = "has_symbol")]
10335    pub fn has_xcb_xkb_sa_latch_group_next(&self) -> bool {
10336        has_sym!(self, xcb_xkb_sa_latch_group_next)
10337    }
10338
10339    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_latch_group_iterator_t`.
10340    #[inline]
10341    pub unsafe fn xcb_xkb_sa_latch_group_end(
10342        &self,
10343        i: xcb_xkb_sa_latch_group_iterator_t,
10344    ) -> xcb_generic_iterator_t {
10345        sym!(self, xcb_xkb_sa_latch_group_end)(i)
10346    }
10347
10348    /// Returns `true` iff the symbol `xcb_xkb_sa_latch_group_end` could be loaded.
10349    #[cfg(feature = "has_symbol")]
10350    pub fn has_xcb_xkb_sa_latch_group_end(&self) -> bool {
10351        has_sym!(self, xcb_xkb_sa_latch_group_end)
10352    }
10353
10354    /// Advances a `xcb_xkb_sa_lock_group_iterator_t` iterator by 1 element.
10355    #[inline]
10356    pub unsafe fn xcb_xkb_sa_lock_group_next(&self, i: *mut xcb_xkb_sa_lock_group_iterator_t) {
10357        sym!(self, xcb_xkb_sa_lock_group_next)(i)
10358    }
10359
10360    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_group_next` could be loaded.
10361    #[cfg(feature = "has_symbol")]
10362    pub fn has_xcb_xkb_sa_lock_group_next(&self) -> bool {
10363        has_sym!(self, xcb_xkb_sa_lock_group_next)
10364    }
10365
10366    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_lock_group_iterator_t`.
10367    #[inline]
10368    pub unsafe fn xcb_xkb_sa_lock_group_end(
10369        &self,
10370        i: xcb_xkb_sa_lock_group_iterator_t,
10371    ) -> xcb_generic_iterator_t {
10372        sym!(self, xcb_xkb_sa_lock_group_end)(i)
10373    }
10374
10375    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_group_end` could be loaded.
10376    #[cfg(feature = "has_symbol")]
10377    pub fn has_xcb_xkb_sa_lock_group_end(&self) -> bool {
10378        has_sym!(self, xcb_xkb_sa_lock_group_end)
10379    }
10380
10381    /// Advances a `xcb_xkb_sa_move_ptr_iterator_t` iterator by 1 element.
10382    #[inline]
10383    pub unsafe fn xcb_xkb_sa_move_ptr_next(&self, i: *mut xcb_xkb_sa_move_ptr_iterator_t) {
10384        sym!(self, xcb_xkb_sa_move_ptr_next)(i)
10385    }
10386
10387    /// Returns `true` iff the symbol `xcb_xkb_sa_move_ptr_next` could be loaded.
10388    #[cfg(feature = "has_symbol")]
10389    pub fn has_xcb_xkb_sa_move_ptr_next(&self) -> bool {
10390        has_sym!(self, xcb_xkb_sa_move_ptr_next)
10391    }
10392
10393    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_move_ptr_iterator_t`.
10394    #[inline]
10395    pub unsafe fn xcb_xkb_sa_move_ptr_end(
10396        &self,
10397        i: xcb_xkb_sa_move_ptr_iterator_t,
10398    ) -> xcb_generic_iterator_t {
10399        sym!(self, xcb_xkb_sa_move_ptr_end)(i)
10400    }
10401
10402    /// Returns `true` iff the symbol `xcb_xkb_sa_move_ptr_end` could be loaded.
10403    #[cfg(feature = "has_symbol")]
10404    pub fn has_xcb_xkb_sa_move_ptr_end(&self) -> bool {
10405        has_sym!(self, xcb_xkb_sa_move_ptr_end)
10406    }
10407
10408    /// Advances a `xcb_xkb_sa_ptr_btn_iterator_t` iterator by 1 element.
10409    #[inline]
10410    pub unsafe fn xcb_xkb_sa_ptr_btn_next(&self, i: *mut xcb_xkb_sa_ptr_btn_iterator_t) {
10411        sym!(self, xcb_xkb_sa_ptr_btn_next)(i)
10412    }
10413
10414    /// Returns `true` iff the symbol `xcb_xkb_sa_ptr_btn_next` could be loaded.
10415    #[cfg(feature = "has_symbol")]
10416    pub fn has_xcb_xkb_sa_ptr_btn_next(&self) -> bool {
10417        has_sym!(self, xcb_xkb_sa_ptr_btn_next)
10418    }
10419
10420    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_ptr_btn_iterator_t`.
10421    #[inline]
10422    pub unsafe fn xcb_xkb_sa_ptr_btn_end(
10423        &self,
10424        i: xcb_xkb_sa_ptr_btn_iterator_t,
10425    ) -> xcb_generic_iterator_t {
10426        sym!(self, xcb_xkb_sa_ptr_btn_end)(i)
10427    }
10428
10429    /// Returns `true` iff the symbol `xcb_xkb_sa_ptr_btn_end` could be loaded.
10430    #[cfg(feature = "has_symbol")]
10431    pub fn has_xcb_xkb_sa_ptr_btn_end(&self) -> bool {
10432        has_sym!(self, xcb_xkb_sa_ptr_btn_end)
10433    }
10434
10435    /// Advances a `xcb_xkb_sa_lock_ptr_btn_iterator_t` iterator by 1 element.
10436    #[inline]
10437    pub unsafe fn xcb_xkb_sa_lock_ptr_btn_next(&self, i: *mut xcb_xkb_sa_lock_ptr_btn_iterator_t) {
10438        sym!(self, xcb_xkb_sa_lock_ptr_btn_next)(i)
10439    }
10440
10441    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_ptr_btn_next` could be loaded.
10442    #[cfg(feature = "has_symbol")]
10443    pub fn has_xcb_xkb_sa_lock_ptr_btn_next(&self) -> bool {
10444        has_sym!(self, xcb_xkb_sa_lock_ptr_btn_next)
10445    }
10446
10447    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_lock_ptr_btn_iterator_t`.
10448    #[inline]
10449    pub unsafe fn xcb_xkb_sa_lock_ptr_btn_end(
10450        &self,
10451        i: xcb_xkb_sa_lock_ptr_btn_iterator_t,
10452    ) -> xcb_generic_iterator_t {
10453        sym!(self, xcb_xkb_sa_lock_ptr_btn_end)(i)
10454    }
10455
10456    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_ptr_btn_end` could be loaded.
10457    #[cfg(feature = "has_symbol")]
10458    pub fn has_xcb_xkb_sa_lock_ptr_btn_end(&self) -> bool {
10459        has_sym!(self, xcb_xkb_sa_lock_ptr_btn_end)
10460    }
10461
10462    /// Advances a `xcb_xkb_sa_set_ptr_dflt_iterator_t` iterator by 1 element.
10463    #[inline]
10464    pub unsafe fn xcb_xkb_sa_set_ptr_dflt_next(&self, i: *mut xcb_xkb_sa_set_ptr_dflt_iterator_t) {
10465        sym!(self, xcb_xkb_sa_set_ptr_dflt_next)(i)
10466    }
10467
10468    /// Returns `true` iff the symbol `xcb_xkb_sa_set_ptr_dflt_next` could be loaded.
10469    #[cfg(feature = "has_symbol")]
10470    pub fn has_xcb_xkb_sa_set_ptr_dflt_next(&self) -> bool {
10471        has_sym!(self, xcb_xkb_sa_set_ptr_dflt_next)
10472    }
10473
10474    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_set_ptr_dflt_iterator_t`.
10475    #[inline]
10476    pub unsafe fn xcb_xkb_sa_set_ptr_dflt_end(
10477        &self,
10478        i: xcb_xkb_sa_set_ptr_dflt_iterator_t,
10479    ) -> xcb_generic_iterator_t {
10480        sym!(self, xcb_xkb_sa_set_ptr_dflt_end)(i)
10481    }
10482
10483    /// Returns `true` iff the symbol `xcb_xkb_sa_set_ptr_dflt_end` could be loaded.
10484    #[cfg(feature = "has_symbol")]
10485    pub fn has_xcb_xkb_sa_set_ptr_dflt_end(&self) -> bool {
10486        has_sym!(self, xcb_xkb_sa_set_ptr_dflt_end)
10487    }
10488
10489    /// Advances a `xcb_xkb_sa_iso_lock_iterator_t` iterator by 1 element.
10490    #[inline]
10491    pub unsafe fn xcb_xkb_sa_iso_lock_next(&self, i: *mut xcb_xkb_sa_iso_lock_iterator_t) {
10492        sym!(self, xcb_xkb_sa_iso_lock_next)(i)
10493    }
10494
10495    /// Returns `true` iff the symbol `xcb_xkb_sa_iso_lock_next` could be loaded.
10496    #[cfg(feature = "has_symbol")]
10497    pub fn has_xcb_xkb_sa_iso_lock_next(&self) -> bool {
10498        has_sym!(self, xcb_xkb_sa_iso_lock_next)
10499    }
10500
10501    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_iso_lock_iterator_t`.
10502    #[inline]
10503    pub unsafe fn xcb_xkb_sa_iso_lock_end(
10504        &self,
10505        i: xcb_xkb_sa_iso_lock_iterator_t,
10506    ) -> xcb_generic_iterator_t {
10507        sym!(self, xcb_xkb_sa_iso_lock_end)(i)
10508    }
10509
10510    /// Returns `true` iff the symbol `xcb_xkb_sa_iso_lock_end` could be loaded.
10511    #[cfg(feature = "has_symbol")]
10512    pub fn has_xcb_xkb_sa_iso_lock_end(&self) -> bool {
10513        has_sym!(self, xcb_xkb_sa_iso_lock_end)
10514    }
10515
10516    /// Advances a `xcb_xkb_sa_terminate_iterator_t` iterator by 1 element.
10517    #[inline]
10518    pub unsafe fn xcb_xkb_sa_terminate_next(&self, i: *mut xcb_xkb_sa_terminate_iterator_t) {
10519        sym!(self, xcb_xkb_sa_terminate_next)(i)
10520    }
10521
10522    /// Returns `true` iff the symbol `xcb_xkb_sa_terminate_next` could be loaded.
10523    #[cfg(feature = "has_symbol")]
10524    pub fn has_xcb_xkb_sa_terminate_next(&self) -> bool {
10525        has_sym!(self, xcb_xkb_sa_terminate_next)
10526    }
10527
10528    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_terminate_iterator_t`.
10529    #[inline]
10530    pub unsafe fn xcb_xkb_sa_terminate_end(
10531        &self,
10532        i: xcb_xkb_sa_terminate_iterator_t,
10533    ) -> xcb_generic_iterator_t {
10534        sym!(self, xcb_xkb_sa_terminate_end)(i)
10535    }
10536
10537    /// Returns `true` iff the symbol `xcb_xkb_sa_terminate_end` could be loaded.
10538    #[cfg(feature = "has_symbol")]
10539    pub fn has_xcb_xkb_sa_terminate_end(&self) -> bool {
10540        has_sym!(self, xcb_xkb_sa_terminate_end)
10541    }
10542
10543    /// Advances a `xcb_xkb_sa_switch_screen_iterator_t` iterator by 1 element.
10544    #[inline]
10545    pub unsafe fn xcb_xkb_sa_switch_screen_next(
10546        &self,
10547        i: *mut xcb_xkb_sa_switch_screen_iterator_t,
10548    ) {
10549        sym!(self, xcb_xkb_sa_switch_screen_next)(i)
10550    }
10551
10552    /// Returns `true` iff the symbol `xcb_xkb_sa_switch_screen_next` could be loaded.
10553    #[cfg(feature = "has_symbol")]
10554    pub fn has_xcb_xkb_sa_switch_screen_next(&self) -> bool {
10555        has_sym!(self, xcb_xkb_sa_switch_screen_next)
10556    }
10557
10558    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_switch_screen_iterator_t`.
10559    #[inline]
10560    pub unsafe fn xcb_xkb_sa_switch_screen_end(
10561        &self,
10562        i: xcb_xkb_sa_switch_screen_iterator_t,
10563    ) -> xcb_generic_iterator_t {
10564        sym!(self, xcb_xkb_sa_switch_screen_end)(i)
10565    }
10566
10567    /// Returns `true` iff the symbol `xcb_xkb_sa_switch_screen_end` could be loaded.
10568    #[cfg(feature = "has_symbol")]
10569    pub fn has_xcb_xkb_sa_switch_screen_end(&self) -> bool {
10570        has_sym!(self, xcb_xkb_sa_switch_screen_end)
10571    }
10572
10573    /// Advances a `xcb_xkb_sa_set_controls_iterator_t` iterator by 1 element.
10574    #[inline]
10575    pub unsafe fn xcb_xkb_sa_set_controls_next(&self, i: *mut xcb_xkb_sa_set_controls_iterator_t) {
10576        sym!(self, xcb_xkb_sa_set_controls_next)(i)
10577    }
10578
10579    /// Returns `true` iff the symbol `xcb_xkb_sa_set_controls_next` could be loaded.
10580    #[cfg(feature = "has_symbol")]
10581    pub fn has_xcb_xkb_sa_set_controls_next(&self) -> bool {
10582        has_sym!(self, xcb_xkb_sa_set_controls_next)
10583    }
10584
10585    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_set_controls_iterator_t`.
10586    #[inline]
10587    pub unsafe fn xcb_xkb_sa_set_controls_end(
10588        &self,
10589        i: xcb_xkb_sa_set_controls_iterator_t,
10590    ) -> xcb_generic_iterator_t {
10591        sym!(self, xcb_xkb_sa_set_controls_end)(i)
10592    }
10593
10594    /// Returns `true` iff the symbol `xcb_xkb_sa_set_controls_end` could be loaded.
10595    #[cfg(feature = "has_symbol")]
10596    pub fn has_xcb_xkb_sa_set_controls_end(&self) -> bool {
10597        has_sym!(self, xcb_xkb_sa_set_controls_end)
10598    }
10599
10600    /// Advances a `xcb_xkb_sa_lock_controls_iterator_t` iterator by 1 element.
10601    #[inline]
10602    pub unsafe fn xcb_xkb_sa_lock_controls_next(
10603        &self,
10604        i: *mut xcb_xkb_sa_lock_controls_iterator_t,
10605    ) {
10606        sym!(self, xcb_xkb_sa_lock_controls_next)(i)
10607    }
10608
10609    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_controls_next` could be loaded.
10610    #[cfg(feature = "has_symbol")]
10611    pub fn has_xcb_xkb_sa_lock_controls_next(&self) -> bool {
10612        has_sym!(self, xcb_xkb_sa_lock_controls_next)
10613    }
10614
10615    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_lock_controls_iterator_t`.
10616    #[inline]
10617    pub unsafe fn xcb_xkb_sa_lock_controls_end(
10618        &self,
10619        i: xcb_xkb_sa_lock_controls_iterator_t,
10620    ) -> xcb_generic_iterator_t {
10621        sym!(self, xcb_xkb_sa_lock_controls_end)(i)
10622    }
10623
10624    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_controls_end` could be loaded.
10625    #[cfg(feature = "has_symbol")]
10626    pub fn has_xcb_xkb_sa_lock_controls_end(&self) -> bool {
10627        has_sym!(self, xcb_xkb_sa_lock_controls_end)
10628    }
10629
10630    /// Advances a `xcb_xkb_sa_action_message_iterator_t` iterator by 1 element.
10631    #[inline]
10632    pub unsafe fn xcb_xkb_sa_action_message_next(
10633        &self,
10634        i: *mut xcb_xkb_sa_action_message_iterator_t,
10635    ) {
10636        sym!(self, xcb_xkb_sa_action_message_next)(i)
10637    }
10638
10639    /// Returns `true` iff the symbol `xcb_xkb_sa_action_message_next` could be loaded.
10640    #[cfg(feature = "has_symbol")]
10641    pub fn has_xcb_xkb_sa_action_message_next(&self) -> bool {
10642        has_sym!(self, xcb_xkb_sa_action_message_next)
10643    }
10644
10645    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_action_message_iterator_t`.
10646    #[inline]
10647    pub unsafe fn xcb_xkb_sa_action_message_end(
10648        &self,
10649        i: xcb_xkb_sa_action_message_iterator_t,
10650    ) -> xcb_generic_iterator_t {
10651        sym!(self, xcb_xkb_sa_action_message_end)(i)
10652    }
10653
10654    /// Returns `true` iff the symbol `xcb_xkb_sa_action_message_end` could be loaded.
10655    #[cfg(feature = "has_symbol")]
10656    pub fn has_xcb_xkb_sa_action_message_end(&self) -> bool {
10657        has_sym!(self, xcb_xkb_sa_action_message_end)
10658    }
10659
10660    /// Advances a `xcb_xkb_sa_redirect_key_iterator_t` iterator by 1 element.
10661    #[inline]
10662    pub unsafe fn xcb_xkb_sa_redirect_key_next(&self, i: *mut xcb_xkb_sa_redirect_key_iterator_t) {
10663        sym!(self, xcb_xkb_sa_redirect_key_next)(i)
10664    }
10665
10666    /// Returns `true` iff the symbol `xcb_xkb_sa_redirect_key_next` could be loaded.
10667    #[cfg(feature = "has_symbol")]
10668    pub fn has_xcb_xkb_sa_redirect_key_next(&self) -> bool {
10669        has_sym!(self, xcb_xkb_sa_redirect_key_next)
10670    }
10671
10672    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_redirect_key_iterator_t`.
10673    #[inline]
10674    pub unsafe fn xcb_xkb_sa_redirect_key_end(
10675        &self,
10676        i: xcb_xkb_sa_redirect_key_iterator_t,
10677    ) -> xcb_generic_iterator_t {
10678        sym!(self, xcb_xkb_sa_redirect_key_end)(i)
10679    }
10680
10681    /// Returns `true` iff the symbol `xcb_xkb_sa_redirect_key_end` could be loaded.
10682    #[cfg(feature = "has_symbol")]
10683    pub fn has_xcb_xkb_sa_redirect_key_end(&self) -> bool {
10684        has_sym!(self, xcb_xkb_sa_redirect_key_end)
10685    }
10686
10687    /// Advances a `xcb_xkb_sa_device_btn_iterator_t` iterator by 1 element.
10688    #[inline]
10689    pub unsafe fn xcb_xkb_sa_device_btn_next(&self, i: *mut xcb_xkb_sa_device_btn_iterator_t) {
10690        sym!(self, xcb_xkb_sa_device_btn_next)(i)
10691    }
10692
10693    /// Returns `true` iff the symbol `xcb_xkb_sa_device_btn_next` could be loaded.
10694    #[cfg(feature = "has_symbol")]
10695    pub fn has_xcb_xkb_sa_device_btn_next(&self) -> bool {
10696        has_sym!(self, xcb_xkb_sa_device_btn_next)
10697    }
10698
10699    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_device_btn_iterator_t`.
10700    #[inline]
10701    pub unsafe fn xcb_xkb_sa_device_btn_end(
10702        &self,
10703        i: xcb_xkb_sa_device_btn_iterator_t,
10704    ) -> xcb_generic_iterator_t {
10705        sym!(self, xcb_xkb_sa_device_btn_end)(i)
10706    }
10707
10708    /// Returns `true` iff the symbol `xcb_xkb_sa_device_btn_end` could be loaded.
10709    #[cfg(feature = "has_symbol")]
10710    pub fn has_xcb_xkb_sa_device_btn_end(&self) -> bool {
10711        has_sym!(self, xcb_xkb_sa_device_btn_end)
10712    }
10713
10714    /// Advances a `xcb_xkb_sa_lock_device_btn_iterator_t` iterator by 1 element.
10715    #[inline]
10716    pub unsafe fn xcb_xkb_sa_lock_device_btn_next(
10717        &self,
10718        i: *mut xcb_xkb_sa_lock_device_btn_iterator_t,
10719    ) {
10720        sym!(self, xcb_xkb_sa_lock_device_btn_next)(i)
10721    }
10722
10723    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_device_btn_next` could be loaded.
10724    #[cfg(feature = "has_symbol")]
10725    pub fn has_xcb_xkb_sa_lock_device_btn_next(&self) -> bool {
10726        has_sym!(self, xcb_xkb_sa_lock_device_btn_next)
10727    }
10728
10729    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_lock_device_btn_iterator_t`.
10730    #[inline]
10731    pub unsafe fn xcb_xkb_sa_lock_device_btn_end(
10732        &self,
10733        i: xcb_xkb_sa_lock_device_btn_iterator_t,
10734    ) -> xcb_generic_iterator_t {
10735        sym!(self, xcb_xkb_sa_lock_device_btn_end)(i)
10736    }
10737
10738    /// Returns `true` iff the symbol `xcb_xkb_sa_lock_device_btn_end` could be loaded.
10739    #[cfg(feature = "has_symbol")]
10740    pub fn has_xcb_xkb_sa_lock_device_btn_end(&self) -> bool {
10741        has_sym!(self, xcb_xkb_sa_lock_device_btn_end)
10742    }
10743
10744    /// Advances a `xcb_xkb_sa_device_valuator_iterator_t` iterator by 1 element.
10745    #[inline]
10746    pub unsafe fn xcb_xkb_sa_device_valuator_next(
10747        &self,
10748        i: *mut xcb_xkb_sa_device_valuator_iterator_t,
10749    ) {
10750        sym!(self, xcb_xkb_sa_device_valuator_next)(i)
10751    }
10752
10753    /// Returns `true` iff the symbol `xcb_xkb_sa_device_valuator_next` could be loaded.
10754    #[cfg(feature = "has_symbol")]
10755    pub fn has_xcb_xkb_sa_device_valuator_next(&self) -> bool {
10756        has_sym!(self, xcb_xkb_sa_device_valuator_next)
10757    }
10758
10759    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sa_device_valuator_iterator_t`.
10760    #[inline]
10761    pub unsafe fn xcb_xkb_sa_device_valuator_end(
10762        &self,
10763        i: xcb_xkb_sa_device_valuator_iterator_t,
10764    ) -> xcb_generic_iterator_t {
10765        sym!(self, xcb_xkb_sa_device_valuator_end)(i)
10766    }
10767
10768    /// Returns `true` iff the symbol `xcb_xkb_sa_device_valuator_end` could be loaded.
10769    #[cfg(feature = "has_symbol")]
10770    pub fn has_xcb_xkb_sa_device_valuator_end(&self) -> bool {
10771        has_sym!(self, xcb_xkb_sa_device_valuator_end)
10772    }
10773
10774    /// Advances a `xcb_xkb_si_action_iterator_t` iterator by 1 element.
10775    #[inline]
10776    pub unsafe fn xcb_xkb_si_action_next(&self, i: *mut xcb_xkb_si_action_iterator_t) {
10777        sym!(self, xcb_xkb_si_action_next)(i)
10778    }
10779
10780    /// Returns `true` iff the symbol `xcb_xkb_si_action_next` could be loaded.
10781    #[cfg(feature = "has_symbol")]
10782    pub fn has_xcb_xkb_si_action_next(&self) -> bool {
10783        has_sym!(self, xcb_xkb_si_action_next)
10784    }
10785
10786    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_si_action_iterator_t`.
10787    #[inline]
10788    pub unsafe fn xcb_xkb_si_action_end(
10789        &self,
10790        i: xcb_xkb_si_action_iterator_t,
10791    ) -> xcb_generic_iterator_t {
10792        sym!(self, xcb_xkb_si_action_end)(i)
10793    }
10794
10795    /// Returns `true` iff the symbol `xcb_xkb_si_action_end` could be loaded.
10796    #[cfg(feature = "has_symbol")]
10797    pub fn has_xcb_xkb_si_action_end(&self) -> bool {
10798        has_sym!(self, xcb_xkb_si_action_end)
10799    }
10800
10801    /// Advances a `xcb_xkb_sym_interpret_iterator_t` iterator by 1 element.
10802    #[inline]
10803    pub unsafe fn xcb_xkb_sym_interpret_next(&self, i: *mut xcb_xkb_sym_interpret_iterator_t) {
10804        sym!(self, xcb_xkb_sym_interpret_next)(i)
10805    }
10806
10807    /// Returns `true` iff the symbol `xcb_xkb_sym_interpret_next` could be loaded.
10808    #[cfg(feature = "has_symbol")]
10809    pub fn has_xcb_xkb_sym_interpret_next(&self) -> bool {
10810        has_sym!(self, xcb_xkb_sym_interpret_next)
10811    }
10812
10813    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_sym_interpret_iterator_t`.
10814    #[inline]
10815    pub unsafe fn xcb_xkb_sym_interpret_end(
10816        &self,
10817        i: xcb_xkb_sym_interpret_iterator_t,
10818    ) -> xcb_generic_iterator_t {
10819        sym!(self, xcb_xkb_sym_interpret_end)(i)
10820    }
10821
10822    /// Returns `true` iff the symbol `xcb_xkb_sym_interpret_end` could be loaded.
10823    #[cfg(feature = "has_symbol")]
10824    pub fn has_xcb_xkb_sym_interpret_end(&self) -> bool {
10825        has_sym!(self, xcb_xkb_sym_interpret_end)
10826    }
10827
10828    /// Advances a `xcb_xkb_action_iterator_t` iterator by 1 element.
10829    #[inline]
10830    pub unsafe fn xcb_xkb_action_next(&self, i: *mut xcb_xkb_action_iterator_t) {
10831        sym!(self, xcb_xkb_action_next)(i)
10832    }
10833
10834    /// Returns `true` iff the symbol `xcb_xkb_action_next` could be loaded.
10835    #[cfg(feature = "has_symbol")]
10836    pub fn has_xcb_xkb_action_next(&self) -> bool {
10837        has_sym!(self, xcb_xkb_action_next)
10838    }
10839
10840    /// Returns a `xcb_generic_iterator_t` pointing just past the end of a `xcb_xkb_action_iterator_t`.
10841    #[inline]
10842    pub unsafe fn xcb_xkb_action_end(
10843        &self,
10844        i: xcb_xkb_action_iterator_t,
10845    ) -> xcb_generic_iterator_t {
10846        sym!(self, xcb_xkb_action_end)(i)
10847    }
10848
10849    /// Returns `true` iff the symbol `xcb_xkb_action_end` could be loaded.
10850    #[cfg(feature = "has_symbol")]
10851    pub fn has_xcb_xkb_action_end(&self) -> bool {
10852        has_sym!(self, xcb_xkb_action_end)
10853    }
10854
10855    /// Sends a `xkb::UseExtension` request (checked).
10856    ///
10857    /// This request generates a reply. You must either discard it with
10858    /// [`discard_reply`] or retrieve it with [`xcb_xkb_use_extension_reply`].
10859    ///
10860    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10861    /// [`xcb_xkb_use_extension_reply`]: Self::xcb_xkb_use_extension_reply
10862    #[inline]
10863    pub unsafe fn xcb_xkb_use_extension(
10864        &self,
10865        c: *mut xcb_connection_t,
10866        wanted_major: u16,
10867        wanted_minor: u16,
10868    ) -> xcb_xkb_use_extension_cookie_t {
10869        sym!(self, xcb_xkb_use_extension)(c, wanted_major, wanted_minor)
10870    }
10871
10872    /// Returns `true` iff the symbol `xcb_xkb_use_extension` could be loaded.
10873    #[cfg(feature = "has_symbol")]
10874    pub fn has_xcb_xkb_use_extension(&self) -> bool {
10875        has_sym!(self, xcb_xkb_use_extension)
10876    }
10877
10878    /// Sends a `xkb::UseExtension` request (unchecked).
10879    ///
10880    /// This request generates a reply. You must either discard it with
10881    /// [`discard_reply`] or retrieve it with [`xcb_xkb_use_extension_reply`].
10882    ///
10883    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
10884    /// [`xcb_xkb_use_extension_reply`]: Self::xcb_xkb_use_extension_reply
10885    #[inline]
10886    pub unsafe fn xcb_xkb_use_extension_unchecked(
10887        &self,
10888        c: *mut xcb_connection_t,
10889        wanted_major: u16,
10890        wanted_minor: u16,
10891    ) -> xcb_xkb_use_extension_cookie_t {
10892        sym!(self, xcb_xkb_use_extension_unchecked)(c, wanted_major, wanted_minor)
10893    }
10894
10895    /// Returns `true` iff the symbol `xcb_xkb_use_extension_unchecked` could be loaded.
10896    #[cfg(feature = "has_symbol")]
10897    pub fn has_xcb_xkb_use_extension_unchecked(&self) -> bool {
10898        has_sym!(self, xcb_xkb_use_extension_unchecked)
10899    }
10900
10901    /// Waits for the reply to a `xkb::UseExtension` request.
10902    #[inline]
10903    pub unsafe fn xcb_xkb_use_extension_reply(
10904        &self,
10905        c: *mut xcb_connection_t,
10906        cookie: xcb_xkb_use_extension_cookie_t,
10907        e: *mut *mut xcb_generic_error_t,
10908    ) -> *mut xcb_xkb_use_extension_reply_t {
10909        sym!(self, xcb_xkb_use_extension_reply)(c, cookie, e)
10910    }
10911
10912    /// Returns `true` iff the symbol `xcb_xkb_use_extension_reply` could be loaded.
10913    #[cfg(feature = "has_symbol")]
10914    pub fn has_xcb_xkb_use_extension_reply(&self) -> bool {
10915        has_sym!(self, xcb_xkb_use_extension_reply)
10916    }
10917
10918    /// Serializes a `xcb_xkb_select_events_details_t` object.
10919    #[inline]
10920    pub unsafe fn xcb_xkb_select_events_details_serialize(
10921        &self,
10922        _buffer: *mut *mut c_void,
10923        affectWhich: u16,
10924        clear: u16,
10925        selectAll: u16,
10926        _aux: *const xcb_xkb_select_events_details_t,
10927    ) -> c_int {
10928        sym!(self, xcb_xkb_select_events_details_serialize)(
10929            _buffer,
10930            affectWhich,
10931            clear,
10932            selectAll,
10933            _aux,
10934        )
10935    }
10936
10937    /// Returns `true` iff the symbol `xcb_xkb_select_events_details_serialize` could be loaded.
10938    #[cfg(feature = "has_symbol")]
10939    pub fn has_xcb_xkb_select_events_details_serialize(&self) -> bool {
10940        has_sym!(self, xcb_xkb_select_events_details_serialize)
10941    }
10942
10943    /// Unpacks a `xcb_xkb_select_events_details_t` object.
10944    #[inline]
10945    pub unsafe fn xcb_xkb_select_events_details_unpack(
10946        &self,
10947        _buffer: *const c_void,
10948        affectWhich: u16,
10949        clear: u16,
10950        selectAll: u16,
10951        _aux: *mut xcb_xkb_select_events_details_t,
10952    ) -> c_int {
10953        sym!(self, xcb_xkb_select_events_details_unpack)(
10954            _buffer,
10955            affectWhich,
10956            clear,
10957            selectAll,
10958            _aux,
10959        )
10960    }
10961
10962    /// Returns `true` iff the symbol `xcb_xkb_select_events_details_unpack` could be loaded.
10963    #[cfg(feature = "has_symbol")]
10964    pub fn has_xcb_xkb_select_events_details_unpack(&self) -> bool {
10965        has_sym!(self, xcb_xkb_select_events_details_unpack)
10966    }
10967
10968    /// Computes the size of a `xcb_xkb_select_events_details_t` object.
10969    #[inline]
10970    pub unsafe fn xcb_xkb_select_events_details_sizeof(
10971        &self,
10972        _buffer: *const c_void,
10973        affectWhich: u16,
10974        clear: u16,
10975        selectAll: u16,
10976    ) -> c_int {
10977        sym!(self, xcb_xkb_select_events_details_sizeof)(_buffer, affectWhich, clear, selectAll)
10978    }
10979
10980    /// Returns `true` iff the symbol `xcb_xkb_select_events_details_sizeof` could be loaded.
10981    #[cfg(feature = "has_symbol")]
10982    pub fn has_xcb_xkb_select_events_details_sizeof(&self) -> bool {
10983        has_sym!(self, xcb_xkb_select_events_details_sizeof)
10984    }
10985
10986    /// Computes the size of a `xcb_xkb_select_events_request_t` object.
10987    #[inline]
10988    pub unsafe fn xcb_xkb_select_events_sizeof(&self, _buffer: *const c_void) -> c_int {
10989        sym!(self, xcb_xkb_select_events_sizeof)(_buffer)
10990    }
10991
10992    /// Returns `true` iff the symbol `xcb_xkb_select_events_sizeof` could be loaded.
10993    #[cfg(feature = "has_symbol")]
10994    pub fn has_xcb_xkb_select_events_sizeof(&self) -> bool {
10995        has_sym!(self, xcb_xkb_select_events_sizeof)
10996    }
10997
10998    /// Sends a `xkb::SelectEvents` request (checked).
10999    ///
11000    /// This request generates a reply. You must either discard it with
11001    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
11002    ///
11003    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11004    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
11005    ///
11006    /// There is an auxiliary version of this function: [`xcb_xkb_select_events_aux_checked`].
11007    ///
11008    /// [`xcb_xkb_select_events_aux_checked`]: Self::xcb_xkb_select_events_aux_checked
11009    #[inline]
11010    pub unsafe fn xcb_xkb_select_events_checked(
11011        &self,
11012        c: *mut xcb_connection_t,
11013        device_spec: xcb_xkb_device_spec_t,
11014        affect_which: u16,
11015        clear: u16,
11016        select_all: u16,
11017        affect_map: u16,
11018        map: u16,
11019        details: *const c_void,
11020    ) -> xcb_void_cookie_t {
11021        sym!(self, xcb_xkb_select_events_checked)(
11022            c,
11023            device_spec,
11024            affect_which,
11025            clear,
11026            select_all,
11027            affect_map,
11028            map,
11029            details,
11030        )
11031    }
11032
11033    /// Returns `true` iff the symbol `xcb_xkb_select_events_checked` could be loaded.
11034    #[cfg(feature = "has_symbol")]
11035    pub fn has_xcb_xkb_select_events_checked(&self) -> bool {
11036        has_sym!(self, xcb_xkb_select_events_checked)
11037    }
11038
11039    /// Sends a `xkb::SelectEvents` request (unchecked).
11040    ///
11041    /// There is an auxiliary version of this function: [`xcb_xkb_select_events_aux`].
11042    ///
11043    /// [`xcb_xkb_select_events_aux`]: Self::xcb_xkb_select_events_aux
11044    #[inline]
11045    pub unsafe fn xcb_xkb_select_events(
11046        &self,
11047        c: *mut xcb_connection_t,
11048        device_spec: xcb_xkb_device_spec_t,
11049        affect_which: u16,
11050        clear: u16,
11051        select_all: u16,
11052        affect_map: u16,
11053        map: u16,
11054        details: *const c_void,
11055    ) -> xcb_void_cookie_t {
11056        sym!(self, xcb_xkb_select_events)(
11057            c,
11058            device_spec,
11059            affect_which,
11060            clear,
11061            select_all,
11062            affect_map,
11063            map,
11064            details,
11065        )
11066    }
11067
11068    /// Returns `true` iff the symbol `xcb_xkb_select_events` could be loaded.
11069    #[cfg(feature = "has_symbol")]
11070    pub fn has_xcb_xkb_select_events(&self) -> bool {
11071        has_sym!(self, xcb_xkb_select_events)
11072    }
11073
11074    /// Sends a `xkb::SelectEvents` request (checked) (aux).
11075    ///
11076    /// This request generates a reply. You must either discard it with
11077    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
11078    ///
11079    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11080    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
11081    #[inline]
11082    pub unsafe fn xcb_xkb_select_events_aux_checked(
11083        &self,
11084        c: *mut xcb_connection_t,
11085        device_spec: xcb_xkb_device_spec_t,
11086        affect_which: u16,
11087        clear: u16,
11088        select_all: u16,
11089        affect_map: u16,
11090        map: u16,
11091        details: *const xcb_xkb_select_events_details_t,
11092    ) -> xcb_void_cookie_t {
11093        sym!(self, xcb_xkb_select_events_aux_checked)(
11094            c,
11095            device_spec,
11096            affect_which,
11097            clear,
11098            select_all,
11099            affect_map,
11100            map,
11101            details,
11102        )
11103    }
11104
11105    /// Returns `true` iff the symbol `xcb_xkb_select_events_aux_checked` could be loaded.
11106    #[cfg(feature = "has_symbol")]
11107    pub fn has_xcb_xkb_select_events_aux_checked(&self) -> bool {
11108        has_sym!(self, xcb_xkb_select_events_aux_checked)
11109    }
11110
11111    /// Sends a `xkb::SelectEvents` request (unchecked) (aux).
11112    #[inline]
11113    pub unsafe fn xcb_xkb_select_events_aux(
11114        &self,
11115        c: *mut xcb_connection_t,
11116        device_spec: xcb_xkb_device_spec_t,
11117        affect_which: u16,
11118        clear: u16,
11119        select_all: u16,
11120        affect_map: u16,
11121        map: u16,
11122        details: *const xcb_xkb_select_events_details_t,
11123    ) -> xcb_void_cookie_t {
11124        sym!(self, xcb_xkb_select_events_aux)(
11125            c,
11126            device_spec,
11127            affect_which,
11128            clear,
11129            select_all,
11130            affect_map,
11131            map,
11132            details,
11133        )
11134    }
11135
11136    /// Returns `true` iff the symbol `xcb_xkb_select_events_aux` could be loaded.
11137    #[cfg(feature = "has_symbol")]
11138    pub fn has_xcb_xkb_select_events_aux(&self) -> bool {
11139        has_sym!(self, xcb_xkb_select_events_aux)
11140    }
11141
11142    /// Returns a pointer to the `details` field of a `xcb_xkb_select_events_request_t` struct.
11143    #[inline]
11144    pub unsafe fn xcb_xkb_select_events_details(
11145        &self,
11146        r: *const xcb_xkb_select_events_request_t,
11147    ) -> *mut c_void {
11148        sym!(self, xcb_xkb_select_events_details)(r)
11149    }
11150
11151    /// Returns `true` iff the symbol `xcb_xkb_select_events_details` could be loaded.
11152    #[cfg(feature = "has_symbol")]
11153    pub fn has_xcb_xkb_select_events_details(&self) -> bool {
11154        has_sym!(self, xcb_xkb_select_events_details)
11155    }
11156
11157    /// Sends a `xkb::Bell` request (checked).
11158    ///
11159    /// This request generates a reply. You must either discard it with
11160    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
11161    ///
11162    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11163    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
11164    #[inline]
11165    pub unsafe fn xcb_xkb_bell_checked(
11166        &self,
11167        c: *mut xcb_connection_t,
11168        device_spec: xcb_xkb_device_spec_t,
11169        bell_class: xcb_xkb_bell_class_spec_t,
11170        bell_id: xcb_xkb_id_spec_t,
11171        percent: i8,
11172        force_sound: u8,
11173        event_only: u8,
11174        pitch: i16,
11175        duration: i16,
11176        name: xcb_atom_t,
11177        window: xcb_window_t,
11178    ) -> xcb_void_cookie_t {
11179        sym!(self, xcb_xkb_bell_checked)(
11180            c,
11181            device_spec,
11182            bell_class,
11183            bell_id,
11184            percent,
11185            force_sound,
11186            event_only,
11187            pitch,
11188            duration,
11189            name,
11190            window,
11191        )
11192    }
11193
11194    /// Returns `true` iff the symbol `xcb_xkb_bell_checked` could be loaded.
11195    #[cfg(feature = "has_symbol")]
11196    pub fn has_xcb_xkb_bell_checked(&self) -> bool {
11197        has_sym!(self, xcb_xkb_bell_checked)
11198    }
11199
11200    /// Sends a `xkb::Bell` request (unchecked).
11201    #[inline]
11202    pub unsafe fn xcb_xkb_bell(
11203        &self,
11204        c: *mut xcb_connection_t,
11205        device_spec: xcb_xkb_device_spec_t,
11206        bell_class: xcb_xkb_bell_class_spec_t,
11207        bell_id: xcb_xkb_id_spec_t,
11208        percent: i8,
11209        force_sound: u8,
11210        event_only: u8,
11211        pitch: i16,
11212        duration: i16,
11213        name: xcb_atom_t,
11214        window: xcb_window_t,
11215    ) -> xcb_void_cookie_t {
11216        sym!(self, xcb_xkb_bell)(
11217            c,
11218            device_spec,
11219            bell_class,
11220            bell_id,
11221            percent,
11222            force_sound,
11223            event_only,
11224            pitch,
11225            duration,
11226            name,
11227            window,
11228        )
11229    }
11230
11231    /// Returns `true` iff the symbol `xcb_xkb_bell` could be loaded.
11232    #[cfg(feature = "has_symbol")]
11233    pub fn has_xcb_xkb_bell(&self) -> bool {
11234        has_sym!(self, xcb_xkb_bell)
11235    }
11236
11237    /// Sends a `xkb::GetState` request (checked).
11238    ///
11239    /// This request generates a reply. You must either discard it with
11240    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_state_reply`].
11241    ///
11242    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11243    /// [`xcb_xkb_get_state_reply`]: Self::xcb_xkb_get_state_reply
11244    #[inline]
11245    pub unsafe fn xcb_xkb_get_state(
11246        &self,
11247        c: *mut xcb_connection_t,
11248        device_spec: xcb_xkb_device_spec_t,
11249    ) -> xcb_xkb_get_state_cookie_t {
11250        sym!(self, xcb_xkb_get_state)(c, device_spec)
11251    }
11252
11253    /// Returns `true` iff the symbol `xcb_xkb_get_state` could be loaded.
11254    #[cfg(feature = "has_symbol")]
11255    pub fn has_xcb_xkb_get_state(&self) -> bool {
11256        has_sym!(self, xcb_xkb_get_state)
11257    }
11258
11259    /// Sends a `xkb::GetState` request (unchecked).
11260    ///
11261    /// This request generates a reply. You must either discard it with
11262    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_state_reply`].
11263    ///
11264    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11265    /// [`xcb_xkb_get_state_reply`]: Self::xcb_xkb_get_state_reply
11266    #[inline]
11267    pub unsafe fn xcb_xkb_get_state_unchecked(
11268        &self,
11269        c: *mut xcb_connection_t,
11270        device_spec: xcb_xkb_device_spec_t,
11271    ) -> xcb_xkb_get_state_cookie_t {
11272        sym!(self, xcb_xkb_get_state_unchecked)(c, device_spec)
11273    }
11274
11275    /// Returns `true` iff the symbol `xcb_xkb_get_state_unchecked` could be loaded.
11276    #[cfg(feature = "has_symbol")]
11277    pub fn has_xcb_xkb_get_state_unchecked(&self) -> bool {
11278        has_sym!(self, xcb_xkb_get_state_unchecked)
11279    }
11280
11281    /// Waits for the reply to a `xkb::GetState` request.
11282    #[inline]
11283    pub unsafe fn xcb_xkb_get_state_reply(
11284        &self,
11285        c: *mut xcb_connection_t,
11286        cookie: xcb_xkb_get_state_cookie_t,
11287        e: *mut *mut xcb_generic_error_t,
11288    ) -> *mut xcb_xkb_get_state_reply_t {
11289        sym!(self, xcb_xkb_get_state_reply)(c, cookie, e)
11290    }
11291
11292    /// Returns `true` iff the symbol `xcb_xkb_get_state_reply` could be loaded.
11293    #[cfg(feature = "has_symbol")]
11294    pub fn has_xcb_xkb_get_state_reply(&self) -> bool {
11295        has_sym!(self, xcb_xkb_get_state_reply)
11296    }
11297
11298    /// Sends a `xkb::LatchLockState` request (checked).
11299    ///
11300    /// This request generates a reply. You must either discard it with
11301    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
11302    ///
11303    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11304    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
11305    #[inline]
11306    pub unsafe fn xcb_xkb_latch_lock_state_checked(
11307        &self,
11308        c: *mut xcb_connection_t,
11309        device_spec: xcb_xkb_device_spec_t,
11310        affect_mod_locks: u8,
11311        mod_locks: u8,
11312        lock_group: u8,
11313        group_lock: u8,
11314        affect_mod_latches: u8,
11315        latch_group: u8,
11316        group_latch: u16,
11317    ) -> xcb_void_cookie_t {
11318        sym!(self, xcb_xkb_latch_lock_state_checked)(
11319            c,
11320            device_spec,
11321            affect_mod_locks,
11322            mod_locks,
11323            lock_group,
11324            group_lock,
11325            affect_mod_latches,
11326            latch_group,
11327            group_latch,
11328        )
11329    }
11330
11331    /// Returns `true` iff the symbol `xcb_xkb_latch_lock_state_checked` could be loaded.
11332    #[cfg(feature = "has_symbol")]
11333    pub fn has_xcb_xkb_latch_lock_state_checked(&self) -> bool {
11334        has_sym!(self, xcb_xkb_latch_lock_state_checked)
11335    }
11336
11337    /// Sends a `xkb::LatchLockState` request (unchecked).
11338    #[inline]
11339    pub unsafe fn xcb_xkb_latch_lock_state(
11340        &self,
11341        c: *mut xcb_connection_t,
11342        device_spec: xcb_xkb_device_spec_t,
11343        affect_mod_locks: u8,
11344        mod_locks: u8,
11345        lock_group: u8,
11346        group_lock: u8,
11347        affect_mod_latches: u8,
11348        latch_group: u8,
11349        group_latch: u16,
11350    ) -> xcb_void_cookie_t {
11351        sym!(self, xcb_xkb_latch_lock_state)(
11352            c,
11353            device_spec,
11354            affect_mod_locks,
11355            mod_locks,
11356            lock_group,
11357            group_lock,
11358            affect_mod_latches,
11359            latch_group,
11360            group_latch,
11361        )
11362    }
11363
11364    /// Returns `true` iff the symbol `xcb_xkb_latch_lock_state` could be loaded.
11365    #[cfg(feature = "has_symbol")]
11366    pub fn has_xcb_xkb_latch_lock_state(&self) -> bool {
11367        has_sym!(self, xcb_xkb_latch_lock_state)
11368    }
11369
11370    /// Sends a `xkb::GetControls` request (checked).
11371    ///
11372    /// This request generates a reply. You must either discard it with
11373    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_controls_reply`].
11374    ///
11375    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11376    /// [`xcb_xkb_get_controls_reply`]: Self::xcb_xkb_get_controls_reply
11377    #[inline]
11378    pub unsafe fn xcb_xkb_get_controls(
11379        &self,
11380        c: *mut xcb_connection_t,
11381        device_spec: xcb_xkb_device_spec_t,
11382    ) -> xcb_xkb_get_controls_cookie_t {
11383        sym!(self, xcb_xkb_get_controls)(c, device_spec)
11384    }
11385
11386    /// Returns `true` iff the symbol `xcb_xkb_get_controls` could be loaded.
11387    #[cfg(feature = "has_symbol")]
11388    pub fn has_xcb_xkb_get_controls(&self) -> bool {
11389        has_sym!(self, xcb_xkb_get_controls)
11390    }
11391
11392    /// Sends a `xkb::GetControls` request (unchecked).
11393    ///
11394    /// This request generates a reply. You must either discard it with
11395    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_controls_reply`].
11396    ///
11397    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11398    /// [`xcb_xkb_get_controls_reply`]: Self::xcb_xkb_get_controls_reply
11399    #[inline]
11400    pub unsafe fn xcb_xkb_get_controls_unchecked(
11401        &self,
11402        c: *mut xcb_connection_t,
11403        device_spec: xcb_xkb_device_spec_t,
11404    ) -> xcb_xkb_get_controls_cookie_t {
11405        sym!(self, xcb_xkb_get_controls_unchecked)(c, device_spec)
11406    }
11407
11408    /// Returns `true` iff the symbol `xcb_xkb_get_controls_unchecked` could be loaded.
11409    #[cfg(feature = "has_symbol")]
11410    pub fn has_xcb_xkb_get_controls_unchecked(&self) -> bool {
11411        has_sym!(self, xcb_xkb_get_controls_unchecked)
11412    }
11413
11414    /// Waits for the reply to a `xkb::GetControls` request.
11415    #[inline]
11416    pub unsafe fn xcb_xkb_get_controls_reply(
11417        &self,
11418        c: *mut xcb_connection_t,
11419        cookie: xcb_xkb_get_controls_cookie_t,
11420        e: *mut *mut xcb_generic_error_t,
11421    ) -> *mut xcb_xkb_get_controls_reply_t {
11422        sym!(self, xcb_xkb_get_controls_reply)(c, cookie, e)
11423    }
11424
11425    /// Returns `true` iff the symbol `xcb_xkb_get_controls_reply` could be loaded.
11426    #[cfg(feature = "has_symbol")]
11427    pub fn has_xcb_xkb_get_controls_reply(&self) -> bool {
11428        has_sym!(self, xcb_xkb_get_controls_reply)
11429    }
11430
11431    /// Sends a `xkb::SetControls` request (checked).
11432    ///
11433    /// This request generates a reply. You must either discard it with
11434    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
11435    ///
11436    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
11437    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
11438    #[inline]
11439    pub unsafe fn xcb_xkb_set_controls_checked(
11440        &self,
11441        c: *mut xcb_connection_t,
11442        device_spec: xcb_xkb_device_spec_t,
11443        affect_internal_real_mods: u8,
11444        internal_real_mods: u8,
11445        affect_ignore_lock_real_mods: u8,
11446        ignore_lock_real_mods: u8,
11447        affect_internal_virtual_mods: u16,
11448        internal_virtual_mods: u16,
11449        affect_ignore_lock_virtual_mods: u16,
11450        ignore_lock_virtual_mods: u16,
11451        mouse_keys_dflt_btn: u8,
11452        groups_wrap: u8,
11453        access_xoptions: u16,
11454        affect_enabled_controls: u32,
11455        enabled_controls: u32,
11456        change_controls: u32,
11457        repeat_delay: u16,
11458        repeat_interval: u16,
11459        slow_keys_delay: u16,
11460        debounce_delay: u16,
11461        mouse_keys_delay: u16,
11462        mouse_keys_interval: u16,
11463        mouse_keys_time_to_max: u16,
11464        mouse_keys_max_speed: u16,
11465        mouse_keys_curve: i16,
11466        access_xtimeout: u16,
11467        access_xtimeout_mask: u32,
11468        access_xtimeout_values: u32,
11469        access_xtimeout_options_mask: u16,
11470        access_xtimeout_options_values: u16,
11471        per_key_repeat: *const [u8; 32],
11472    ) -> xcb_void_cookie_t {
11473        sym!(self, xcb_xkb_set_controls_checked)(
11474            c,
11475            device_spec,
11476            affect_internal_real_mods,
11477            internal_real_mods,
11478            affect_ignore_lock_real_mods,
11479            ignore_lock_real_mods,
11480            affect_internal_virtual_mods,
11481            internal_virtual_mods,
11482            affect_ignore_lock_virtual_mods,
11483            ignore_lock_virtual_mods,
11484            mouse_keys_dflt_btn,
11485            groups_wrap,
11486            access_xoptions,
11487            affect_enabled_controls,
11488            enabled_controls,
11489            change_controls,
11490            repeat_delay,
11491            repeat_interval,
11492            slow_keys_delay,
11493            debounce_delay,
11494            mouse_keys_delay,
11495            mouse_keys_interval,
11496            mouse_keys_time_to_max,
11497            mouse_keys_max_speed,
11498            mouse_keys_curve,
11499            access_xtimeout,
11500            access_xtimeout_mask,
11501            access_xtimeout_values,
11502            access_xtimeout_options_mask,
11503            access_xtimeout_options_values,
11504            per_key_repeat,
11505        )
11506    }
11507
11508    /// Returns `true` iff the symbol `xcb_xkb_set_controls_checked` could be loaded.
11509    #[cfg(feature = "has_symbol")]
11510    pub fn has_xcb_xkb_set_controls_checked(&self) -> bool {
11511        has_sym!(self, xcb_xkb_set_controls_checked)
11512    }
11513
11514    /// Sends a `xkb::SetControls` request (unchecked).
11515    #[inline]
11516    pub unsafe fn xcb_xkb_set_controls(
11517        &self,
11518        c: *mut xcb_connection_t,
11519        device_spec: xcb_xkb_device_spec_t,
11520        affect_internal_real_mods: u8,
11521        internal_real_mods: u8,
11522        affect_ignore_lock_real_mods: u8,
11523        ignore_lock_real_mods: u8,
11524        affect_internal_virtual_mods: u16,
11525        internal_virtual_mods: u16,
11526        affect_ignore_lock_virtual_mods: u16,
11527        ignore_lock_virtual_mods: u16,
11528        mouse_keys_dflt_btn: u8,
11529        groups_wrap: u8,
11530        access_xoptions: u16,
11531        affect_enabled_controls: u32,
11532        enabled_controls: u32,
11533        change_controls: u32,
11534        repeat_delay: u16,
11535        repeat_interval: u16,
11536        slow_keys_delay: u16,
11537        debounce_delay: u16,
11538        mouse_keys_delay: u16,
11539        mouse_keys_interval: u16,
11540        mouse_keys_time_to_max: u16,
11541        mouse_keys_max_speed: u16,
11542        mouse_keys_curve: i16,
11543        access_xtimeout: u16,
11544        access_xtimeout_mask: u32,
11545        access_xtimeout_values: u32,
11546        access_xtimeout_options_mask: u16,
11547        access_xtimeout_options_values: u16,
11548        per_key_repeat: *const [u8; 32],
11549    ) -> xcb_void_cookie_t {
11550        sym!(self, xcb_xkb_set_controls)(
11551            c,
11552            device_spec,
11553            affect_internal_real_mods,
11554            internal_real_mods,
11555            affect_ignore_lock_real_mods,
11556            ignore_lock_real_mods,
11557            affect_internal_virtual_mods,
11558            internal_virtual_mods,
11559            affect_ignore_lock_virtual_mods,
11560            ignore_lock_virtual_mods,
11561            mouse_keys_dflt_btn,
11562            groups_wrap,
11563            access_xoptions,
11564            affect_enabled_controls,
11565            enabled_controls,
11566            change_controls,
11567            repeat_delay,
11568            repeat_interval,
11569            slow_keys_delay,
11570            debounce_delay,
11571            mouse_keys_delay,
11572            mouse_keys_interval,
11573            mouse_keys_time_to_max,
11574            mouse_keys_max_speed,
11575            mouse_keys_curve,
11576            access_xtimeout,
11577            access_xtimeout_mask,
11578            access_xtimeout_values,
11579            access_xtimeout_options_mask,
11580            access_xtimeout_options_values,
11581            per_key_repeat,
11582        )
11583    }
11584
11585    /// Returns `true` iff the symbol `xcb_xkb_set_controls` could be loaded.
11586    #[cfg(feature = "has_symbol")]
11587    pub fn has_xcb_xkb_set_controls(&self) -> bool {
11588        has_sym!(self, xcb_xkb_set_controls)
11589    }
11590
11591    /// Returns the number of elements of the `types_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11592    #[inline]
11593    pub unsafe fn xcb_xkb_get_map_map_types_rtrn_length(
11594        &self,
11595        r: *const xcb_xkb_get_map_reply_t,
11596        s: *const xcb_xkb_get_map_map_t,
11597    ) -> c_int {
11598        sym!(self, xcb_xkb_get_map_map_types_rtrn_length)(r, s)
11599    }
11600
11601    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_types_rtrn_length` could be loaded.
11602    #[cfg(feature = "has_symbol")]
11603    pub fn has_xcb_xkb_get_map_map_types_rtrn_length(&self) -> bool {
11604        has_sym!(self, xcb_xkb_get_map_map_types_rtrn_length)
11605    }
11606
11607    /// Returns an iterator over the elements of the
11608    /// `types_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11609    #[inline]
11610    pub unsafe fn xcb_xkb_get_map_map_types_rtrn_iterator(
11611        &self,
11612        r: *const xcb_xkb_get_map_reply_t,
11613        s: *const xcb_xkb_get_map_map_t,
11614    ) -> xcb_xkb_key_type_iterator_t {
11615        sym!(self, xcb_xkb_get_map_map_types_rtrn_iterator)(r, s)
11616    }
11617
11618    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_types_rtrn_iterator` could be loaded.
11619    #[cfg(feature = "has_symbol")]
11620    pub fn has_xcb_xkb_get_map_map_types_rtrn_iterator(&self) -> bool {
11621        has_sym!(self, xcb_xkb_get_map_map_types_rtrn_iterator)
11622    }
11623
11624    /// Returns the number of elements of the `syms_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11625    #[inline]
11626    pub unsafe fn xcb_xkb_get_map_map_syms_rtrn_length(
11627        &self,
11628        r: *const xcb_xkb_get_map_reply_t,
11629        s: *const xcb_xkb_get_map_map_t,
11630    ) -> c_int {
11631        sym!(self, xcb_xkb_get_map_map_syms_rtrn_length)(r, s)
11632    }
11633
11634    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_syms_rtrn_length` could be loaded.
11635    #[cfg(feature = "has_symbol")]
11636    pub fn has_xcb_xkb_get_map_map_syms_rtrn_length(&self) -> bool {
11637        has_sym!(self, xcb_xkb_get_map_map_syms_rtrn_length)
11638    }
11639
11640    /// Returns an iterator over the elements of the
11641    /// `syms_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11642    #[inline]
11643    pub unsafe fn xcb_xkb_get_map_map_syms_rtrn_iterator(
11644        &self,
11645        r: *const xcb_xkb_get_map_reply_t,
11646        s: *const xcb_xkb_get_map_map_t,
11647    ) -> xcb_xkb_key_sym_map_iterator_t {
11648        sym!(self, xcb_xkb_get_map_map_syms_rtrn_iterator)(r, s)
11649    }
11650
11651    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_syms_rtrn_iterator` could be loaded.
11652    #[cfg(feature = "has_symbol")]
11653    pub fn has_xcb_xkb_get_map_map_syms_rtrn_iterator(&self) -> bool {
11654        has_sym!(self, xcb_xkb_get_map_map_syms_rtrn_iterator)
11655    }
11656
11657    /// Returns a pointer to the `acts_rtrn_count` field of a `xcb_xkb_get_map_map_t` struct.
11658    #[inline]
11659    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_count(
11660        &self,
11661        s: *const xcb_xkb_get_map_map_t,
11662    ) -> *mut u8 {
11663        sym!(self, xcb_xkb_get_map_map_acts_rtrn_count)(s)
11664    }
11665
11666    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_count` could be loaded.
11667    #[cfg(feature = "has_symbol")]
11668    pub fn has_xcb_xkb_get_map_map_acts_rtrn_count(&self) -> bool {
11669        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_count)
11670    }
11671
11672    /// Returns the number of elements of the `acts_rtrn_count` field of a `xcb_xkb_get_map_map_t` struct.
11673    #[inline]
11674    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_count_length(
11675        &self,
11676        r: *const xcb_xkb_get_map_reply_t,
11677        s: *const xcb_xkb_get_map_map_t,
11678    ) -> c_int {
11679        sym!(self, xcb_xkb_get_map_map_acts_rtrn_count_length)(r, s)
11680    }
11681
11682    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_count_length` could be loaded.
11683    #[cfg(feature = "has_symbol")]
11684    pub fn has_xcb_xkb_get_map_map_acts_rtrn_count_length(&self) -> bool {
11685        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_count_length)
11686    }
11687
11688    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
11689    /// `acts_rtrn_count` field of a `xcb_xkb_get_map_map_t` struct.
11690    #[inline]
11691    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_count_end(
11692        &self,
11693        r: *const xcb_xkb_get_map_reply_t,
11694        s: *const xcb_xkb_get_map_map_t,
11695    ) -> xcb_generic_iterator_t {
11696        sym!(self, xcb_xkb_get_map_map_acts_rtrn_count_end)(r, s)
11697    }
11698
11699    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_count_end` could be loaded.
11700    #[cfg(feature = "has_symbol")]
11701    pub fn has_xcb_xkb_get_map_map_acts_rtrn_count_end(&self) -> bool {
11702        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_count_end)
11703    }
11704
11705    /// Returns a pointer to the `acts_rtrn_acts` field of a `xcb_xkb_get_map_map_t` struct.
11706    #[inline]
11707    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_acts(
11708        &self,
11709        s: *const xcb_xkb_get_map_map_t,
11710    ) -> *mut xcb_xkb_action_t {
11711        sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts)(s)
11712    }
11713
11714    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_acts` could be loaded.
11715    #[cfg(feature = "has_symbol")]
11716    pub fn has_xcb_xkb_get_map_map_acts_rtrn_acts(&self) -> bool {
11717        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts)
11718    }
11719
11720    /// Returns the number of elements of the `acts_rtrn_acts` field of a `xcb_xkb_get_map_map_t` struct.
11721    #[inline]
11722    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_acts_length(
11723        &self,
11724        r: *const xcb_xkb_get_map_reply_t,
11725        s: *const xcb_xkb_get_map_map_t,
11726    ) -> c_int {
11727        sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts_length)(r, s)
11728    }
11729
11730    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_acts_length` could be loaded.
11731    #[cfg(feature = "has_symbol")]
11732    pub fn has_xcb_xkb_get_map_map_acts_rtrn_acts_length(&self) -> bool {
11733        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts_length)
11734    }
11735
11736    /// Returns an iterator over the elements of the
11737    /// `acts_rtrn_acts` field of a `xcb_xkb_get_map_map_t` struct.
11738    #[inline]
11739    pub unsafe fn xcb_xkb_get_map_map_acts_rtrn_acts_iterator(
11740        &self,
11741        r: *const xcb_xkb_get_map_reply_t,
11742        s: *const xcb_xkb_get_map_map_t,
11743    ) -> xcb_xkb_action_iterator_t {
11744        sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts_iterator)(r, s)
11745    }
11746
11747    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_acts_rtrn_acts_iterator` could be loaded.
11748    #[cfg(feature = "has_symbol")]
11749    pub fn has_xcb_xkb_get_map_map_acts_rtrn_acts_iterator(&self) -> bool {
11750        has_sym!(self, xcb_xkb_get_map_map_acts_rtrn_acts_iterator)
11751    }
11752
11753    /// Returns a pointer to the `behaviors_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11754    #[inline]
11755    pub unsafe fn xcb_xkb_get_map_map_behaviors_rtrn(
11756        &self,
11757        s: *const xcb_xkb_get_map_map_t,
11758    ) -> *mut xcb_xkb_set_behavior_t {
11759        sym!(self, xcb_xkb_get_map_map_behaviors_rtrn)(s)
11760    }
11761
11762    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_behaviors_rtrn` could be loaded.
11763    #[cfg(feature = "has_symbol")]
11764    pub fn has_xcb_xkb_get_map_map_behaviors_rtrn(&self) -> bool {
11765        has_sym!(self, xcb_xkb_get_map_map_behaviors_rtrn)
11766    }
11767
11768    /// Returns the number of elements of the `behaviors_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11769    #[inline]
11770    pub unsafe fn xcb_xkb_get_map_map_behaviors_rtrn_length(
11771        &self,
11772        r: *const xcb_xkb_get_map_reply_t,
11773        s: *const xcb_xkb_get_map_map_t,
11774    ) -> c_int {
11775        sym!(self, xcb_xkb_get_map_map_behaviors_rtrn_length)(r, s)
11776    }
11777
11778    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_behaviors_rtrn_length` could be loaded.
11779    #[cfg(feature = "has_symbol")]
11780    pub fn has_xcb_xkb_get_map_map_behaviors_rtrn_length(&self) -> bool {
11781        has_sym!(self, xcb_xkb_get_map_map_behaviors_rtrn_length)
11782    }
11783
11784    /// Returns an iterator over the elements of the
11785    /// `behaviors_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11786    #[inline]
11787    pub unsafe fn xcb_xkb_get_map_map_behaviors_rtrn_iterator(
11788        &self,
11789        r: *const xcb_xkb_get_map_reply_t,
11790        s: *const xcb_xkb_get_map_map_t,
11791    ) -> xcb_xkb_set_behavior_iterator_t {
11792        sym!(self, xcb_xkb_get_map_map_behaviors_rtrn_iterator)(r, s)
11793    }
11794
11795    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_behaviors_rtrn_iterator` could be loaded.
11796    #[cfg(feature = "has_symbol")]
11797    pub fn has_xcb_xkb_get_map_map_behaviors_rtrn_iterator(&self) -> bool {
11798        has_sym!(self, xcb_xkb_get_map_map_behaviors_rtrn_iterator)
11799    }
11800
11801    /// Returns a pointer to the `vmods_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11802    #[inline]
11803    pub unsafe fn xcb_xkb_get_map_map_vmods_rtrn(
11804        &self,
11805        s: *const xcb_xkb_get_map_map_t,
11806    ) -> *mut u8 {
11807        sym!(self, xcb_xkb_get_map_map_vmods_rtrn)(s)
11808    }
11809
11810    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmods_rtrn` could be loaded.
11811    #[cfg(feature = "has_symbol")]
11812    pub fn has_xcb_xkb_get_map_map_vmods_rtrn(&self) -> bool {
11813        has_sym!(self, xcb_xkb_get_map_map_vmods_rtrn)
11814    }
11815
11816    /// Returns the number of elements of the `vmods_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11817    #[inline]
11818    pub unsafe fn xcb_xkb_get_map_map_vmods_rtrn_length(
11819        &self,
11820        r: *const xcb_xkb_get_map_reply_t,
11821        s: *const xcb_xkb_get_map_map_t,
11822    ) -> c_int {
11823        sym!(self, xcb_xkb_get_map_map_vmods_rtrn_length)(r, s)
11824    }
11825
11826    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmods_rtrn_length` could be loaded.
11827    #[cfg(feature = "has_symbol")]
11828    pub fn has_xcb_xkb_get_map_map_vmods_rtrn_length(&self) -> bool {
11829        has_sym!(self, xcb_xkb_get_map_map_vmods_rtrn_length)
11830    }
11831
11832    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
11833    /// `vmods_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11834    #[inline]
11835    pub unsafe fn xcb_xkb_get_map_map_vmods_rtrn_end(
11836        &self,
11837        r: *const xcb_xkb_get_map_reply_t,
11838        s: *const xcb_xkb_get_map_map_t,
11839    ) -> xcb_generic_iterator_t {
11840        sym!(self, xcb_xkb_get_map_map_vmods_rtrn_end)(r, s)
11841    }
11842
11843    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmods_rtrn_end` could be loaded.
11844    #[cfg(feature = "has_symbol")]
11845    pub fn has_xcb_xkb_get_map_map_vmods_rtrn_end(&self) -> bool {
11846        has_sym!(self, xcb_xkb_get_map_map_vmods_rtrn_end)
11847    }
11848
11849    /// Returns a pointer to the `explicit_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11850    #[inline]
11851    pub unsafe fn xcb_xkb_get_map_map_explicit_rtrn(
11852        &self,
11853        s: *const xcb_xkb_get_map_map_t,
11854    ) -> *mut xcb_xkb_set_explicit_t {
11855        sym!(self, xcb_xkb_get_map_map_explicit_rtrn)(s)
11856    }
11857
11858    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_explicit_rtrn` could be loaded.
11859    #[cfg(feature = "has_symbol")]
11860    pub fn has_xcb_xkb_get_map_map_explicit_rtrn(&self) -> bool {
11861        has_sym!(self, xcb_xkb_get_map_map_explicit_rtrn)
11862    }
11863
11864    /// Returns the number of elements of the `explicit_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11865    #[inline]
11866    pub unsafe fn xcb_xkb_get_map_map_explicit_rtrn_length(
11867        &self,
11868        r: *const xcb_xkb_get_map_reply_t,
11869        s: *const xcb_xkb_get_map_map_t,
11870    ) -> c_int {
11871        sym!(self, xcb_xkb_get_map_map_explicit_rtrn_length)(r, s)
11872    }
11873
11874    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_explicit_rtrn_length` could be loaded.
11875    #[cfg(feature = "has_symbol")]
11876    pub fn has_xcb_xkb_get_map_map_explicit_rtrn_length(&self) -> bool {
11877        has_sym!(self, xcb_xkb_get_map_map_explicit_rtrn_length)
11878    }
11879
11880    /// Returns an iterator over the elements of the
11881    /// `explicit_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11882    #[inline]
11883    pub unsafe fn xcb_xkb_get_map_map_explicit_rtrn_iterator(
11884        &self,
11885        r: *const xcb_xkb_get_map_reply_t,
11886        s: *const xcb_xkb_get_map_map_t,
11887    ) -> xcb_xkb_set_explicit_iterator_t {
11888        sym!(self, xcb_xkb_get_map_map_explicit_rtrn_iterator)(r, s)
11889    }
11890
11891    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_explicit_rtrn_iterator` could be loaded.
11892    #[cfg(feature = "has_symbol")]
11893    pub fn has_xcb_xkb_get_map_map_explicit_rtrn_iterator(&self) -> bool {
11894        has_sym!(self, xcb_xkb_get_map_map_explicit_rtrn_iterator)
11895    }
11896
11897    /// Returns a pointer to the `modmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11898    #[inline]
11899    pub unsafe fn xcb_xkb_get_map_map_modmap_rtrn(
11900        &self,
11901        s: *const xcb_xkb_get_map_map_t,
11902    ) -> *mut xcb_xkb_key_mod_map_t {
11903        sym!(self, xcb_xkb_get_map_map_modmap_rtrn)(s)
11904    }
11905
11906    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_modmap_rtrn` could be loaded.
11907    #[cfg(feature = "has_symbol")]
11908    pub fn has_xcb_xkb_get_map_map_modmap_rtrn(&self) -> bool {
11909        has_sym!(self, xcb_xkb_get_map_map_modmap_rtrn)
11910    }
11911
11912    /// Returns the number of elements of the `modmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11913    #[inline]
11914    pub unsafe fn xcb_xkb_get_map_map_modmap_rtrn_length(
11915        &self,
11916        r: *const xcb_xkb_get_map_reply_t,
11917        s: *const xcb_xkb_get_map_map_t,
11918    ) -> c_int {
11919        sym!(self, xcb_xkb_get_map_map_modmap_rtrn_length)(r, s)
11920    }
11921
11922    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_modmap_rtrn_length` could be loaded.
11923    #[cfg(feature = "has_symbol")]
11924    pub fn has_xcb_xkb_get_map_map_modmap_rtrn_length(&self) -> bool {
11925        has_sym!(self, xcb_xkb_get_map_map_modmap_rtrn_length)
11926    }
11927
11928    /// Returns an iterator over the elements of the
11929    /// `modmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11930    #[inline]
11931    pub unsafe fn xcb_xkb_get_map_map_modmap_rtrn_iterator(
11932        &self,
11933        r: *const xcb_xkb_get_map_reply_t,
11934        s: *const xcb_xkb_get_map_map_t,
11935    ) -> xcb_xkb_key_mod_map_iterator_t {
11936        sym!(self, xcb_xkb_get_map_map_modmap_rtrn_iterator)(r, s)
11937    }
11938
11939    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_modmap_rtrn_iterator` could be loaded.
11940    #[cfg(feature = "has_symbol")]
11941    pub fn has_xcb_xkb_get_map_map_modmap_rtrn_iterator(&self) -> bool {
11942        has_sym!(self, xcb_xkb_get_map_map_modmap_rtrn_iterator)
11943    }
11944
11945    /// Returns a pointer to the `vmodmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11946    #[inline]
11947    pub unsafe fn xcb_xkb_get_map_map_vmodmap_rtrn(
11948        &self,
11949        s: *const xcb_xkb_get_map_map_t,
11950    ) -> *mut xcb_xkb_key_v_mod_map_t {
11951        sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn)(s)
11952    }
11953
11954    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmodmap_rtrn` could be loaded.
11955    #[cfg(feature = "has_symbol")]
11956    pub fn has_xcb_xkb_get_map_map_vmodmap_rtrn(&self) -> bool {
11957        has_sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn)
11958    }
11959
11960    /// Returns the number of elements of the `vmodmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11961    #[inline]
11962    pub unsafe fn xcb_xkb_get_map_map_vmodmap_rtrn_length(
11963        &self,
11964        r: *const xcb_xkb_get_map_reply_t,
11965        s: *const xcb_xkb_get_map_map_t,
11966    ) -> c_int {
11967        sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn_length)(r, s)
11968    }
11969
11970    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmodmap_rtrn_length` could be loaded.
11971    #[cfg(feature = "has_symbol")]
11972    pub fn has_xcb_xkb_get_map_map_vmodmap_rtrn_length(&self) -> bool {
11973        has_sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn_length)
11974    }
11975
11976    /// Returns an iterator over the elements of the
11977    /// `vmodmap_rtrn` field of a `xcb_xkb_get_map_map_t` struct.
11978    #[inline]
11979    pub unsafe fn xcb_xkb_get_map_map_vmodmap_rtrn_iterator(
11980        &self,
11981        r: *const xcb_xkb_get_map_reply_t,
11982        s: *const xcb_xkb_get_map_map_t,
11983    ) -> xcb_xkb_key_v_mod_map_iterator_t {
11984        sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn_iterator)(r, s)
11985    }
11986
11987    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_vmodmap_rtrn_iterator` could be loaded.
11988    #[cfg(feature = "has_symbol")]
11989    pub fn has_xcb_xkb_get_map_map_vmodmap_rtrn_iterator(&self) -> bool {
11990        has_sym!(self, xcb_xkb_get_map_map_vmodmap_rtrn_iterator)
11991    }
11992
11993    /// Serializes a `xcb_xkb_get_map_map_t` object.
11994    #[inline]
11995    pub unsafe fn xcb_xkb_get_map_map_serialize(
11996        &self,
11997        _buffer: *mut *mut c_void,
11998        nTypes: u8,
11999        nKeySyms: u8,
12000        nKeyActions: u8,
12001        totalActions: u16,
12002        totalKeyBehaviors: u8,
12003        virtualMods: u16,
12004        totalKeyExplicit: u8,
12005        totalModMapKeys: u8,
12006        totalVModMapKeys: u8,
12007        present: u16,
12008        _aux: *const xcb_xkb_get_map_map_t,
12009    ) -> c_int {
12010        sym!(self, xcb_xkb_get_map_map_serialize)(
12011            _buffer,
12012            nTypes,
12013            nKeySyms,
12014            nKeyActions,
12015            totalActions,
12016            totalKeyBehaviors,
12017            virtualMods,
12018            totalKeyExplicit,
12019            totalModMapKeys,
12020            totalVModMapKeys,
12021            present,
12022            _aux,
12023        )
12024    }
12025
12026    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_serialize` could be loaded.
12027    #[cfg(feature = "has_symbol")]
12028    pub fn has_xcb_xkb_get_map_map_serialize(&self) -> bool {
12029        has_sym!(self, xcb_xkb_get_map_map_serialize)
12030    }
12031
12032    /// Unpacks a `xcb_xkb_get_map_map_t` object.
12033    #[inline]
12034    pub unsafe fn xcb_xkb_get_map_map_unpack(
12035        &self,
12036        _buffer: *const c_void,
12037        nTypes: u8,
12038        nKeySyms: u8,
12039        nKeyActions: u8,
12040        totalActions: u16,
12041        totalKeyBehaviors: u8,
12042        virtualMods: u16,
12043        totalKeyExplicit: u8,
12044        totalModMapKeys: u8,
12045        totalVModMapKeys: u8,
12046        present: u16,
12047        _aux: *mut xcb_xkb_get_map_map_t,
12048    ) -> c_int {
12049        sym!(self, xcb_xkb_get_map_map_unpack)(
12050            _buffer,
12051            nTypes,
12052            nKeySyms,
12053            nKeyActions,
12054            totalActions,
12055            totalKeyBehaviors,
12056            virtualMods,
12057            totalKeyExplicit,
12058            totalModMapKeys,
12059            totalVModMapKeys,
12060            present,
12061            _aux,
12062        )
12063    }
12064
12065    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_unpack` could be loaded.
12066    #[cfg(feature = "has_symbol")]
12067    pub fn has_xcb_xkb_get_map_map_unpack(&self) -> bool {
12068        has_sym!(self, xcb_xkb_get_map_map_unpack)
12069    }
12070
12071    /// Computes the size of a `xcb_xkb_get_map_map_t` object.
12072    #[inline]
12073    pub unsafe fn xcb_xkb_get_map_map_sizeof(
12074        &self,
12075        _buffer: *const c_void,
12076        nTypes: u8,
12077        nKeySyms: u8,
12078        nKeyActions: u8,
12079        totalActions: u16,
12080        totalKeyBehaviors: u8,
12081        virtualMods: u16,
12082        totalKeyExplicit: u8,
12083        totalModMapKeys: u8,
12084        totalVModMapKeys: u8,
12085        present: u16,
12086    ) -> c_int {
12087        sym!(self, xcb_xkb_get_map_map_sizeof)(
12088            _buffer,
12089            nTypes,
12090            nKeySyms,
12091            nKeyActions,
12092            totalActions,
12093            totalKeyBehaviors,
12094            virtualMods,
12095            totalKeyExplicit,
12096            totalModMapKeys,
12097            totalVModMapKeys,
12098            present,
12099        )
12100    }
12101
12102    /// Returns `true` iff the symbol `xcb_xkb_get_map_map_sizeof` could be loaded.
12103    #[cfg(feature = "has_symbol")]
12104    pub fn has_xcb_xkb_get_map_map_sizeof(&self) -> bool {
12105        has_sym!(self, xcb_xkb_get_map_map_sizeof)
12106    }
12107
12108    /// Computes the size of a `xcb_xkb_get_map_reply_t` object.
12109    #[inline]
12110    pub unsafe fn xcb_xkb_get_map_sizeof(&self, _buffer: *const c_void) -> c_int {
12111        sym!(self, xcb_xkb_get_map_sizeof)(_buffer)
12112    }
12113
12114    /// Returns `true` iff the symbol `xcb_xkb_get_map_sizeof` could be loaded.
12115    #[cfg(feature = "has_symbol")]
12116    pub fn has_xcb_xkb_get_map_sizeof(&self) -> bool {
12117        has_sym!(self, xcb_xkb_get_map_sizeof)
12118    }
12119
12120    /// Sends a `xkb::GetMap` request (checked).
12121    ///
12122    /// This request generates a reply. You must either discard it with
12123    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_map_reply`].
12124    ///
12125    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
12126    /// [`xcb_xkb_get_map_reply`]: Self::xcb_xkb_get_map_reply
12127    #[inline]
12128    pub unsafe fn xcb_xkb_get_map(
12129        &self,
12130        c: *mut xcb_connection_t,
12131        device_spec: xcb_xkb_device_spec_t,
12132        full: u16,
12133        partial: u16,
12134        first_type: u8,
12135        n_types: u8,
12136        first_key_sym: xcb_keycode_t,
12137        n_key_syms: u8,
12138        first_key_action: xcb_keycode_t,
12139        n_key_actions: u8,
12140        first_key_behavior: xcb_keycode_t,
12141        n_key_behaviors: u8,
12142        virtual_mods: u16,
12143        first_key_explicit: xcb_keycode_t,
12144        n_key_explicit: u8,
12145        first_mod_map_key: xcb_keycode_t,
12146        n_mod_map_keys: u8,
12147        first_vmod_map_key: xcb_keycode_t,
12148        n_vmod_map_keys: u8,
12149    ) -> xcb_xkb_get_map_cookie_t {
12150        sym!(self, xcb_xkb_get_map)(
12151            c,
12152            device_spec,
12153            full,
12154            partial,
12155            first_type,
12156            n_types,
12157            first_key_sym,
12158            n_key_syms,
12159            first_key_action,
12160            n_key_actions,
12161            first_key_behavior,
12162            n_key_behaviors,
12163            virtual_mods,
12164            first_key_explicit,
12165            n_key_explicit,
12166            first_mod_map_key,
12167            n_mod_map_keys,
12168            first_vmod_map_key,
12169            n_vmod_map_keys,
12170        )
12171    }
12172
12173    /// Returns `true` iff the symbol `xcb_xkb_get_map` could be loaded.
12174    #[cfg(feature = "has_symbol")]
12175    pub fn has_xcb_xkb_get_map(&self) -> bool {
12176        has_sym!(self, xcb_xkb_get_map)
12177    }
12178
12179    /// Sends a `xkb::GetMap` request (unchecked).
12180    ///
12181    /// This request generates a reply. You must either discard it with
12182    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_map_reply`].
12183    ///
12184    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
12185    /// [`xcb_xkb_get_map_reply`]: Self::xcb_xkb_get_map_reply
12186    #[inline]
12187    pub unsafe fn xcb_xkb_get_map_unchecked(
12188        &self,
12189        c: *mut xcb_connection_t,
12190        device_spec: xcb_xkb_device_spec_t,
12191        full: u16,
12192        partial: u16,
12193        first_type: u8,
12194        n_types: u8,
12195        first_key_sym: xcb_keycode_t,
12196        n_key_syms: u8,
12197        first_key_action: xcb_keycode_t,
12198        n_key_actions: u8,
12199        first_key_behavior: xcb_keycode_t,
12200        n_key_behaviors: u8,
12201        virtual_mods: u16,
12202        first_key_explicit: xcb_keycode_t,
12203        n_key_explicit: u8,
12204        first_mod_map_key: xcb_keycode_t,
12205        n_mod_map_keys: u8,
12206        first_vmod_map_key: xcb_keycode_t,
12207        n_vmod_map_keys: u8,
12208    ) -> xcb_xkb_get_map_cookie_t {
12209        sym!(self, xcb_xkb_get_map_unchecked)(
12210            c,
12211            device_spec,
12212            full,
12213            partial,
12214            first_type,
12215            n_types,
12216            first_key_sym,
12217            n_key_syms,
12218            first_key_action,
12219            n_key_actions,
12220            first_key_behavior,
12221            n_key_behaviors,
12222            virtual_mods,
12223            first_key_explicit,
12224            n_key_explicit,
12225            first_mod_map_key,
12226            n_mod_map_keys,
12227            first_vmod_map_key,
12228            n_vmod_map_keys,
12229        )
12230    }
12231
12232    /// Returns `true` iff the symbol `xcb_xkb_get_map_unchecked` could be loaded.
12233    #[cfg(feature = "has_symbol")]
12234    pub fn has_xcb_xkb_get_map_unchecked(&self) -> bool {
12235        has_sym!(self, xcb_xkb_get_map_unchecked)
12236    }
12237
12238    /// Returns a pointer to the `map` field of a `xcb_xkb_get_map_reply_t` struct.
12239    #[inline]
12240    pub unsafe fn xcb_xkb_get_map_map(&self, r: *const xcb_xkb_get_map_reply_t) -> *mut c_void {
12241        sym!(self, xcb_xkb_get_map_map)(r)
12242    }
12243
12244    /// Returns `true` iff the symbol `xcb_xkb_get_map_map` could be loaded.
12245    #[cfg(feature = "has_symbol")]
12246    pub fn has_xcb_xkb_get_map_map(&self) -> bool {
12247        has_sym!(self, xcb_xkb_get_map_map)
12248    }
12249
12250    /// Waits for the reply to a `xkb::GetMap` request.
12251    #[inline]
12252    pub unsafe fn xcb_xkb_get_map_reply(
12253        &self,
12254        c: *mut xcb_connection_t,
12255        cookie: xcb_xkb_get_map_cookie_t,
12256        e: *mut *mut xcb_generic_error_t,
12257    ) -> *mut xcb_xkb_get_map_reply_t {
12258        sym!(self, xcb_xkb_get_map_reply)(c, cookie, e)
12259    }
12260
12261    /// Returns `true` iff the symbol `xcb_xkb_get_map_reply` could be loaded.
12262    #[cfg(feature = "has_symbol")]
12263    pub fn has_xcb_xkb_get_map_reply(&self) -> bool {
12264        has_sym!(self, xcb_xkb_get_map_reply)
12265    }
12266
12267    /// Returns the number of elements of the `types` field of a `xcb_xkb_set_map_values_t` struct.
12268    #[inline]
12269    pub unsafe fn xcb_xkb_set_map_values_types_length(
12270        &self,
12271        r: *const xcb_xkb_set_map_request_t,
12272        s: *const xcb_xkb_set_map_values_t,
12273    ) -> c_int {
12274        sym!(self, xcb_xkb_set_map_values_types_length)(r, s)
12275    }
12276
12277    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_types_length` could be loaded.
12278    #[cfg(feature = "has_symbol")]
12279    pub fn has_xcb_xkb_set_map_values_types_length(&self) -> bool {
12280        has_sym!(self, xcb_xkb_set_map_values_types_length)
12281    }
12282
12283    /// Returns an iterator over the elements of the
12284    /// `types` field of a `xcb_xkb_set_map_values_t` struct.
12285    #[inline]
12286    pub unsafe fn xcb_xkb_set_map_values_types_iterator(
12287        &self,
12288        r: *const xcb_xkb_set_map_request_t,
12289        s: *const xcb_xkb_set_map_values_t,
12290    ) -> xcb_xkb_set_key_type_iterator_t {
12291        sym!(self, xcb_xkb_set_map_values_types_iterator)(r, s)
12292    }
12293
12294    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_types_iterator` could be loaded.
12295    #[cfg(feature = "has_symbol")]
12296    pub fn has_xcb_xkb_set_map_values_types_iterator(&self) -> bool {
12297        has_sym!(self, xcb_xkb_set_map_values_types_iterator)
12298    }
12299
12300    /// Returns the number of elements of the `syms` field of a `xcb_xkb_set_map_values_t` struct.
12301    #[inline]
12302    pub unsafe fn xcb_xkb_set_map_values_syms_length(
12303        &self,
12304        r: *const xcb_xkb_set_map_request_t,
12305        s: *const xcb_xkb_set_map_values_t,
12306    ) -> c_int {
12307        sym!(self, xcb_xkb_set_map_values_syms_length)(r, s)
12308    }
12309
12310    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_syms_length` could be loaded.
12311    #[cfg(feature = "has_symbol")]
12312    pub fn has_xcb_xkb_set_map_values_syms_length(&self) -> bool {
12313        has_sym!(self, xcb_xkb_set_map_values_syms_length)
12314    }
12315
12316    /// Returns an iterator over the elements of the
12317    /// `syms` field of a `xcb_xkb_set_map_values_t` struct.
12318    #[inline]
12319    pub unsafe fn xcb_xkb_set_map_values_syms_iterator(
12320        &self,
12321        r: *const xcb_xkb_set_map_request_t,
12322        s: *const xcb_xkb_set_map_values_t,
12323    ) -> xcb_xkb_key_sym_map_iterator_t {
12324        sym!(self, xcb_xkb_set_map_values_syms_iterator)(r, s)
12325    }
12326
12327    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_syms_iterator` could be loaded.
12328    #[cfg(feature = "has_symbol")]
12329    pub fn has_xcb_xkb_set_map_values_syms_iterator(&self) -> bool {
12330        has_sym!(self, xcb_xkb_set_map_values_syms_iterator)
12331    }
12332
12333    /// Returns a pointer to the `actionsCount` field of a `xcb_xkb_set_map_values_t` struct.
12334    #[inline]
12335    pub unsafe fn xcb_xkb_set_map_values_actions_count(
12336        &self,
12337        s: *const xcb_xkb_set_map_values_t,
12338    ) -> *mut u8 {
12339        sym!(self, xcb_xkb_set_map_values_actions_count)(s)
12340    }
12341
12342    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions_count` could be loaded.
12343    #[cfg(feature = "has_symbol")]
12344    pub fn has_xcb_xkb_set_map_values_actions_count(&self) -> bool {
12345        has_sym!(self, xcb_xkb_set_map_values_actions_count)
12346    }
12347
12348    /// Returns the number of elements of the `actionsCount` field of a `xcb_xkb_set_map_values_t` struct.
12349    #[inline]
12350    pub unsafe fn xcb_xkb_set_map_values_actions_count_length(
12351        &self,
12352        r: *const xcb_xkb_set_map_request_t,
12353        s: *const xcb_xkb_set_map_values_t,
12354    ) -> c_int {
12355        sym!(self, xcb_xkb_set_map_values_actions_count_length)(r, s)
12356    }
12357
12358    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions_count_length` could be loaded.
12359    #[cfg(feature = "has_symbol")]
12360    pub fn has_xcb_xkb_set_map_values_actions_count_length(&self) -> bool {
12361        has_sym!(self, xcb_xkb_set_map_values_actions_count_length)
12362    }
12363
12364    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
12365    /// `actionsCount` field of a `xcb_xkb_set_map_values_t` struct.
12366    #[inline]
12367    pub unsafe fn xcb_xkb_set_map_values_actions_count_end(
12368        &self,
12369        r: *const xcb_xkb_set_map_request_t,
12370        s: *const xcb_xkb_set_map_values_t,
12371    ) -> xcb_generic_iterator_t {
12372        sym!(self, xcb_xkb_set_map_values_actions_count_end)(r, s)
12373    }
12374
12375    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions_count_end` could be loaded.
12376    #[cfg(feature = "has_symbol")]
12377    pub fn has_xcb_xkb_set_map_values_actions_count_end(&self) -> bool {
12378        has_sym!(self, xcb_xkb_set_map_values_actions_count_end)
12379    }
12380
12381    /// Returns a pointer to the `actions` field of a `xcb_xkb_set_map_values_t` struct.
12382    #[inline]
12383    pub unsafe fn xcb_xkb_set_map_values_actions(
12384        &self,
12385        s: *const xcb_xkb_set_map_values_t,
12386    ) -> *mut xcb_xkb_action_t {
12387        sym!(self, xcb_xkb_set_map_values_actions)(s)
12388    }
12389
12390    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions` could be loaded.
12391    #[cfg(feature = "has_symbol")]
12392    pub fn has_xcb_xkb_set_map_values_actions(&self) -> bool {
12393        has_sym!(self, xcb_xkb_set_map_values_actions)
12394    }
12395
12396    /// Returns the number of elements of the `actions` field of a `xcb_xkb_set_map_values_t` struct.
12397    #[inline]
12398    pub unsafe fn xcb_xkb_set_map_values_actions_length(
12399        &self,
12400        r: *const xcb_xkb_set_map_request_t,
12401        s: *const xcb_xkb_set_map_values_t,
12402    ) -> c_int {
12403        sym!(self, xcb_xkb_set_map_values_actions_length)(r, s)
12404    }
12405
12406    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions_length` could be loaded.
12407    #[cfg(feature = "has_symbol")]
12408    pub fn has_xcb_xkb_set_map_values_actions_length(&self) -> bool {
12409        has_sym!(self, xcb_xkb_set_map_values_actions_length)
12410    }
12411
12412    /// Returns an iterator over the elements of the
12413    /// `actions` field of a `xcb_xkb_set_map_values_t` struct.
12414    #[inline]
12415    pub unsafe fn xcb_xkb_set_map_values_actions_iterator(
12416        &self,
12417        r: *const xcb_xkb_set_map_request_t,
12418        s: *const xcb_xkb_set_map_values_t,
12419    ) -> xcb_xkb_action_iterator_t {
12420        sym!(self, xcb_xkb_set_map_values_actions_iterator)(r, s)
12421    }
12422
12423    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_actions_iterator` could be loaded.
12424    #[cfg(feature = "has_symbol")]
12425    pub fn has_xcb_xkb_set_map_values_actions_iterator(&self) -> bool {
12426        has_sym!(self, xcb_xkb_set_map_values_actions_iterator)
12427    }
12428
12429    /// Returns a pointer to the `behaviors` field of a `xcb_xkb_set_map_values_t` struct.
12430    #[inline]
12431    pub unsafe fn xcb_xkb_set_map_values_behaviors(
12432        &self,
12433        s: *const xcb_xkb_set_map_values_t,
12434    ) -> *mut xcb_xkb_set_behavior_t {
12435        sym!(self, xcb_xkb_set_map_values_behaviors)(s)
12436    }
12437
12438    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_behaviors` could be loaded.
12439    #[cfg(feature = "has_symbol")]
12440    pub fn has_xcb_xkb_set_map_values_behaviors(&self) -> bool {
12441        has_sym!(self, xcb_xkb_set_map_values_behaviors)
12442    }
12443
12444    /// Returns the number of elements of the `behaviors` field of a `xcb_xkb_set_map_values_t` struct.
12445    #[inline]
12446    pub unsafe fn xcb_xkb_set_map_values_behaviors_length(
12447        &self,
12448        r: *const xcb_xkb_set_map_request_t,
12449        s: *const xcb_xkb_set_map_values_t,
12450    ) -> c_int {
12451        sym!(self, xcb_xkb_set_map_values_behaviors_length)(r, s)
12452    }
12453
12454    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_behaviors_length` could be loaded.
12455    #[cfg(feature = "has_symbol")]
12456    pub fn has_xcb_xkb_set_map_values_behaviors_length(&self) -> bool {
12457        has_sym!(self, xcb_xkb_set_map_values_behaviors_length)
12458    }
12459
12460    /// Returns an iterator over the elements of the
12461    /// `behaviors` field of a `xcb_xkb_set_map_values_t` struct.
12462    #[inline]
12463    pub unsafe fn xcb_xkb_set_map_values_behaviors_iterator(
12464        &self,
12465        r: *const xcb_xkb_set_map_request_t,
12466        s: *const xcb_xkb_set_map_values_t,
12467    ) -> xcb_xkb_set_behavior_iterator_t {
12468        sym!(self, xcb_xkb_set_map_values_behaviors_iterator)(r, s)
12469    }
12470
12471    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_behaviors_iterator` could be loaded.
12472    #[cfg(feature = "has_symbol")]
12473    pub fn has_xcb_xkb_set_map_values_behaviors_iterator(&self) -> bool {
12474        has_sym!(self, xcb_xkb_set_map_values_behaviors_iterator)
12475    }
12476
12477    /// Returns a pointer to the `vmods` field of a `xcb_xkb_set_map_values_t` struct.
12478    #[inline]
12479    pub unsafe fn xcb_xkb_set_map_values_vmods(
12480        &self,
12481        s: *const xcb_xkb_set_map_values_t,
12482    ) -> *mut u8 {
12483        sym!(self, xcb_xkb_set_map_values_vmods)(s)
12484    }
12485
12486    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmods` could be loaded.
12487    #[cfg(feature = "has_symbol")]
12488    pub fn has_xcb_xkb_set_map_values_vmods(&self) -> bool {
12489        has_sym!(self, xcb_xkb_set_map_values_vmods)
12490    }
12491
12492    /// Returns the number of elements of the `vmods` field of a `xcb_xkb_set_map_values_t` struct.
12493    #[inline]
12494    pub unsafe fn xcb_xkb_set_map_values_vmods_length(
12495        &self,
12496        r: *const xcb_xkb_set_map_request_t,
12497        s: *const xcb_xkb_set_map_values_t,
12498    ) -> c_int {
12499        sym!(self, xcb_xkb_set_map_values_vmods_length)(r, s)
12500    }
12501
12502    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmods_length` could be loaded.
12503    #[cfg(feature = "has_symbol")]
12504    pub fn has_xcb_xkb_set_map_values_vmods_length(&self) -> bool {
12505        has_sym!(self, xcb_xkb_set_map_values_vmods_length)
12506    }
12507
12508    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
12509    /// `vmods` field of a `xcb_xkb_set_map_values_t` struct.
12510    #[inline]
12511    pub unsafe fn xcb_xkb_set_map_values_vmods_end(
12512        &self,
12513        r: *const xcb_xkb_set_map_request_t,
12514        s: *const xcb_xkb_set_map_values_t,
12515    ) -> xcb_generic_iterator_t {
12516        sym!(self, xcb_xkb_set_map_values_vmods_end)(r, s)
12517    }
12518
12519    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmods_end` could be loaded.
12520    #[cfg(feature = "has_symbol")]
12521    pub fn has_xcb_xkb_set_map_values_vmods_end(&self) -> bool {
12522        has_sym!(self, xcb_xkb_set_map_values_vmods_end)
12523    }
12524
12525    /// Returns a pointer to the `explicit` field of a `xcb_xkb_set_map_values_t` struct.
12526    #[inline]
12527    pub unsafe fn xcb_xkb_set_map_values_explicit(
12528        &self,
12529        s: *const xcb_xkb_set_map_values_t,
12530    ) -> *mut xcb_xkb_set_explicit_t {
12531        sym!(self, xcb_xkb_set_map_values_explicit)(s)
12532    }
12533
12534    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_explicit` could be loaded.
12535    #[cfg(feature = "has_symbol")]
12536    pub fn has_xcb_xkb_set_map_values_explicit(&self) -> bool {
12537        has_sym!(self, xcb_xkb_set_map_values_explicit)
12538    }
12539
12540    /// Returns the number of elements of the `explicit` field of a `xcb_xkb_set_map_values_t` struct.
12541    #[inline]
12542    pub unsafe fn xcb_xkb_set_map_values_explicit_length(
12543        &self,
12544        r: *const xcb_xkb_set_map_request_t,
12545        s: *const xcb_xkb_set_map_values_t,
12546    ) -> c_int {
12547        sym!(self, xcb_xkb_set_map_values_explicit_length)(r, s)
12548    }
12549
12550    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_explicit_length` could be loaded.
12551    #[cfg(feature = "has_symbol")]
12552    pub fn has_xcb_xkb_set_map_values_explicit_length(&self) -> bool {
12553        has_sym!(self, xcb_xkb_set_map_values_explicit_length)
12554    }
12555
12556    /// Returns an iterator over the elements of the
12557    /// `explicit` field of a `xcb_xkb_set_map_values_t` struct.
12558    #[inline]
12559    pub unsafe fn xcb_xkb_set_map_values_explicit_iterator(
12560        &self,
12561        r: *const xcb_xkb_set_map_request_t,
12562        s: *const xcb_xkb_set_map_values_t,
12563    ) -> xcb_xkb_set_explicit_iterator_t {
12564        sym!(self, xcb_xkb_set_map_values_explicit_iterator)(r, s)
12565    }
12566
12567    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_explicit_iterator` could be loaded.
12568    #[cfg(feature = "has_symbol")]
12569    pub fn has_xcb_xkb_set_map_values_explicit_iterator(&self) -> bool {
12570        has_sym!(self, xcb_xkb_set_map_values_explicit_iterator)
12571    }
12572
12573    /// Returns a pointer to the `modmap` field of a `xcb_xkb_set_map_values_t` struct.
12574    #[inline]
12575    pub unsafe fn xcb_xkb_set_map_values_modmap(
12576        &self,
12577        s: *const xcb_xkb_set_map_values_t,
12578    ) -> *mut xcb_xkb_key_mod_map_t {
12579        sym!(self, xcb_xkb_set_map_values_modmap)(s)
12580    }
12581
12582    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_modmap` could be loaded.
12583    #[cfg(feature = "has_symbol")]
12584    pub fn has_xcb_xkb_set_map_values_modmap(&self) -> bool {
12585        has_sym!(self, xcb_xkb_set_map_values_modmap)
12586    }
12587
12588    /// Returns the number of elements of the `modmap` field of a `xcb_xkb_set_map_values_t` struct.
12589    #[inline]
12590    pub unsafe fn xcb_xkb_set_map_values_modmap_length(
12591        &self,
12592        r: *const xcb_xkb_set_map_request_t,
12593        s: *const xcb_xkb_set_map_values_t,
12594    ) -> c_int {
12595        sym!(self, xcb_xkb_set_map_values_modmap_length)(r, s)
12596    }
12597
12598    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_modmap_length` could be loaded.
12599    #[cfg(feature = "has_symbol")]
12600    pub fn has_xcb_xkb_set_map_values_modmap_length(&self) -> bool {
12601        has_sym!(self, xcb_xkb_set_map_values_modmap_length)
12602    }
12603
12604    /// Returns an iterator over the elements of the
12605    /// `modmap` field of a `xcb_xkb_set_map_values_t` struct.
12606    #[inline]
12607    pub unsafe fn xcb_xkb_set_map_values_modmap_iterator(
12608        &self,
12609        r: *const xcb_xkb_set_map_request_t,
12610        s: *const xcb_xkb_set_map_values_t,
12611    ) -> xcb_xkb_key_mod_map_iterator_t {
12612        sym!(self, xcb_xkb_set_map_values_modmap_iterator)(r, s)
12613    }
12614
12615    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_modmap_iterator` could be loaded.
12616    #[cfg(feature = "has_symbol")]
12617    pub fn has_xcb_xkb_set_map_values_modmap_iterator(&self) -> bool {
12618        has_sym!(self, xcb_xkb_set_map_values_modmap_iterator)
12619    }
12620
12621    /// Returns a pointer to the `vmodmap` field of a `xcb_xkb_set_map_values_t` struct.
12622    #[inline]
12623    pub unsafe fn xcb_xkb_set_map_values_vmodmap(
12624        &self,
12625        s: *const xcb_xkb_set_map_values_t,
12626    ) -> *mut xcb_xkb_key_v_mod_map_t {
12627        sym!(self, xcb_xkb_set_map_values_vmodmap)(s)
12628    }
12629
12630    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmodmap` could be loaded.
12631    #[cfg(feature = "has_symbol")]
12632    pub fn has_xcb_xkb_set_map_values_vmodmap(&self) -> bool {
12633        has_sym!(self, xcb_xkb_set_map_values_vmodmap)
12634    }
12635
12636    /// Returns the number of elements of the `vmodmap` field of a `xcb_xkb_set_map_values_t` struct.
12637    #[inline]
12638    pub unsafe fn xcb_xkb_set_map_values_vmodmap_length(
12639        &self,
12640        r: *const xcb_xkb_set_map_request_t,
12641        s: *const xcb_xkb_set_map_values_t,
12642    ) -> c_int {
12643        sym!(self, xcb_xkb_set_map_values_vmodmap_length)(r, s)
12644    }
12645
12646    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmodmap_length` could be loaded.
12647    #[cfg(feature = "has_symbol")]
12648    pub fn has_xcb_xkb_set_map_values_vmodmap_length(&self) -> bool {
12649        has_sym!(self, xcb_xkb_set_map_values_vmodmap_length)
12650    }
12651
12652    /// Returns an iterator over the elements of the
12653    /// `vmodmap` field of a `xcb_xkb_set_map_values_t` struct.
12654    #[inline]
12655    pub unsafe fn xcb_xkb_set_map_values_vmodmap_iterator(
12656        &self,
12657        r: *const xcb_xkb_set_map_request_t,
12658        s: *const xcb_xkb_set_map_values_t,
12659    ) -> xcb_xkb_key_v_mod_map_iterator_t {
12660        sym!(self, xcb_xkb_set_map_values_vmodmap_iterator)(r, s)
12661    }
12662
12663    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_vmodmap_iterator` could be loaded.
12664    #[cfg(feature = "has_symbol")]
12665    pub fn has_xcb_xkb_set_map_values_vmodmap_iterator(&self) -> bool {
12666        has_sym!(self, xcb_xkb_set_map_values_vmodmap_iterator)
12667    }
12668
12669    /// Serializes a `xcb_xkb_set_map_values_t` object.
12670    #[inline]
12671    pub unsafe fn xcb_xkb_set_map_values_serialize(
12672        &self,
12673        _buffer: *mut *mut c_void,
12674        nTypes: u8,
12675        nKeySyms: u8,
12676        nKeyActions: u8,
12677        totalActions: u16,
12678        totalKeyBehaviors: u8,
12679        virtualMods: u16,
12680        totalKeyExplicit: u8,
12681        totalModMapKeys: u8,
12682        totalVModMapKeys: u8,
12683        present: u16,
12684        _aux: *const xcb_xkb_set_map_values_t,
12685    ) -> c_int {
12686        sym!(self, xcb_xkb_set_map_values_serialize)(
12687            _buffer,
12688            nTypes,
12689            nKeySyms,
12690            nKeyActions,
12691            totalActions,
12692            totalKeyBehaviors,
12693            virtualMods,
12694            totalKeyExplicit,
12695            totalModMapKeys,
12696            totalVModMapKeys,
12697            present,
12698            _aux,
12699        )
12700    }
12701
12702    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_serialize` could be loaded.
12703    #[cfg(feature = "has_symbol")]
12704    pub fn has_xcb_xkb_set_map_values_serialize(&self) -> bool {
12705        has_sym!(self, xcb_xkb_set_map_values_serialize)
12706    }
12707
12708    /// Unpacks a `xcb_xkb_set_map_values_t` object.
12709    #[inline]
12710    pub unsafe fn xcb_xkb_set_map_values_unpack(
12711        &self,
12712        _buffer: *const c_void,
12713        nTypes: u8,
12714        nKeySyms: u8,
12715        nKeyActions: u8,
12716        totalActions: u16,
12717        totalKeyBehaviors: u8,
12718        virtualMods: u16,
12719        totalKeyExplicit: u8,
12720        totalModMapKeys: u8,
12721        totalVModMapKeys: u8,
12722        present: u16,
12723        _aux: *mut xcb_xkb_set_map_values_t,
12724    ) -> c_int {
12725        sym!(self, xcb_xkb_set_map_values_unpack)(
12726            _buffer,
12727            nTypes,
12728            nKeySyms,
12729            nKeyActions,
12730            totalActions,
12731            totalKeyBehaviors,
12732            virtualMods,
12733            totalKeyExplicit,
12734            totalModMapKeys,
12735            totalVModMapKeys,
12736            present,
12737            _aux,
12738        )
12739    }
12740
12741    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_unpack` could be loaded.
12742    #[cfg(feature = "has_symbol")]
12743    pub fn has_xcb_xkb_set_map_values_unpack(&self) -> bool {
12744        has_sym!(self, xcb_xkb_set_map_values_unpack)
12745    }
12746
12747    /// Computes the size of a `xcb_xkb_set_map_values_t` object.
12748    #[inline]
12749    pub unsafe fn xcb_xkb_set_map_values_sizeof(
12750        &self,
12751        _buffer: *const c_void,
12752        nTypes: u8,
12753        nKeySyms: u8,
12754        nKeyActions: u8,
12755        totalActions: u16,
12756        totalKeyBehaviors: u8,
12757        virtualMods: u16,
12758        totalKeyExplicit: u8,
12759        totalModMapKeys: u8,
12760        totalVModMapKeys: u8,
12761        present: u16,
12762    ) -> c_int {
12763        sym!(self, xcb_xkb_set_map_values_sizeof)(
12764            _buffer,
12765            nTypes,
12766            nKeySyms,
12767            nKeyActions,
12768            totalActions,
12769            totalKeyBehaviors,
12770            virtualMods,
12771            totalKeyExplicit,
12772            totalModMapKeys,
12773            totalVModMapKeys,
12774            present,
12775        )
12776    }
12777
12778    /// Returns `true` iff the symbol `xcb_xkb_set_map_values_sizeof` could be loaded.
12779    #[cfg(feature = "has_symbol")]
12780    pub fn has_xcb_xkb_set_map_values_sizeof(&self) -> bool {
12781        has_sym!(self, xcb_xkb_set_map_values_sizeof)
12782    }
12783
12784    /// Computes the size of a `xcb_xkb_set_map_request_t` object.
12785    #[inline]
12786    pub unsafe fn xcb_xkb_set_map_sizeof(&self, _buffer: *const c_void) -> c_int {
12787        sym!(self, xcb_xkb_set_map_sizeof)(_buffer)
12788    }
12789
12790    /// Returns `true` iff the symbol `xcb_xkb_set_map_sizeof` could be loaded.
12791    #[cfg(feature = "has_symbol")]
12792    pub fn has_xcb_xkb_set_map_sizeof(&self) -> bool {
12793        has_sym!(self, xcb_xkb_set_map_sizeof)
12794    }
12795
12796    /// Sends a `xkb::SetMap` request (checked).
12797    ///
12798    /// This request generates a reply. You must either discard it with
12799    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
12800    ///
12801    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
12802    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
12803    ///
12804    /// There is an auxiliary version of this function: [`xcb_xkb_set_map_aux_checked`].
12805    ///
12806    /// [`xcb_xkb_set_map_aux_checked`]: Self::xcb_xkb_set_map_aux_checked
12807    #[inline]
12808    pub unsafe fn xcb_xkb_set_map_checked(
12809        &self,
12810        c: *mut xcb_connection_t,
12811        device_spec: xcb_xkb_device_spec_t,
12812        present: u16,
12813        flags: u16,
12814        min_key_code: xcb_keycode_t,
12815        max_key_code: xcb_keycode_t,
12816        first_type: u8,
12817        n_types: u8,
12818        first_key_sym: xcb_keycode_t,
12819        n_key_syms: u8,
12820        total_syms: u16,
12821        first_key_action: xcb_keycode_t,
12822        n_key_actions: u8,
12823        total_actions: u16,
12824        first_key_behavior: xcb_keycode_t,
12825        n_key_behaviors: u8,
12826        total_key_behaviors: u8,
12827        first_key_explicit: xcb_keycode_t,
12828        n_key_explicit: u8,
12829        total_key_explicit: u8,
12830        first_mod_map_key: xcb_keycode_t,
12831        n_mod_map_keys: u8,
12832        total_mod_map_keys: u8,
12833        first_vmod_map_key: xcb_keycode_t,
12834        n_vmod_map_keys: u8,
12835        total_vmod_map_keys: u8,
12836        virtual_mods: u16,
12837        values: *const c_void,
12838    ) -> xcb_void_cookie_t {
12839        sym!(self, xcb_xkb_set_map_checked)(
12840            c,
12841            device_spec,
12842            present,
12843            flags,
12844            min_key_code,
12845            max_key_code,
12846            first_type,
12847            n_types,
12848            first_key_sym,
12849            n_key_syms,
12850            total_syms,
12851            first_key_action,
12852            n_key_actions,
12853            total_actions,
12854            first_key_behavior,
12855            n_key_behaviors,
12856            total_key_behaviors,
12857            first_key_explicit,
12858            n_key_explicit,
12859            total_key_explicit,
12860            first_mod_map_key,
12861            n_mod_map_keys,
12862            total_mod_map_keys,
12863            first_vmod_map_key,
12864            n_vmod_map_keys,
12865            total_vmod_map_keys,
12866            virtual_mods,
12867            values,
12868        )
12869    }
12870
12871    /// Returns `true` iff the symbol `xcb_xkb_set_map_checked` could be loaded.
12872    #[cfg(feature = "has_symbol")]
12873    pub fn has_xcb_xkb_set_map_checked(&self) -> bool {
12874        has_sym!(self, xcb_xkb_set_map_checked)
12875    }
12876
12877    /// Sends a `xkb::SetMap` request (unchecked).
12878    ///
12879    /// There is an auxiliary version of this function: [`xcb_xkb_set_map_aux`].
12880    ///
12881    /// [`xcb_xkb_set_map_aux`]: Self::xcb_xkb_set_map_aux
12882    #[inline]
12883    pub unsafe fn xcb_xkb_set_map(
12884        &self,
12885        c: *mut xcb_connection_t,
12886        device_spec: xcb_xkb_device_spec_t,
12887        present: u16,
12888        flags: u16,
12889        min_key_code: xcb_keycode_t,
12890        max_key_code: xcb_keycode_t,
12891        first_type: u8,
12892        n_types: u8,
12893        first_key_sym: xcb_keycode_t,
12894        n_key_syms: u8,
12895        total_syms: u16,
12896        first_key_action: xcb_keycode_t,
12897        n_key_actions: u8,
12898        total_actions: u16,
12899        first_key_behavior: xcb_keycode_t,
12900        n_key_behaviors: u8,
12901        total_key_behaviors: u8,
12902        first_key_explicit: xcb_keycode_t,
12903        n_key_explicit: u8,
12904        total_key_explicit: u8,
12905        first_mod_map_key: xcb_keycode_t,
12906        n_mod_map_keys: u8,
12907        total_mod_map_keys: u8,
12908        first_vmod_map_key: xcb_keycode_t,
12909        n_vmod_map_keys: u8,
12910        total_vmod_map_keys: u8,
12911        virtual_mods: u16,
12912        values: *const c_void,
12913    ) -> xcb_void_cookie_t {
12914        sym!(self, xcb_xkb_set_map)(
12915            c,
12916            device_spec,
12917            present,
12918            flags,
12919            min_key_code,
12920            max_key_code,
12921            first_type,
12922            n_types,
12923            first_key_sym,
12924            n_key_syms,
12925            total_syms,
12926            first_key_action,
12927            n_key_actions,
12928            total_actions,
12929            first_key_behavior,
12930            n_key_behaviors,
12931            total_key_behaviors,
12932            first_key_explicit,
12933            n_key_explicit,
12934            total_key_explicit,
12935            first_mod_map_key,
12936            n_mod_map_keys,
12937            total_mod_map_keys,
12938            first_vmod_map_key,
12939            n_vmod_map_keys,
12940            total_vmod_map_keys,
12941            virtual_mods,
12942            values,
12943        )
12944    }
12945
12946    /// Returns `true` iff the symbol `xcb_xkb_set_map` could be loaded.
12947    #[cfg(feature = "has_symbol")]
12948    pub fn has_xcb_xkb_set_map(&self) -> bool {
12949        has_sym!(self, xcb_xkb_set_map)
12950    }
12951
12952    /// Sends a `xkb::SetMap` request (checked) (aux).
12953    ///
12954    /// This request generates a reply. You must either discard it with
12955    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
12956    ///
12957    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
12958    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
12959    #[inline]
12960    pub unsafe fn xcb_xkb_set_map_aux_checked(
12961        &self,
12962        c: *mut xcb_connection_t,
12963        device_spec: xcb_xkb_device_spec_t,
12964        present: u16,
12965        flags: u16,
12966        min_key_code: xcb_keycode_t,
12967        max_key_code: xcb_keycode_t,
12968        first_type: u8,
12969        n_types: u8,
12970        first_key_sym: xcb_keycode_t,
12971        n_key_syms: u8,
12972        total_syms: u16,
12973        first_key_action: xcb_keycode_t,
12974        n_key_actions: u8,
12975        total_actions: u16,
12976        first_key_behavior: xcb_keycode_t,
12977        n_key_behaviors: u8,
12978        total_key_behaviors: u8,
12979        first_key_explicit: xcb_keycode_t,
12980        n_key_explicit: u8,
12981        total_key_explicit: u8,
12982        first_mod_map_key: xcb_keycode_t,
12983        n_mod_map_keys: u8,
12984        total_mod_map_keys: u8,
12985        first_vmod_map_key: xcb_keycode_t,
12986        n_vmod_map_keys: u8,
12987        total_vmod_map_keys: u8,
12988        virtual_mods: u16,
12989        values: *const xcb_xkb_set_map_values_t,
12990    ) -> xcb_void_cookie_t {
12991        sym!(self, xcb_xkb_set_map_aux_checked)(
12992            c,
12993            device_spec,
12994            present,
12995            flags,
12996            min_key_code,
12997            max_key_code,
12998            first_type,
12999            n_types,
13000            first_key_sym,
13001            n_key_syms,
13002            total_syms,
13003            first_key_action,
13004            n_key_actions,
13005            total_actions,
13006            first_key_behavior,
13007            n_key_behaviors,
13008            total_key_behaviors,
13009            first_key_explicit,
13010            n_key_explicit,
13011            total_key_explicit,
13012            first_mod_map_key,
13013            n_mod_map_keys,
13014            total_mod_map_keys,
13015            first_vmod_map_key,
13016            n_vmod_map_keys,
13017            total_vmod_map_keys,
13018            virtual_mods,
13019            values,
13020        )
13021    }
13022
13023    /// Returns `true` iff the symbol `xcb_xkb_set_map_aux_checked` could be loaded.
13024    #[cfg(feature = "has_symbol")]
13025    pub fn has_xcb_xkb_set_map_aux_checked(&self) -> bool {
13026        has_sym!(self, xcb_xkb_set_map_aux_checked)
13027    }
13028
13029    /// Sends a `xkb::SetMap` request (unchecked) (aux).
13030    #[inline]
13031    pub unsafe fn xcb_xkb_set_map_aux(
13032        &self,
13033        c: *mut xcb_connection_t,
13034        device_spec: xcb_xkb_device_spec_t,
13035        present: u16,
13036        flags: u16,
13037        min_key_code: xcb_keycode_t,
13038        max_key_code: xcb_keycode_t,
13039        first_type: u8,
13040        n_types: u8,
13041        first_key_sym: xcb_keycode_t,
13042        n_key_syms: u8,
13043        total_syms: u16,
13044        first_key_action: xcb_keycode_t,
13045        n_key_actions: u8,
13046        total_actions: u16,
13047        first_key_behavior: xcb_keycode_t,
13048        n_key_behaviors: u8,
13049        total_key_behaviors: u8,
13050        first_key_explicit: xcb_keycode_t,
13051        n_key_explicit: u8,
13052        total_key_explicit: u8,
13053        first_mod_map_key: xcb_keycode_t,
13054        n_mod_map_keys: u8,
13055        total_mod_map_keys: u8,
13056        first_vmod_map_key: xcb_keycode_t,
13057        n_vmod_map_keys: u8,
13058        total_vmod_map_keys: u8,
13059        virtual_mods: u16,
13060        values: *const xcb_xkb_set_map_values_t,
13061    ) -> xcb_void_cookie_t {
13062        sym!(self, xcb_xkb_set_map_aux)(
13063            c,
13064            device_spec,
13065            present,
13066            flags,
13067            min_key_code,
13068            max_key_code,
13069            first_type,
13070            n_types,
13071            first_key_sym,
13072            n_key_syms,
13073            total_syms,
13074            first_key_action,
13075            n_key_actions,
13076            total_actions,
13077            first_key_behavior,
13078            n_key_behaviors,
13079            total_key_behaviors,
13080            first_key_explicit,
13081            n_key_explicit,
13082            total_key_explicit,
13083            first_mod_map_key,
13084            n_mod_map_keys,
13085            total_mod_map_keys,
13086            first_vmod_map_key,
13087            n_vmod_map_keys,
13088            total_vmod_map_keys,
13089            virtual_mods,
13090            values,
13091        )
13092    }
13093
13094    /// Returns `true` iff the symbol `xcb_xkb_set_map_aux` could be loaded.
13095    #[cfg(feature = "has_symbol")]
13096    pub fn has_xcb_xkb_set_map_aux(&self) -> bool {
13097        has_sym!(self, xcb_xkb_set_map_aux)
13098    }
13099
13100    /// Returns a pointer to the `values` field of a `xcb_xkb_set_map_request_t` struct.
13101    #[inline]
13102    pub unsafe fn xcb_xkb_set_map_values(
13103        &self,
13104        r: *const xcb_xkb_set_map_request_t,
13105    ) -> *mut c_void {
13106        sym!(self, xcb_xkb_set_map_values)(r)
13107    }
13108
13109    /// Returns `true` iff the symbol `xcb_xkb_set_map_values` could be loaded.
13110    #[cfg(feature = "has_symbol")]
13111    pub fn has_xcb_xkb_set_map_values(&self) -> bool {
13112        has_sym!(self, xcb_xkb_set_map_values)
13113    }
13114
13115    /// Computes the size of a `xcb_xkb_get_compat_map_reply_t` object.
13116    #[inline]
13117    pub unsafe fn xcb_xkb_get_compat_map_sizeof(&self, _buffer: *const c_void) -> c_int {
13118        sym!(self, xcb_xkb_get_compat_map_sizeof)(_buffer)
13119    }
13120
13121    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_sizeof` could be loaded.
13122    #[cfg(feature = "has_symbol")]
13123    pub fn has_xcb_xkb_get_compat_map_sizeof(&self) -> bool {
13124        has_sym!(self, xcb_xkb_get_compat_map_sizeof)
13125    }
13126
13127    /// Sends a `xkb::GetCompatMap` request (checked).
13128    ///
13129    /// This request generates a reply. You must either discard it with
13130    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_compat_map_reply`].
13131    ///
13132    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13133    /// [`xcb_xkb_get_compat_map_reply`]: Self::xcb_xkb_get_compat_map_reply
13134    #[inline]
13135    pub unsafe fn xcb_xkb_get_compat_map(
13136        &self,
13137        c: *mut xcb_connection_t,
13138        device_spec: xcb_xkb_device_spec_t,
13139        groups: u8,
13140        get_all_si: u8,
13141        first_si: u16,
13142        n_si: u16,
13143    ) -> xcb_xkb_get_compat_map_cookie_t {
13144        sym!(self, xcb_xkb_get_compat_map)(c, device_spec, groups, get_all_si, first_si, n_si)
13145    }
13146
13147    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map` could be loaded.
13148    #[cfg(feature = "has_symbol")]
13149    pub fn has_xcb_xkb_get_compat_map(&self) -> bool {
13150        has_sym!(self, xcb_xkb_get_compat_map)
13151    }
13152
13153    /// Sends a `xkb::GetCompatMap` request (unchecked).
13154    ///
13155    /// This request generates a reply. You must either discard it with
13156    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_compat_map_reply`].
13157    ///
13158    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13159    /// [`xcb_xkb_get_compat_map_reply`]: Self::xcb_xkb_get_compat_map_reply
13160    #[inline]
13161    pub unsafe fn xcb_xkb_get_compat_map_unchecked(
13162        &self,
13163        c: *mut xcb_connection_t,
13164        device_spec: xcb_xkb_device_spec_t,
13165        groups: u8,
13166        get_all_si: u8,
13167        first_si: u16,
13168        n_si: u16,
13169    ) -> xcb_xkb_get_compat_map_cookie_t {
13170        sym!(self, xcb_xkb_get_compat_map_unchecked)(
13171            c,
13172            device_spec,
13173            groups,
13174            get_all_si,
13175            first_si,
13176            n_si,
13177        )
13178    }
13179
13180    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_unchecked` could be loaded.
13181    #[cfg(feature = "has_symbol")]
13182    pub fn has_xcb_xkb_get_compat_map_unchecked(&self) -> bool {
13183        has_sym!(self, xcb_xkb_get_compat_map_unchecked)
13184    }
13185
13186    /// Returns a pointer to the `si_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13187    #[inline]
13188    pub unsafe fn xcb_xkb_get_compat_map_si_rtrn(
13189        &self,
13190        r: *const xcb_xkb_get_compat_map_reply_t,
13191    ) -> *mut xcb_xkb_sym_interpret_t {
13192        sym!(self, xcb_xkb_get_compat_map_si_rtrn)(r)
13193    }
13194
13195    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_si_rtrn` could be loaded.
13196    #[cfg(feature = "has_symbol")]
13197    pub fn has_xcb_xkb_get_compat_map_si_rtrn(&self) -> bool {
13198        has_sym!(self, xcb_xkb_get_compat_map_si_rtrn)
13199    }
13200
13201    /// Returns the number of elements of the `si_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13202    #[inline]
13203    pub unsafe fn xcb_xkb_get_compat_map_si_rtrn_length(
13204        &self,
13205        r: *const xcb_xkb_get_compat_map_reply_t,
13206    ) -> c_int {
13207        sym!(self, xcb_xkb_get_compat_map_si_rtrn_length)(r)
13208    }
13209
13210    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_si_rtrn_length` could be loaded.
13211    #[cfg(feature = "has_symbol")]
13212    pub fn has_xcb_xkb_get_compat_map_si_rtrn_length(&self) -> bool {
13213        has_sym!(self, xcb_xkb_get_compat_map_si_rtrn_length)
13214    }
13215
13216    /// Returns an iterator over the elements of the
13217    /// `si_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13218    #[inline]
13219    pub unsafe fn xcb_xkb_get_compat_map_si_rtrn_iterator(
13220        &self,
13221        r: *const xcb_xkb_get_compat_map_reply_t,
13222    ) -> xcb_xkb_sym_interpret_iterator_t {
13223        sym!(self, xcb_xkb_get_compat_map_si_rtrn_iterator)(r)
13224    }
13225
13226    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_si_rtrn_iterator` could be loaded.
13227    #[cfg(feature = "has_symbol")]
13228    pub fn has_xcb_xkb_get_compat_map_si_rtrn_iterator(&self) -> bool {
13229        has_sym!(self, xcb_xkb_get_compat_map_si_rtrn_iterator)
13230    }
13231
13232    /// Returns a pointer to the `group_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13233    #[inline]
13234    pub unsafe fn xcb_xkb_get_compat_map_group_rtrn(
13235        &self,
13236        r: *const xcb_xkb_get_compat_map_reply_t,
13237    ) -> *mut xcb_xkb_mod_def_t {
13238        sym!(self, xcb_xkb_get_compat_map_group_rtrn)(r)
13239    }
13240
13241    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_group_rtrn` could be loaded.
13242    #[cfg(feature = "has_symbol")]
13243    pub fn has_xcb_xkb_get_compat_map_group_rtrn(&self) -> bool {
13244        has_sym!(self, xcb_xkb_get_compat_map_group_rtrn)
13245    }
13246
13247    /// Returns the number of elements of the `group_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13248    #[inline]
13249    pub unsafe fn xcb_xkb_get_compat_map_group_rtrn_length(
13250        &self,
13251        r: *const xcb_xkb_get_compat_map_reply_t,
13252    ) -> c_int {
13253        sym!(self, xcb_xkb_get_compat_map_group_rtrn_length)(r)
13254    }
13255
13256    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_group_rtrn_length` could be loaded.
13257    #[cfg(feature = "has_symbol")]
13258    pub fn has_xcb_xkb_get_compat_map_group_rtrn_length(&self) -> bool {
13259        has_sym!(self, xcb_xkb_get_compat_map_group_rtrn_length)
13260    }
13261
13262    /// Returns an iterator over the elements of the
13263    /// `group_rtrn` field of a `xcb_xkb_get_compat_map_reply_t` struct.
13264    #[inline]
13265    pub unsafe fn xcb_xkb_get_compat_map_group_rtrn_iterator(
13266        &self,
13267        r: *const xcb_xkb_get_compat_map_reply_t,
13268    ) -> xcb_xkb_mod_def_iterator_t {
13269        sym!(self, xcb_xkb_get_compat_map_group_rtrn_iterator)(r)
13270    }
13271
13272    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_group_rtrn_iterator` could be loaded.
13273    #[cfg(feature = "has_symbol")]
13274    pub fn has_xcb_xkb_get_compat_map_group_rtrn_iterator(&self) -> bool {
13275        has_sym!(self, xcb_xkb_get_compat_map_group_rtrn_iterator)
13276    }
13277
13278    /// Waits for the reply to a `xkb::GetCompatMap` request.
13279    #[inline]
13280    pub unsafe fn xcb_xkb_get_compat_map_reply(
13281        &self,
13282        c: *mut xcb_connection_t,
13283        cookie: xcb_xkb_get_compat_map_cookie_t,
13284        e: *mut *mut xcb_generic_error_t,
13285    ) -> *mut xcb_xkb_get_compat_map_reply_t {
13286        sym!(self, xcb_xkb_get_compat_map_reply)(c, cookie, e)
13287    }
13288
13289    /// Returns `true` iff the symbol `xcb_xkb_get_compat_map_reply` could be loaded.
13290    #[cfg(feature = "has_symbol")]
13291    pub fn has_xcb_xkb_get_compat_map_reply(&self) -> bool {
13292        has_sym!(self, xcb_xkb_get_compat_map_reply)
13293    }
13294
13295    /// Computes the size of a `xcb_xkb_set_compat_map_request_t` object.
13296    #[inline]
13297    pub unsafe fn xcb_xkb_set_compat_map_sizeof(&self, _buffer: *const c_void) -> c_int {
13298        sym!(self, xcb_xkb_set_compat_map_sizeof)(_buffer)
13299    }
13300
13301    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_sizeof` could be loaded.
13302    #[cfg(feature = "has_symbol")]
13303    pub fn has_xcb_xkb_set_compat_map_sizeof(&self) -> bool {
13304        has_sym!(self, xcb_xkb_set_compat_map_sizeof)
13305    }
13306
13307    /// Sends a `xkb::SetCompatMap` request (checked).
13308    ///
13309    /// This request generates a reply. You must either discard it with
13310    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
13311    ///
13312    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13313    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
13314    #[inline]
13315    pub unsafe fn xcb_xkb_set_compat_map_checked(
13316        &self,
13317        c: *mut xcb_connection_t,
13318        device_spec: xcb_xkb_device_spec_t,
13319        recompute_actions: u8,
13320        truncate_si: u8,
13321        groups: u8,
13322        first_si: u16,
13323        n_si: u16,
13324        si: *const xcb_xkb_sym_interpret_t,
13325        group_maps: *const xcb_xkb_mod_def_t,
13326    ) -> xcb_void_cookie_t {
13327        sym!(self, xcb_xkb_set_compat_map_checked)(
13328            c,
13329            device_spec,
13330            recompute_actions,
13331            truncate_si,
13332            groups,
13333            first_si,
13334            n_si,
13335            si,
13336            group_maps,
13337        )
13338    }
13339
13340    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_checked` could be loaded.
13341    #[cfg(feature = "has_symbol")]
13342    pub fn has_xcb_xkb_set_compat_map_checked(&self) -> bool {
13343        has_sym!(self, xcb_xkb_set_compat_map_checked)
13344    }
13345
13346    /// Sends a `xkb::SetCompatMap` request (unchecked).
13347    #[inline]
13348    pub unsafe fn xcb_xkb_set_compat_map(
13349        &self,
13350        c: *mut xcb_connection_t,
13351        device_spec: xcb_xkb_device_spec_t,
13352        recompute_actions: u8,
13353        truncate_si: u8,
13354        groups: u8,
13355        first_si: u16,
13356        n_si: u16,
13357        si: *const xcb_xkb_sym_interpret_t,
13358        group_maps: *const xcb_xkb_mod_def_t,
13359    ) -> xcb_void_cookie_t {
13360        sym!(self, xcb_xkb_set_compat_map)(
13361            c,
13362            device_spec,
13363            recompute_actions,
13364            truncate_si,
13365            groups,
13366            first_si,
13367            n_si,
13368            si,
13369            group_maps,
13370        )
13371    }
13372
13373    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map` could be loaded.
13374    #[cfg(feature = "has_symbol")]
13375    pub fn has_xcb_xkb_set_compat_map(&self) -> bool {
13376        has_sym!(self, xcb_xkb_set_compat_map)
13377    }
13378
13379    /// Returns a pointer to the `si` field of a `xcb_xkb_set_compat_map_request_t` struct.
13380    #[inline]
13381    pub unsafe fn xcb_xkb_set_compat_map_si(
13382        &self,
13383        r: *const xcb_xkb_set_compat_map_request_t,
13384    ) -> *mut xcb_xkb_sym_interpret_t {
13385        sym!(self, xcb_xkb_set_compat_map_si)(r)
13386    }
13387
13388    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_si` could be loaded.
13389    #[cfg(feature = "has_symbol")]
13390    pub fn has_xcb_xkb_set_compat_map_si(&self) -> bool {
13391        has_sym!(self, xcb_xkb_set_compat_map_si)
13392    }
13393
13394    /// Returns the number of elements of the `si` field of a `xcb_xkb_set_compat_map_request_t` struct.
13395    #[inline]
13396    pub unsafe fn xcb_xkb_set_compat_map_si_length(
13397        &self,
13398        r: *const xcb_xkb_set_compat_map_request_t,
13399    ) -> c_int {
13400        sym!(self, xcb_xkb_set_compat_map_si_length)(r)
13401    }
13402
13403    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_si_length` could be loaded.
13404    #[cfg(feature = "has_symbol")]
13405    pub fn has_xcb_xkb_set_compat_map_si_length(&self) -> bool {
13406        has_sym!(self, xcb_xkb_set_compat_map_si_length)
13407    }
13408
13409    /// Returns an iterator over the elements of the
13410    /// `si` field of a `xcb_xkb_set_compat_map_request_t` struct.
13411    #[inline]
13412    pub unsafe fn xcb_xkb_set_compat_map_si_iterator(
13413        &self,
13414        r: *const xcb_xkb_set_compat_map_request_t,
13415    ) -> xcb_xkb_sym_interpret_iterator_t {
13416        sym!(self, xcb_xkb_set_compat_map_si_iterator)(r)
13417    }
13418
13419    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_si_iterator` could be loaded.
13420    #[cfg(feature = "has_symbol")]
13421    pub fn has_xcb_xkb_set_compat_map_si_iterator(&self) -> bool {
13422        has_sym!(self, xcb_xkb_set_compat_map_si_iterator)
13423    }
13424
13425    /// Returns a pointer to the `groupMaps` field of a `xcb_xkb_set_compat_map_request_t` struct.
13426    #[inline]
13427    pub unsafe fn xcb_xkb_set_compat_map_group_maps(
13428        &self,
13429        r: *const xcb_xkb_set_compat_map_request_t,
13430    ) -> *mut xcb_xkb_mod_def_t {
13431        sym!(self, xcb_xkb_set_compat_map_group_maps)(r)
13432    }
13433
13434    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_group_maps` could be loaded.
13435    #[cfg(feature = "has_symbol")]
13436    pub fn has_xcb_xkb_set_compat_map_group_maps(&self) -> bool {
13437        has_sym!(self, xcb_xkb_set_compat_map_group_maps)
13438    }
13439
13440    /// Returns the number of elements of the `groupMaps` field of a `xcb_xkb_set_compat_map_request_t` struct.
13441    #[inline]
13442    pub unsafe fn xcb_xkb_set_compat_map_group_maps_length(
13443        &self,
13444        r: *const xcb_xkb_set_compat_map_request_t,
13445    ) -> c_int {
13446        sym!(self, xcb_xkb_set_compat_map_group_maps_length)(r)
13447    }
13448
13449    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_group_maps_length` could be loaded.
13450    #[cfg(feature = "has_symbol")]
13451    pub fn has_xcb_xkb_set_compat_map_group_maps_length(&self) -> bool {
13452        has_sym!(self, xcb_xkb_set_compat_map_group_maps_length)
13453    }
13454
13455    /// Returns an iterator over the elements of the
13456    /// `groupMaps` field of a `xcb_xkb_set_compat_map_request_t` struct.
13457    #[inline]
13458    pub unsafe fn xcb_xkb_set_compat_map_group_maps_iterator(
13459        &self,
13460        r: *const xcb_xkb_set_compat_map_request_t,
13461    ) -> xcb_xkb_mod_def_iterator_t {
13462        sym!(self, xcb_xkb_set_compat_map_group_maps_iterator)(r)
13463    }
13464
13465    /// Returns `true` iff the symbol `xcb_xkb_set_compat_map_group_maps_iterator` could be loaded.
13466    #[cfg(feature = "has_symbol")]
13467    pub fn has_xcb_xkb_set_compat_map_group_maps_iterator(&self) -> bool {
13468        has_sym!(self, xcb_xkb_set_compat_map_group_maps_iterator)
13469    }
13470
13471    /// Sends a `xkb::GetIndicatorState` request (checked).
13472    ///
13473    /// This request generates a reply. You must either discard it with
13474    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_indicator_state_reply`].
13475    ///
13476    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13477    /// [`xcb_xkb_get_indicator_state_reply`]: Self::xcb_xkb_get_indicator_state_reply
13478    #[inline]
13479    pub unsafe fn xcb_xkb_get_indicator_state(
13480        &self,
13481        c: *mut xcb_connection_t,
13482        device_spec: xcb_xkb_device_spec_t,
13483    ) -> xcb_xkb_get_indicator_state_cookie_t {
13484        sym!(self, xcb_xkb_get_indicator_state)(c, device_spec)
13485    }
13486
13487    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_state` could be loaded.
13488    #[cfg(feature = "has_symbol")]
13489    pub fn has_xcb_xkb_get_indicator_state(&self) -> bool {
13490        has_sym!(self, xcb_xkb_get_indicator_state)
13491    }
13492
13493    /// Sends a `xkb::GetIndicatorState` request (unchecked).
13494    ///
13495    /// This request generates a reply. You must either discard it with
13496    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_indicator_state_reply`].
13497    ///
13498    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13499    /// [`xcb_xkb_get_indicator_state_reply`]: Self::xcb_xkb_get_indicator_state_reply
13500    #[inline]
13501    pub unsafe fn xcb_xkb_get_indicator_state_unchecked(
13502        &self,
13503        c: *mut xcb_connection_t,
13504        device_spec: xcb_xkb_device_spec_t,
13505    ) -> xcb_xkb_get_indicator_state_cookie_t {
13506        sym!(self, xcb_xkb_get_indicator_state_unchecked)(c, device_spec)
13507    }
13508
13509    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_state_unchecked` could be loaded.
13510    #[cfg(feature = "has_symbol")]
13511    pub fn has_xcb_xkb_get_indicator_state_unchecked(&self) -> bool {
13512        has_sym!(self, xcb_xkb_get_indicator_state_unchecked)
13513    }
13514
13515    /// Waits for the reply to a `xkb::GetIndicatorState` request.
13516    #[inline]
13517    pub unsafe fn xcb_xkb_get_indicator_state_reply(
13518        &self,
13519        c: *mut xcb_connection_t,
13520        cookie: xcb_xkb_get_indicator_state_cookie_t,
13521        e: *mut *mut xcb_generic_error_t,
13522    ) -> *mut xcb_xkb_get_indicator_state_reply_t {
13523        sym!(self, xcb_xkb_get_indicator_state_reply)(c, cookie, e)
13524    }
13525
13526    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_state_reply` could be loaded.
13527    #[cfg(feature = "has_symbol")]
13528    pub fn has_xcb_xkb_get_indicator_state_reply(&self) -> bool {
13529        has_sym!(self, xcb_xkb_get_indicator_state_reply)
13530    }
13531
13532    /// Computes the size of a `xcb_xkb_get_indicator_map_reply_t` object.
13533    #[inline]
13534    pub unsafe fn xcb_xkb_get_indicator_map_sizeof(&self, _buffer: *const c_void) -> c_int {
13535        sym!(self, xcb_xkb_get_indicator_map_sizeof)(_buffer)
13536    }
13537
13538    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_sizeof` could be loaded.
13539    #[cfg(feature = "has_symbol")]
13540    pub fn has_xcb_xkb_get_indicator_map_sizeof(&self) -> bool {
13541        has_sym!(self, xcb_xkb_get_indicator_map_sizeof)
13542    }
13543
13544    /// Sends a `xkb::GetIndicatorMap` request (checked).
13545    ///
13546    /// This request generates a reply. You must either discard it with
13547    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_indicator_map_reply`].
13548    ///
13549    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13550    /// [`xcb_xkb_get_indicator_map_reply`]: Self::xcb_xkb_get_indicator_map_reply
13551    #[inline]
13552    pub unsafe fn xcb_xkb_get_indicator_map(
13553        &self,
13554        c: *mut xcb_connection_t,
13555        device_spec: xcb_xkb_device_spec_t,
13556        which: u32,
13557    ) -> xcb_xkb_get_indicator_map_cookie_t {
13558        sym!(self, xcb_xkb_get_indicator_map)(c, device_spec, which)
13559    }
13560
13561    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map` could be loaded.
13562    #[cfg(feature = "has_symbol")]
13563    pub fn has_xcb_xkb_get_indicator_map(&self) -> bool {
13564        has_sym!(self, xcb_xkb_get_indicator_map)
13565    }
13566
13567    /// Sends a `xkb::GetIndicatorMap` request (unchecked).
13568    ///
13569    /// This request generates a reply. You must either discard it with
13570    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_indicator_map_reply`].
13571    ///
13572    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13573    /// [`xcb_xkb_get_indicator_map_reply`]: Self::xcb_xkb_get_indicator_map_reply
13574    #[inline]
13575    pub unsafe fn xcb_xkb_get_indicator_map_unchecked(
13576        &self,
13577        c: *mut xcb_connection_t,
13578        device_spec: xcb_xkb_device_spec_t,
13579        which: u32,
13580    ) -> xcb_xkb_get_indicator_map_cookie_t {
13581        sym!(self, xcb_xkb_get_indicator_map_unchecked)(c, device_spec, which)
13582    }
13583
13584    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_unchecked` could be loaded.
13585    #[cfg(feature = "has_symbol")]
13586    pub fn has_xcb_xkb_get_indicator_map_unchecked(&self) -> bool {
13587        has_sym!(self, xcb_xkb_get_indicator_map_unchecked)
13588    }
13589
13590    /// Returns a pointer to the `maps` field of a `xcb_xkb_get_indicator_map_reply_t` struct.
13591    #[inline]
13592    pub unsafe fn xcb_xkb_get_indicator_map_maps(
13593        &self,
13594        r: *const xcb_xkb_get_indicator_map_reply_t,
13595    ) -> *mut xcb_xkb_indicator_map_t {
13596        sym!(self, xcb_xkb_get_indicator_map_maps)(r)
13597    }
13598
13599    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_maps` could be loaded.
13600    #[cfg(feature = "has_symbol")]
13601    pub fn has_xcb_xkb_get_indicator_map_maps(&self) -> bool {
13602        has_sym!(self, xcb_xkb_get_indicator_map_maps)
13603    }
13604
13605    /// Returns the number of elements of the `maps` field of a `xcb_xkb_get_indicator_map_reply_t` struct.
13606    #[inline]
13607    pub unsafe fn xcb_xkb_get_indicator_map_maps_length(
13608        &self,
13609        r: *const xcb_xkb_get_indicator_map_reply_t,
13610    ) -> c_int {
13611        sym!(self, xcb_xkb_get_indicator_map_maps_length)(r)
13612    }
13613
13614    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_maps_length` could be loaded.
13615    #[cfg(feature = "has_symbol")]
13616    pub fn has_xcb_xkb_get_indicator_map_maps_length(&self) -> bool {
13617        has_sym!(self, xcb_xkb_get_indicator_map_maps_length)
13618    }
13619
13620    /// Returns an iterator over the elements of the
13621    /// `maps` field of a `xcb_xkb_get_indicator_map_reply_t` struct.
13622    #[inline]
13623    pub unsafe fn xcb_xkb_get_indicator_map_maps_iterator(
13624        &self,
13625        r: *const xcb_xkb_get_indicator_map_reply_t,
13626    ) -> xcb_xkb_indicator_map_iterator_t {
13627        sym!(self, xcb_xkb_get_indicator_map_maps_iterator)(r)
13628    }
13629
13630    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_maps_iterator` could be loaded.
13631    #[cfg(feature = "has_symbol")]
13632    pub fn has_xcb_xkb_get_indicator_map_maps_iterator(&self) -> bool {
13633        has_sym!(self, xcb_xkb_get_indicator_map_maps_iterator)
13634    }
13635
13636    /// Waits for the reply to a `xkb::GetIndicatorMap` request.
13637    #[inline]
13638    pub unsafe fn xcb_xkb_get_indicator_map_reply(
13639        &self,
13640        c: *mut xcb_connection_t,
13641        cookie: xcb_xkb_get_indicator_map_cookie_t,
13642        e: *mut *mut xcb_generic_error_t,
13643    ) -> *mut xcb_xkb_get_indicator_map_reply_t {
13644        sym!(self, xcb_xkb_get_indicator_map_reply)(c, cookie, e)
13645    }
13646
13647    /// Returns `true` iff the symbol `xcb_xkb_get_indicator_map_reply` could be loaded.
13648    #[cfg(feature = "has_symbol")]
13649    pub fn has_xcb_xkb_get_indicator_map_reply(&self) -> bool {
13650        has_sym!(self, xcb_xkb_get_indicator_map_reply)
13651    }
13652
13653    /// Computes the size of a `xcb_xkb_set_indicator_map_request_t` object.
13654    #[inline]
13655    pub unsafe fn xcb_xkb_set_indicator_map_sizeof(&self, _buffer: *const c_void) -> c_int {
13656        sym!(self, xcb_xkb_set_indicator_map_sizeof)(_buffer)
13657    }
13658
13659    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map_sizeof` could be loaded.
13660    #[cfg(feature = "has_symbol")]
13661    pub fn has_xcb_xkb_set_indicator_map_sizeof(&self) -> bool {
13662        has_sym!(self, xcb_xkb_set_indicator_map_sizeof)
13663    }
13664
13665    /// Sends a `xkb::SetIndicatorMap` request (checked).
13666    ///
13667    /// This request generates a reply. You must either discard it with
13668    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
13669    ///
13670    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13671    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
13672    #[inline]
13673    pub unsafe fn xcb_xkb_set_indicator_map_checked(
13674        &self,
13675        c: *mut xcb_connection_t,
13676        device_spec: xcb_xkb_device_spec_t,
13677        which: u32,
13678        maps: *const xcb_xkb_indicator_map_t,
13679    ) -> xcb_void_cookie_t {
13680        sym!(self, xcb_xkb_set_indicator_map_checked)(c, device_spec, which, maps)
13681    }
13682
13683    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map_checked` could be loaded.
13684    #[cfg(feature = "has_symbol")]
13685    pub fn has_xcb_xkb_set_indicator_map_checked(&self) -> bool {
13686        has_sym!(self, xcb_xkb_set_indicator_map_checked)
13687    }
13688
13689    /// Sends a `xkb::SetIndicatorMap` request (unchecked).
13690    #[inline]
13691    pub unsafe fn xcb_xkb_set_indicator_map(
13692        &self,
13693        c: *mut xcb_connection_t,
13694        device_spec: xcb_xkb_device_spec_t,
13695        which: u32,
13696        maps: *const xcb_xkb_indicator_map_t,
13697    ) -> xcb_void_cookie_t {
13698        sym!(self, xcb_xkb_set_indicator_map)(c, device_spec, which, maps)
13699    }
13700
13701    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map` could be loaded.
13702    #[cfg(feature = "has_symbol")]
13703    pub fn has_xcb_xkb_set_indicator_map(&self) -> bool {
13704        has_sym!(self, xcb_xkb_set_indicator_map)
13705    }
13706
13707    /// Returns a pointer to the `maps` field of a `xcb_xkb_set_indicator_map_request_t` struct.
13708    #[inline]
13709    pub unsafe fn xcb_xkb_set_indicator_map_maps(
13710        &self,
13711        r: *const xcb_xkb_set_indicator_map_request_t,
13712    ) -> *mut xcb_xkb_indicator_map_t {
13713        sym!(self, xcb_xkb_set_indicator_map_maps)(r)
13714    }
13715
13716    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map_maps` could be loaded.
13717    #[cfg(feature = "has_symbol")]
13718    pub fn has_xcb_xkb_set_indicator_map_maps(&self) -> bool {
13719        has_sym!(self, xcb_xkb_set_indicator_map_maps)
13720    }
13721
13722    /// Returns the number of elements of the `maps` field of a `xcb_xkb_set_indicator_map_request_t` struct.
13723    #[inline]
13724    pub unsafe fn xcb_xkb_set_indicator_map_maps_length(
13725        &self,
13726        r: *const xcb_xkb_set_indicator_map_request_t,
13727    ) -> c_int {
13728        sym!(self, xcb_xkb_set_indicator_map_maps_length)(r)
13729    }
13730
13731    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map_maps_length` could be loaded.
13732    #[cfg(feature = "has_symbol")]
13733    pub fn has_xcb_xkb_set_indicator_map_maps_length(&self) -> bool {
13734        has_sym!(self, xcb_xkb_set_indicator_map_maps_length)
13735    }
13736
13737    /// Returns an iterator over the elements of the
13738    /// `maps` field of a `xcb_xkb_set_indicator_map_request_t` struct.
13739    #[inline]
13740    pub unsafe fn xcb_xkb_set_indicator_map_maps_iterator(
13741        &self,
13742        r: *const xcb_xkb_set_indicator_map_request_t,
13743    ) -> xcb_xkb_indicator_map_iterator_t {
13744        sym!(self, xcb_xkb_set_indicator_map_maps_iterator)(r)
13745    }
13746
13747    /// Returns `true` iff the symbol `xcb_xkb_set_indicator_map_maps_iterator` could be loaded.
13748    #[cfg(feature = "has_symbol")]
13749    pub fn has_xcb_xkb_set_indicator_map_maps_iterator(&self) -> bool {
13750        has_sym!(self, xcb_xkb_set_indicator_map_maps_iterator)
13751    }
13752
13753    /// Sends a `xkb::GetNamedIndicator` request (checked).
13754    ///
13755    /// This request generates a reply. You must either discard it with
13756    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_named_indicator_reply`].
13757    ///
13758    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13759    /// [`xcb_xkb_get_named_indicator_reply`]: Self::xcb_xkb_get_named_indicator_reply
13760    #[inline]
13761    pub unsafe fn xcb_xkb_get_named_indicator(
13762        &self,
13763        c: *mut xcb_connection_t,
13764        device_spec: xcb_xkb_device_spec_t,
13765        led_class: xcb_xkb_led_class_spec_t,
13766        led_id: xcb_xkb_id_spec_t,
13767        indicator: xcb_atom_t,
13768    ) -> xcb_xkb_get_named_indicator_cookie_t {
13769        sym!(self, xcb_xkb_get_named_indicator)(c, device_spec, led_class, led_id, indicator)
13770    }
13771
13772    /// Returns `true` iff the symbol `xcb_xkb_get_named_indicator` could be loaded.
13773    #[cfg(feature = "has_symbol")]
13774    pub fn has_xcb_xkb_get_named_indicator(&self) -> bool {
13775        has_sym!(self, xcb_xkb_get_named_indicator)
13776    }
13777
13778    /// Sends a `xkb::GetNamedIndicator` request (unchecked).
13779    ///
13780    /// This request generates a reply. You must either discard it with
13781    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_named_indicator_reply`].
13782    ///
13783    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13784    /// [`xcb_xkb_get_named_indicator_reply`]: Self::xcb_xkb_get_named_indicator_reply
13785    #[inline]
13786    pub unsafe fn xcb_xkb_get_named_indicator_unchecked(
13787        &self,
13788        c: *mut xcb_connection_t,
13789        device_spec: xcb_xkb_device_spec_t,
13790        led_class: xcb_xkb_led_class_spec_t,
13791        led_id: xcb_xkb_id_spec_t,
13792        indicator: xcb_atom_t,
13793    ) -> xcb_xkb_get_named_indicator_cookie_t {
13794        sym!(self, xcb_xkb_get_named_indicator_unchecked)(
13795            c,
13796            device_spec,
13797            led_class,
13798            led_id,
13799            indicator,
13800        )
13801    }
13802
13803    /// Returns `true` iff the symbol `xcb_xkb_get_named_indicator_unchecked` could be loaded.
13804    #[cfg(feature = "has_symbol")]
13805    pub fn has_xcb_xkb_get_named_indicator_unchecked(&self) -> bool {
13806        has_sym!(self, xcb_xkb_get_named_indicator_unchecked)
13807    }
13808
13809    /// Waits for the reply to a `xkb::GetNamedIndicator` request.
13810    #[inline]
13811    pub unsafe fn xcb_xkb_get_named_indicator_reply(
13812        &self,
13813        c: *mut xcb_connection_t,
13814        cookie: xcb_xkb_get_named_indicator_cookie_t,
13815        e: *mut *mut xcb_generic_error_t,
13816    ) -> *mut xcb_xkb_get_named_indicator_reply_t {
13817        sym!(self, xcb_xkb_get_named_indicator_reply)(c, cookie, e)
13818    }
13819
13820    /// Returns `true` iff the symbol `xcb_xkb_get_named_indicator_reply` could be loaded.
13821    #[cfg(feature = "has_symbol")]
13822    pub fn has_xcb_xkb_get_named_indicator_reply(&self) -> bool {
13823        has_sym!(self, xcb_xkb_get_named_indicator_reply)
13824    }
13825
13826    /// Sends a `xkb::SetNamedIndicator` request (checked).
13827    ///
13828    /// This request generates a reply. You must either discard it with
13829    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
13830    ///
13831    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
13832    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
13833    #[inline]
13834    pub unsafe fn xcb_xkb_set_named_indicator_checked(
13835        &self,
13836        c: *mut xcb_connection_t,
13837        device_spec: xcb_xkb_device_spec_t,
13838        led_class: xcb_xkb_led_class_spec_t,
13839        led_id: xcb_xkb_id_spec_t,
13840        indicator: xcb_atom_t,
13841        set_state: u8,
13842        on: u8,
13843        set_map: u8,
13844        create_map: u8,
13845        map_flags: u8,
13846        map_which_groups: u8,
13847        map_groups: u8,
13848        map_which_mods: u8,
13849        map_real_mods: u8,
13850        map_vmods: u16,
13851        map_ctrls: u32,
13852    ) -> xcb_void_cookie_t {
13853        sym!(self, xcb_xkb_set_named_indicator_checked)(
13854            c,
13855            device_spec,
13856            led_class,
13857            led_id,
13858            indicator,
13859            set_state,
13860            on,
13861            set_map,
13862            create_map,
13863            map_flags,
13864            map_which_groups,
13865            map_groups,
13866            map_which_mods,
13867            map_real_mods,
13868            map_vmods,
13869            map_ctrls,
13870        )
13871    }
13872
13873    /// Returns `true` iff the symbol `xcb_xkb_set_named_indicator_checked` could be loaded.
13874    #[cfg(feature = "has_symbol")]
13875    pub fn has_xcb_xkb_set_named_indicator_checked(&self) -> bool {
13876        has_sym!(self, xcb_xkb_set_named_indicator_checked)
13877    }
13878
13879    /// Sends a `xkb::SetNamedIndicator` request (unchecked).
13880    #[inline]
13881    pub unsafe fn xcb_xkb_set_named_indicator(
13882        &self,
13883        c: *mut xcb_connection_t,
13884        device_spec: xcb_xkb_device_spec_t,
13885        led_class: xcb_xkb_led_class_spec_t,
13886        led_id: xcb_xkb_id_spec_t,
13887        indicator: xcb_atom_t,
13888        set_state: u8,
13889        on: u8,
13890        set_map: u8,
13891        create_map: u8,
13892        map_flags: u8,
13893        map_which_groups: u8,
13894        map_groups: u8,
13895        map_which_mods: u8,
13896        map_real_mods: u8,
13897        map_vmods: u16,
13898        map_ctrls: u32,
13899    ) -> xcb_void_cookie_t {
13900        sym!(self, xcb_xkb_set_named_indicator)(
13901            c,
13902            device_spec,
13903            led_class,
13904            led_id,
13905            indicator,
13906            set_state,
13907            on,
13908            set_map,
13909            create_map,
13910            map_flags,
13911            map_which_groups,
13912            map_groups,
13913            map_which_mods,
13914            map_real_mods,
13915            map_vmods,
13916            map_ctrls,
13917        )
13918    }
13919
13920    /// Returns `true` iff the symbol `xcb_xkb_set_named_indicator` could be loaded.
13921    #[cfg(feature = "has_symbol")]
13922    pub fn has_xcb_xkb_set_named_indicator(&self) -> bool {
13923        has_sym!(self, xcb_xkb_set_named_indicator)
13924    }
13925
13926    /// Returns a pointer to the `typeNames` field of a `xcb_xkb_get_names_value_list_t` struct.
13927    #[inline]
13928    pub unsafe fn xcb_xkb_get_names_value_list_type_names(
13929        &self,
13930        s: *const xcb_xkb_get_names_value_list_t,
13931    ) -> *mut xcb_atom_t {
13932        sym!(self, xcb_xkb_get_names_value_list_type_names)(s)
13933    }
13934
13935    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_type_names` could be loaded.
13936    #[cfg(feature = "has_symbol")]
13937    pub fn has_xcb_xkb_get_names_value_list_type_names(&self) -> bool {
13938        has_sym!(self, xcb_xkb_get_names_value_list_type_names)
13939    }
13940
13941    /// Returns the number of elements of the `typeNames` field of a `xcb_xkb_get_names_value_list_t` struct.
13942    #[inline]
13943    pub unsafe fn xcb_xkb_get_names_value_list_type_names_length(
13944        &self,
13945        r: *const xcb_xkb_get_names_reply_t,
13946        s: *const xcb_xkb_get_names_value_list_t,
13947    ) -> c_int {
13948        sym!(self, xcb_xkb_get_names_value_list_type_names_length)(r, s)
13949    }
13950
13951    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_type_names_length` could be loaded.
13952    #[cfg(feature = "has_symbol")]
13953    pub fn has_xcb_xkb_get_names_value_list_type_names_length(&self) -> bool {
13954        has_sym!(self, xcb_xkb_get_names_value_list_type_names_length)
13955    }
13956
13957    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
13958    /// `typeNames` field of a `xcb_xkb_get_names_value_list_t` struct.
13959    #[inline]
13960    pub unsafe fn xcb_xkb_get_names_value_list_type_names_end(
13961        &self,
13962        r: *const xcb_xkb_get_names_reply_t,
13963        s: *const xcb_xkb_get_names_value_list_t,
13964    ) -> xcb_generic_iterator_t {
13965        sym!(self, xcb_xkb_get_names_value_list_type_names_end)(r, s)
13966    }
13967
13968    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_type_names_end` could be loaded.
13969    #[cfg(feature = "has_symbol")]
13970    pub fn has_xcb_xkb_get_names_value_list_type_names_end(&self) -> bool {
13971        has_sym!(self, xcb_xkb_get_names_value_list_type_names_end)
13972    }
13973
13974    /// Returns a pointer to the `nLevelsPerType` field of a `xcb_xkb_get_names_value_list_t` struct.
13975    #[inline]
13976    pub unsafe fn xcb_xkb_get_names_value_list_n_levels_per_type(
13977        &self,
13978        s: *const xcb_xkb_get_names_value_list_t,
13979    ) -> *mut u8 {
13980        sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type)(s)
13981    }
13982
13983    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_n_levels_per_type` could be loaded.
13984    #[cfg(feature = "has_symbol")]
13985    pub fn has_xcb_xkb_get_names_value_list_n_levels_per_type(&self) -> bool {
13986        has_sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type)
13987    }
13988
13989    /// Returns the number of elements of the `nLevelsPerType` field of a `xcb_xkb_get_names_value_list_t` struct.
13990    #[inline]
13991    pub unsafe fn xcb_xkb_get_names_value_list_n_levels_per_type_length(
13992        &self,
13993        r: *const xcb_xkb_get_names_reply_t,
13994        s: *const xcb_xkb_get_names_value_list_t,
13995    ) -> c_int {
13996        sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type_length)(r, s)
13997    }
13998
13999    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_n_levels_per_type_length` could be loaded.
14000    #[cfg(feature = "has_symbol")]
14001    pub fn has_xcb_xkb_get_names_value_list_n_levels_per_type_length(&self) -> bool {
14002        has_sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type_length)
14003    }
14004
14005    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14006    /// `nLevelsPerType` field of a `xcb_xkb_get_names_value_list_t` struct.
14007    #[inline]
14008    pub unsafe fn xcb_xkb_get_names_value_list_n_levels_per_type_end(
14009        &self,
14010        r: *const xcb_xkb_get_names_reply_t,
14011        s: *const xcb_xkb_get_names_value_list_t,
14012    ) -> xcb_generic_iterator_t {
14013        sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type_end)(r, s)
14014    }
14015
14016    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_n_levels_per_type_end` could be loaded.
14017    #[cfg(feature = "has_symbol")]
14018    pub fn has_xcb_xkb_get_names_value_list_n_levels_per_type_end(&self) -> bool {
14019        has_sym!(self, xcb_xkb_get_names_value_list_n_levels_per_type_end)
14020    }
14021
14022    /// Returns a pointer to the `ktLevelNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14023    #[inline]
14024    pub unsafe fn xcb_xkb_get_names_value_list_kt_level_names(
14025        &self,
14026        s: *const xcb_xkb_get_names_value_list_t,
14027    ) -> *mut xcb_atom_t {
14028        sym!(self, xcb_xkb_get_names_value_list_kt_level_names)(s)
14029    }
14030
14031    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_kt_level_names` could be loaded.
14032    #[cfg(feature = "has_symbol")]
14033    pub fn has_xcb_xkb_get_names_value_list_kt_level_names(&self) -> bool {
14034        has_sym!(self, xcb_xkb_get_names_value_list_kt_level_names)
14035    }
14036
14037    /// Returns the number of elements of the `ktLevelNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14038    #[inline]
14039    pub unsafe fn xcb_xkb_get_names_value_list_kt_level_names_length(
14040        &self,
14041        r: *const xcb_xkb_get_names_reply_t,
14042        s: *const xcb_xkb_get_names_value_list_t,
14043    ) -> c_int {
14044        sym!(self, xcb_xkb_get_names_value_list_kt_level_names_length)(r, s)
14045    }
14046
14047    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_kt_level_names_length` could be loaded.
14048    #[cfg(feature = "has_symbol")]
14049    pub fn has_xcb_xkb_get_names_value_list_kt_level_names_length(&self) -> bool {
14050        has_sym!(self, xcb_xkb_get_names_value_list_kt_level_names_length)
14051    }
14052
14053    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14054    /// `ktLevelNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14055    #[inline]
14056    pub unsafe fn xcb_xkb_get_names_value_list_kt_level_names_end(
14057        &self,
14058        r: *const xcb_xkb_get_names_reply_t,
14059        s: *const xcb_xkb_get_names_value_list_t,
14060    ) -> xcb_generic_iterator_t {
14061        sym!(self, xcb_xkb_get_names_value_list_kt_level_names_end)(r, s)
14062    }
14063
14064    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_kt_level_names_end` could be loaded.
14065    #[cfg(feature = "has_symbol")]
14066    pub fn has_xcb_xkb_get_names_value_list_kt_level_names_end(&self) -> bool {
14067        has_sym!(self, xcb_xkb_get_names_value_list_kt_level_names_end)
14068    }
14069
14070    /// Returns a pointer to the `indicatorNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14071    #[inline]
14072    pub unsafe fn xcb_xkb_get_names_value_list_indicator_names(
14073        &self,
14074        s: *const xcb_xkb_get_names_value_list_t,
14075    ) -> *mut xcb_atom_t {
14076        sym!(self, xcb_xkb_get_names_value_list_indicator_names)(s)
14077    }
14078
14079    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_indicator_names` could be loaded.
14080    #[cfg(feature = "has_symbol")]
14081    pub fn has_xcb_xkb_get_names_value_list_indicator_names(&self) -> bool {
14082        has_sym!(self, xcb_xkb_get_names_value_list_indicator_names)
14083    }
14084
14085    /// Returns the number of elements of the `indicatorNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14086    #[inline]
14087    pub unsafe fn xcb_xkb_get_names_value_list_indicator_names_length(
14088        &self,
14089        r: *const xcb_xkb_get_names_reply_t,
14090        s: *const xcb_xkb_get_names_value_list_t,
14091    ) -> c_int {
14092        sym!(self, xcb_xkb_get_names_value_list_indicator_names_length)(r, s)
14093    }
14094
14095    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_indicator_names_length` could be loaded.
14096    #[cfg(feature = "has_symbol")]
14097    pub fn has_xcb_xkb_get_names_value_list_indicator_names_length(&self) -> bool {
14098        has_sym!(self, xcb_xkb_get_names_value_list_indicator_names_length)
14099    }
14100
14101    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14102    /// `indicatorNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14103    #[inline]
14104    pub unsafe fn xcb_xkb_get_names_value_list_indicator_names_end(
14105        &self,
14106        r: *const xcb_xkb_get_names_reply_t,
14107        s: *const xcb_xkb_get_names_value_list_t,
14108    ) -> xcb_generic_iterator_t {
14109        sym!(self, xcb_xkb_get_names_value_list_indicator_names_end)(r, s)
14110    }
14111
14112    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_indicator_names_end` could be loaded.
14113    #[cfg(feature = "has_symbol")]
14114    pub fn has_xcb_xkb_get_names_value_list_indicator_names_end(&self) -> bool {
14115        has_sym!(self, xcb_xkb_get_names_value_list_indicator_names_end)
14116    }
14117
14118    /// Returns a pointer to the `virtualModNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14119    #[inline]
14120    pub unsafe fn xcb_xkb_get_names_value_list_virtual_mod_names(
14121        &self,
14122        s: *const xcb_xkb_get_names_value_list_t,
14123    ) -> *mut xcb_atom_t {
14124        sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names)(s)
14125    }
14126
14127    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_virtual_mod_names` could be loaded.
14128    #[cfg(feature = "has_symbol")]
14129    pub fn has_xcb_xkb_get_names_value_list_virtual_mod_names(&self) -> bool {
14130        has_sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names)
14131    }
14132
14133    /// Returns the number of elements of the `virtualModNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14134    #[inline]
14135    pub unsafe fn xcb_xkb_get_names_value_list_virtual_mod_names_length(
14136        &self,
14137        r: *const xcb_xkb_get_names_reply_t,
14138        s: *const xcb_xkb_get_names_value_list_t,
14139    ) -> c_int {
14140        sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names_length)(r, s)
14141    }
14142
14143    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_virtual_mod_names_length` could be loaded.
14144    #[cfg(feature = "has_symbol")]
14145    pub fn has_xcb_xkb_get_names_value_list_virtual_mod_names_length(&self) -> bool {
14146        has_sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names_length)
14147    }
14148
14149    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14150    /// `virtualModNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14151    #[inline]
14152    pub unsafe fn xcb_xkb_get_names_value_list_virtual_mod_names_end(
14153        &self,
14154        r: *const xcb_xkb_get_names_reply_t,
14155        s: *const xcb_xkb_get_names_value_list_t,
14156    ) -> xcb_generic_iterator_t {
14157        sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names_end)(r, s)
14158    }
14159
14160    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_virtual_mod_names_end` could be loaded.
14161    #[cfg(feature = "has_symbol")]
14162    pub fn has_xcb_xkb_get_names_value_list_virtual_mod_names_end(&self) -> bool {
14163        has_sym!(self, xcb_xkb_get_names_value_list_virtual_mod_names_end)
14164    }
14165
14166    /// Returns a pointer to the `groups` field of a `xcb_xkb_get_names_value_list_t` struct.
14167    #[inline]
14168    pub unsafe fn xcb_xkb_get_names_value_list_groups(
14169        &self,
14170        s: *const xcb_xkb_get_names_value_list_t,
14171    ) -> *mut xcb_atom_t {
14172        sym!(self, xcb_xkb_get_names_value_list_groups)(s)
14173    }
14174
14175    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_groups` could be loaded.
14176    #[cfg(feature = "has_symbol")]
14177    pub fn has_xcb_xkb_get_names_value_list_groups(&self) -> bool {
14178        has_sym!(self, xcb_xkb_get_names_value_list_groups)
14179    }
14180
14181    /// Returns the number of elements of the `groups` field of a `xcb_xkb_get_names_value_list_t` struct.
14182    #[inline]
14183    pub unsafe fn xcb_xkb_get_names_value_list_groups_length(
14184        &self,
14185        r: *const xcb_xkb_get_names_reply_t,
14186        s: *const xcb_xkb_get_names_value_list_t,
14187    ) -> c_int {
14188        sym!(self, xcb_xkb_get_names_value_list_groups_length)(r, s)
14189    }
14190
14191    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_groups_length` could be loaded.
14192    #[cfg(feature = "has_symbol")]
14193    pub fn has_xcb_xkb_get_names_value_list_groups_length(&self) -> bool {
14194        has_sym!(self, xcb_xkb_get_names_value_list_groups_length)
14195    }
14196
14197    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14198    /// `groups` field of a `xcb_xkb_get_names_value_list_t` struct.
14199    #[inline]
14200    pub unsafe fn xcb_xkb_get_names_value_list_groups_end(
14201        &self,
14202        r: *const xcb_xkb_get_names_reply_t,
14203        s: *const xcb_xkb_get_names_value_list_t,
14204    ) -> xcb_generic_iterator_t {
14205        sym!(self, xcb_xkb_get_names_value_list_groups_end)(r, s)
14206    }
14207
14208    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_groups_end` could be loaded.
14209    #[cfg(feature = "has_symbol")]
14210    pub fn has_xcb_xkb_get_names_value_list_groups_end(&self) -> bool {
14211        has_sym!(self, xcb_xkb_get_names_value_list_groups_end)
14212    }
14213
14214    /// Returns a pointer to the `keyNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14215    #[inline]
14216    pub unsafe fn xcb_xkb_get_names_value_list_key_names(
14217        &self,
14218        s: *const xcb_xkb_get_names_value_list_t,
14219    ) -> *mut xcb_xkb_key_name_t {
14220        sym!(self, xcb_xkb_get_names_value_list_key_names)(s)
14221    }
14222
14223    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_names` could be loaded.
14224    #[cfg(feature = "has_symbol")]
14225    pub fn has_xcb_xkb_get_names_value_list_key_names(&self) -> bool {
14226        has_sym!(self, xcb_xkb_get_names_value_list_key_names)
14227    }
14228
14229    /// Returns the number of elements of the `keyNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14230    #[inline]
14231    pub unsafe fn xcb_xkb_get_names_value_list_key_names_length(
14232        &self,
14233        r: *const xcb_xkb_get_names_reply_t,
14234        s: *const xcb_xkb_get_names_value_list_t,
14235    ) -> c_int {
14236        sym!(self, xcb_xkb_get_names_value_list_key_names_length)(r, s)
14237    }
14238
14239    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_names_length` could be loaded.
14240    #[cfg(feature = "has_symbol")]
14241    pub fn has_xcb_xkb_get_names_value_list_key_names_length(&self) -> bool {
14242        has_sym!(self, xcb_xkb_get_names_value_list_key_names_length)
14243    }
14244
14245    /// Returns an iterator over the elements of the
14246    /// `keyNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14247    #[inline]
14248    pub unsafe fn xcb_xkb_get_names_value_list_key_names_iterator(
14249        &self,
14250        r: *const xcb_xkb_get_names_reply_t,
14251        s: *const xcb_xkb_get_names_value_list_t,
14252    ) -> xcb_xkb_key_name_iterator_t {
14253        sym!(self, xcb_xkb_get_names_value_list_key_names_iterator)(r, s)
14254    }
14255
14256    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_names_iterator` could be loaded.
14257    #[cfg(feature = "has_symbol")]
14258    pub fn has_xcb_xkb_get_names_value_list_key_names_iterator(&self) -> bool {
14259        has_sym!(self, xcb_xkb_get_names_value_list_key_names_iterator)
14260    }
14261
14262    /// Returns a pointer to the `keyAliases` field of a `xcb_xkb_get_names_value_list_t` struct.
14263    #[inline]
14264    pub unsafe fn xcb_xkb_get_names_value_list_key_aliases(
14265        &self,
14266        s: *const xcb_xkb_get_names_value_list_t,
14267    ) -> *mut xcb_xkb_key_alias_t {
14268        sym!(self, xcb_xkb_get_names_value_list_key_aliases)(s)
14269    }
14270
14271    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_aliases` could be loaded.
14272    #[cfg(feature = "has_symbol")]
14273    pub fn has_xcb_xkb_get_names_value_list_key_aliases(&self) -> bool {
14274        has_sym!(self, xcb_xkb_get_names_value_list_key_aliases)
14275    }
14276
14277    /// Returns the number of elements of the `keyAliases` field of a `xcb_xkb_get_names_value_list_t` struct.
14278    #[inline]
14279    pub unsafe fn xcb_xkb_get_names_value_list_key_aliases_length(
14280        &self,
14281        r: *const xcb_xkb_get_names_reply_t,
14282        s: *const xcb_xkb_get_names_value_list_t,
14283    ) -> c_int {
14284        sym!(self, xcb_xkb_get_names_value_list_key_aliases_length)(r, s)
14285    }
14286
14287    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_aliases_length` could be loaded.
14288    #[cfg(feature = "has_symbol")]
14289    pub fn has_xcb_xkb_get_names_value_list_key_aliases_length(&self) -> bool {
14290        has_sym!(self, xcb_xkb_get_names_value_list_key_aliases_length)
14291    }
14292
14293    /// Returns an iterator over the elements of the
14294    /// `keyAliases` field of a `xcb_xkb_get_names_value_list_t` struct.
14295    #[inline]
14296    pub unsafe fn xcb_xkb_get_names_value_list_key_aliases_iterator(
14297        &self,
14298        r: *const xcb_xkb_get_names_reply_t,
14299        s: *const xcb_xkb_get_names_value_list_t,
14300    ) -> xcb_xkb_key_alias_iterator_t {
14301        sym!(self, xcb_xkb_get_names_value_list_key_aliases_iterator)(r, s)
14302    }
14303
14304    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_key_aliases_iterator` could be loaded.
14305    #[cfg(feature = "has_symbol")]
14306    pub fn has_xcb_xkb_get_names_value_list_key_aliases_iterator(&self) -> bool {
14307        has_sym!(self, xcb_xkb_get_names_value_list_key_aliases_iterator)
14308    }
14309
14310    /// Returns a pointer to the `radioGroupNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14311    #[inline]
14312    pub unsafe fn xcb_xkb_get_names_value_list_radio_group_names(
14313        &self,
14314        s: *const xcb_xkb_get_names_value_list_t,
14315    ) -> *mut xcb_atom_t {
14316        sym!(self, xcb_xkb_get_names_value_list_radio_group_names)(s)
14317    }
14318
14319    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_radio_group_names` could be loaded.
14320    #[cfg(feature = "has_symbol")]
14321    pub fn has_xcb_xkb_get_names_value_list_radio_group_names(&self) -> bool {
14322        has_sym!(self, xcb_xkb_get_names_value_list_radio_group_names)
14323    }
14324
14325    /// Returns the number of elements of the `radioGroupNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14326    #[inline]
14327    pub unsafe fn xcb_xkb_get_names_value_list_radio_group_names_length(
14328        &self,
14329        r: *const xcb_xkb_get_names_reply_t,
14330        s: *const xcb_xkb_get_names_value_list_t,
14331    ) -> c_int {
14332        sym!(self, xcb_xkb_get_names_value_list_radio_group_names_length)(r, s)
14333    }
14334
14335    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_radio_group_names_length` could be loaded.
14336    #[cfg(feature = "has_symbol")]
14337    pub fn has_xcb_xkb_get_names_value_list_radio_group_names_length(&self) -> bool {
14338        has_sym!(self, xcb_xkb_get_names_value_list_radio_group_names_length)
14339    }
14340
14341    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14342    /// `radioGroupNames` field of a `xcb_xkb_get_names_value_list_t` struct.
14343    #[inline]
14344    pub unsafe fn xcb_xkb_get_names_value_list_radio_group_names_end(
14345        &self,
14346        r: *const xcb_xkb_get_names_reply_t,
14347        s: *const xcb_xkb_get_names_value_list_t,
14348    ) -> xcb_generic_iterator_t {
14349        sym!(self, xcb_xkb_get_names_value_list_radio_group_names_end)(r, s)
14350    }
14351
14352    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_radio_group_names_end` could be loaded.
14353    #[cfg(feature = "has_symbol")]
14354    pub fn has_xcb_xkb_get_names_value_list_radio_group_names_end(&self) -> bool {
14355        has_sym!(self, xcb_xkb_get_names_value_list_radio_group_names_end)
14356    }
14357
14358    /// Serializes a `xcb_xkb_get_names_value_list_t` object.
14359    #[inline]
14360    pub unsafe fn xcb_xkb_get_names_value_list_serialize(
14361        &self,
14362        _buffer: *mut *mut c_void,
14363        nTypes: u8,
14364        indicators: u32,
14365        virtualMods: u16,
14366        groupNames: u8,
14367        nKeys: u8,
14368        nKeyAliases: u8,
14369        nRadioGroups: u8,
14370        which: u32,
14371        _aux: *const xcb_xkb_get_names_value_list_t,
14372    ) -> c_int {
14373        sym!(self, xcb_xkb_get_names_value_list_serialize)(
14374            _buffer,
14375            nTypes,
14376            indicators,
14377            virtualMods,
14378            groupNames,
14379            nKeys,
14380            nKeyAliases,
14381            nRadioGroups,
14382            which,
14383            _aux,
14384        )
14385    }
14386
14387    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_serialize` could be loaded.
14388    #[cfg(feature = "has_symbol")]
14389    pub fn has_xcb_xkb_get_names_value_list_serialize(&self) -> bool {
14390        has_sym!(self, xcb_xkb_get_names_value_list_serialize)
14391    }
14392
14393    /// Unpacks a `xcb_xkb_get_names_value_list_t` object.
14394    #[inline]
14395    pub unsafe fn xcb_xkb_get_names_value_list_unpack(
14396        &self,
14397        _buffer: *const c_void,
14398        nTypes: u8,
14399        indicators: u32,
14400        virtualMods: u16,
14401        groupNames: u8,
14402        nKeys: u8,
14403        nKeyAliases: u8,
14404        nRadioGroups: u8,
14405        which: u32,
14406        _aux: *mut xcb_xkb_get_names_value_list_t,
14407    ) -> c_int {
14408        sym!(self, xcb_xkb_get_names_value_list_unpack)(
14409            _buffer,
14410            nTypes,
14411            indicators,
14412            virtualMods,
14413            groupNames,
14414            nKeys,
14415            nKeyAliases,
14416            nRadioGroups,
14417            which,
14418            _aux,
14419        )
14420    }
14421
14422    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_unpack` could be loaded.
14423    #[cfg(feature = "has_symbol")]
14424    pub fn has_xcb_xkb_get_names_value_list_unpack(&self) -> bool {
14425        has_sym!(self, xcb_xkb_get_names_value_list_unpack)
14426    }
14427
14428    /// Computes the size of a `xcb_xkb_get_names_value_list_t` object.
14429    #[inline]
14430    pub unsafe fn xcb_xkb_get_names_value_list_sizeof(
14431        &self,
14432        _buffer: *const c_void,
14433        nTypes: u8,
14434        indicators: u32,
14435        virtualMods: u16,
14436        groupNames: u8,
14437        nKeys: u8,
14438        nKeyAliases: u8,
14439        nRadioGroups: u8,
14440        which: u32,
14441    ) -> c_int {
14442        sym!(self, xcb_xkb_get_names_value_list_sizeof)(
14443            _buffer,
14444            nTypes,
14445            indicators,
14446            virtualMods,
14447            groupNames,
14448            nKeys,
14449            nKeyAliases,
14450            nRadioGroups,
14451            which,
14452        )
14453    }
14454
14455    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list_sizeof` could be loaded.
14456    #[cfg(feature = "has_symbol")]
14457    pub fn has_xcb_xkb_get_names_value_list_sizeof(&self) -> bool {
14458        has_sym!(self, xcb_xkb_get_names_value_list_sizeof)
14459    }
14460
14461    /// Computes the size of a `xcb_xkb_get_names_reply_t` object.
14462    #[inline]
14463    pub unsafe fn xcb_xkb_get_names_sizeof(&self, _buffer: *const c_void) -> c_int {
14464        sym!(self, xcb_xkb_get_names_sizeof)(_buffer)
14465    }
14466
14467    /// Returns `true` iff the symbol `xcb_xkb_get_names_sizeof` could be loaded.
14468    #[cfg(feature = "has_symbol")]
14469    pub fn has_xcb_xkb_get_names_sizeof(&self) -> bool {
14470        has_sym!(self, xcb_xkb_get_names_sizeof)
14471    }
14472
14473    /// Sends a `xkb::GetNames` request (checked).
14474    ///
14475    /// This request generates a reply. You must either discard it with
14476    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_names_reply`].
14477    ///
14478    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
14479    /// [`xcb_xkb_get_names_reply`]: Self::xcb_xkb_get_names_reply
14480    #[inline]
14481    pub unsafe fn xcb_xkb_get_names(
14482        &self,
14483        c: *mut xcb_connection_t,
14484        device_spec: xcb_xkb_device_spec_t,
14485        which: u32,
14486    ) -> xcb_xkb_get_names_cookie_t {
14487        sym!(self, xcb_xkb_get_names)(c, device_spec, which)
14488    }
14489
14490    /// Returns `true` iff the symbol `xcb_xkb_get_names` could be loaded.
14491    #[cfg(feature = "has_symbol")]
14492    pub fn has_xcb_xkb_get_names(&self) -> bool {
14493        has_sym!(self, xcb_xkb_get_names)
14494    }
14495
14496    /// Sends a `xkb::GetNames` request (unchecked).
14497    ///
14498    /// This request generates a reply. You must either discard it with
14499    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_names_reply`].
14500    ///
14501    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
14502    /// [`xcb_xkb_get_names_reply`]: Self::xcb_xkb_get_names_reply
14503    #[inline]
14504    pub unsafe fn xcb_xkb_get_names_unchecked(
14505        &self,
14506        c: *mut xcb_connection_t,
14507        device_spec: xcb_xkb_device_spec_t,
14508        which: u32,
14509    ) -> xcb_xkb_get_names_cookie_t {
14510        sym!(self, xcb_xkb_get_names_unchecked)(c, device_spec, which)
14511    }
14512
14513    /// Returns `true` iff the symbol `xcb_xkb_get_names_unchecked` could be loaded.
14514    #[cfg(feature = "has_symbol")]
14515    pub fn has_xcb_xkb_get_names_unchecked(&self) -> bool {
14516        has_sym!(self, xcb_xkb_get_names_unchecked)
14517    }
14518
14519    /// Returns a pointer to the `valueList` field of a `xcb_xkb_get_names_reply_t` struct.
14520    #[inline]
14521    pub unsafe fn xcb_xkb_get_names_value_list(
14522        &self,
14523        r: *const xcb_xkb_get_names_reply_t,
14524    ) -> *mut c_void {
14525        sym!(self, xcb_xkb_get_names_value_list)(r)
14526    }
14527
14528    /// Returns `true` iff the symbol `xcb_xkb_get_names_value_list` could be loaded.
14529    #[cfg(feature = "has_symbol")]
14530    pub fn has_xcb_xkb_get_names_value_list(&self) -> bool {
14531        has_sym!(self, xcb_xkb_get_names_value_list)
14532    }
14533
14534    /// Waits for the reply to a `xkb::GetNames` request.
14535    #[inline]
14536    pub unsafe fn xcb_xkb_get_names_reply(
14537        &self,
14538        c: *mut xcb_connection_t,
14539        cookie: xcb_xkb_get_names_cookie_t,
14540        e: *mut *mut xcb_generic_error_t,
14541    ) -> *mut xcb_xkb_get_names_reply_t {
14542        sym!(self, xcb_xkb_get_names_reply)(c, cookie, e)
14543    }
14544
14545    /// Returns `true` iff the symbol `xcb_xkb_get_names_reply` could be loaded.
14546    #[cfg(feature = "has_symbol")]
14547    pub fn has_xcb_xkb_get_names_reply(&self) -> bool {
14548        has_sym!(self, xcb_xkb_get_names_reply)
14549    }
14550
14551    /// Returns a pointer to the `typeNames` field of a `xcb_xkb_set_names_values_t` struct.
14552    #[inline]
14553    pub unsafe fn xcb_xkb_set_names_values_type_names(
14554        &self,
14555        s: *const xcb_xkb_set_names_values_t,
14556    ) -> *mut xcb_atom_t {
14557        sym!(self, xcb_xkb_set_names_values_type_names)(s)
14558    }
14559
14560    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_type_names` could be loaded.
14561    #[cfg(feature = "has_symbol")]
14562    pub fn has_xcb_xkb_set_names_values_type_names(&self) -> bool {
14563        has_sym!(self, xcb_xkb_set_names_values_type_names)
14564    }
14565
14566    /// Returns the number of elements of the `typeNames` field of a `xcb_xkb_set_names_values_t` struct.
14567    #[inline]
14568    pub unsafe fn xcb_xkb_set_names_values_type_names_length(
14569        &self,
14570        r: *const xcb_xkb_set_names_request_t,
14571        s: *const xcb_xkb_set_names_values_t,
14572    ) -> c_int {
14573        sym!(self, xcb_xkb_set_names_values_type_names_length)(r, s)
14574    }
14575
14576    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_type_names_length` could be loaded.
14577    #[cfg(feature = "has_symbol")]
14578    pub fn has_xcb_xkb_set_names_values_type_names_length(&self) -> bool {
14579        has_sym!(self, xcb_xkb_set_names_values_type_names_length)
14580    }
14581
14582    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14583    /// `typeNames` field of a `xcb_xkb_set_names_values_t` struct.
14584    #[inline]
14585    pub unsafe fn xcb_xkb_set_names_values_type_names_end(
14586        &self,
14587        r: *const xcb_xkb_set_names_request_t,
14588        s: *const xcb_xkb_set_names_values_t,
14589    ) -> xcb_generic_iterator_t {
14590        sym!(self, xcb_xkb_set_names_values_type_names_end)(r, s)
14591    }
14592
14593    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_type_names_end` could be loaded.
14594    #[cfg(feature = "has_symbol")]
14595    pub fn has_xcb_xkb_set_names_values_type_names_end(&self) -> bool {
14596        has_sym!(self, xcb_xkb_set_names_values_type_names_end)
14597    }
14598
14599    /// Returns a pointer to the `nLevelsPerType` field of a `xcb_xkb_set_names_values_t` struct.
14600    #[inline]
14601    pub unsafe fn xcb_xkb_set_names_values_n_levels_per_type(
14602        &self,
14603        s: *const xcb_xkb_set_names_values_t,
14604    ) -> *mut u8 {
14605        sym!(self, xcb_xkb_set_names_values_n_levels_per_type)(s)
14606    }
14607
14608    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_n_levels_per_type` could be loaded.
14609    #[cfg(feature = "has_symbol")]
14610    pub fn has_xcb_xkb_set_names_values_n_levels_per_type(&self) -> bool {
14611        has_sym!(self, xcb_xkb_set_names_values_n_levels_per_type)
14612    }
14613
14614    /// Returns the number of elements of the `nLevelsPerType` field of a `xcb_xkb_set_names_values_t` struct.
14615    #[inline]
14616    pub unsafe fn xcb_xkb_set_names_values_n_levels_per_type_length(
14617        &self,
14618        r: *const xcb_xkb_set_names_request_t,
14619        s: *const xcb_xkb_set_names_values_t,
14620    ) -> c_int {
14621        sym!(self, xcb_xkb_set_names_values_n_levels_per_type_length)(r, s)
14622    }
14623
14624    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_n_levels_per_type_length` could be loaded.
14625    #[cfg(feature = "has_symbol")]
14626    pub fn has_xcb_xkb_set_names_values_n_levels_per_type_length(&self) -> bool {
14627        has_sym!(self, xcb_xkb_set_names_values_n_levels_per_type_length)
14628    }
14629
14630    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14631    /// `nLevelsPerType` field of a `xcb_xkb_set_names_values_t` struct.
14632    #[inline]
14633    pub unsafe fn xcb_xkb_set_names_values_n_levels_per_type_end(
14634        &self,
14635        r: *const xcb_xkb_set_names_request_t,
14636        s: *const xcb_xkb_set_names_values_t,
14637    ) -> xcb_generic_iterator_t {
14638        sym!(self, xcb_xkb_set_names_values_n_levels_per_type_end)(r, s)
14639    }
14640
14641    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_n_levels_per_type_end` could be loaded.
14642    #[cfg(feature = "has_symbol")]
14643    pub fn has_xcb_xkb_set_names_values_n_levels_per_type_end(&self) -> bool {
14644        has_sym!(self, xcb_xkb_set_names_values_n_levels_per_type_end)
14645    }
14646
14647    /// Returns a pointer to the `ktLevelNames` field of a `xcb_xkb_set_names_values_t` struct.
14648    #[inline]
14649    pub unsafe fn xcb_xkb_set_names_values_kt_level_names(
14650        &self,
14651        s: *const xcb_xkb_set_names_values_t,
14652    ) -> *mut xcb_atom_t {
14653        sym!(self, xcb_xkb_set_names_values_kt_level_names)(s)
14654    }
14655
14656    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_kt_level_names` could be loaded.
14657    #[cfg(feature = "has_symbol")]
14658    pub fn has_xcb_xkb_set_names_values_kt_level_names(&self) -> bool {
14659        has_sym!(self, xcb_xkb_set_names_values_kt_level_names)
14660    }
14661
14662    /// Returns the number of elements of the `ktLevelNames` field of a `xcb_xkb_set_names_values_t` struct.
14663    #[inline]
14664    pub unsafe fn xcb_xkb_set_names_values_kt_level_names_length(
14665        &self,
14666        r: *const xcb_xkb_set_names_request_t,
14667        s: *const xcb_xkb_set_names_values_t,
14668    ) -> c_int {
14669        sym!(self, xcb_xkb_set_names_values_kt_level_names_length)(r, s)
14670    }
14671
14672    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_kt_level_names_length` could be loaded.
14673    #[cfg(feature = "has_symbol")]
14674    pub fn has_xcb_xkb_set_names_values_kt_level_names_length(&self) -> bool {
14675        has_sym!(self, xcb_xkb_set_names_values_kt_level_names_length)
14676    }
14677
14678    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14679    /// `ktLevelNames` field of a `xcb_xkb_set_names_values_t` struct.
14680    #[inline]
14681    pub unsafe fn xcb_xkb_set_names_values_kt_level_names_end(
14682        &self,
14683        r: *const xcb_xkb_set_names_request_t,
14684        s: *const xcb_xkb_set_names_values_t,
14685    ) -> xcb_generic_iterator_t {
14686        sym!(self, xcb_xkb_set_names_values_kt_level_names_end)(r, s)
14687    }
14688
14689    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_kt_level_names_end` could be loaded.
14690    #[cfg(feature = "has_symbol")]
14691    pub fn has_xcb_xkb_set_names_values_kt_level_names_end(&self) -> bool {
14692        has_sym!(self, xcb_xkb_set_names_values_kt_level_names_end)
14693    }
14694
14695    /// Returns a pointer to the `indicatorNames` field of a `xcb_xkb_set_names_values_t` struct.
14696    #[inline]
14697    pub unsafe fn xcb_xkb_set_names_values_indicator_names(
14698        &self,
14699        s: *const xcb_xkb_set_names_values_t,
14700    ) -> *mut xcb_atom_t {
14701        sym!(self, xcb_xkb_set_names_values_indicator_names)(s)
14702    }
14703
14704    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_indicator_names` could be loaded.
14705    #[cfg(feature = "has_symbol")]
14706    pub fn has_xcb_xkb_set_names_values_indicator_names(&self) -> bool {
14707        has_sym!(self, xcb_xkb_set_names_values_indicator_names)
14708    }
14709
14710    /// Returns the number of elements of the `indicatorNames` field of a `xcb_xkb_set_names_values_t` struct.
14711    #[inline]
14712    pub unsafe fn xcb_xkb_set_names_values_indicator_names_length(
14713        &self,
14714        r: *const xcb_xkb_set_names_request_t,
14715        s: *const xcb_xkb_set_names_values_t,
14716    ) -> c_int {
14717        sym!(self, xcb_xkb_set_names_values_indicator_names_length)(r, s)
14718    }
14719
14720    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_indicator_names_length` could be loaded.
14721    #[cfg(feature = "has_symbol")]
14722    pub fn has_xcb_xkb_set_names_values_indicator_names_length(&self) -> bool {
14723        has_sym!(self, xcb_xkb_set_names_values_indicator_names_length)
14724    }
14725
14726    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14727    /// `indicatorNames` field of a `xcb_xkb_set_names_values_t` struct.
14728    #[inline]
14729    pub unsafe fn xcb_xkb_set_names_values_indicator_names_end(
14730        &self,
14731        r: *const xcb_xkb_set_names_request_t,
14732        s: *const xcb_xkb_set_names_values_t,
14733    ) -> xcb_generic_iterator_t {
14734        sym!(self, xcb_xkb_set_names_values_indicator_names_end)(r, s)
14735    }
14736
14737    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_indicator_names_end` could be loaded.
14738    #[cfg(feature = "has_symbol")]
14739    pub fn has_xcb_xkb_set_names_values_indicator_names_end(&self) -> bool {
14740        has_sym!(self, xcb_xkb_set_names_values_indicator_names_end)
14741    }
14742
14743    /// Returns a pointer to the `virtualModNames` field of a `xcb_xkb_set_names_values_t` struct.
14744    #[inline]
14745    pub unsafe fn xcb_xkb_set_names_values_virtual_mod_names(
14746        &self,
14747        s: *const xcb_xkb_set_names_values_t,
14748    ) -> *mut xcb_atom_t {
14749        sym!(self, xcb_xkb_set_names_values_virtual_mod_names)(s)
14750    }
14751
14752    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_virtual_mod_names` could be loaded.
14753    #[cfg(feature = "has_symbol")]
14754    pub fn has_xcb_xkb_set_names_values_virtual_mod_names(&self) -> bool {
14755        has_sym!(self, xcb_xkb_set_names_values_virtual_mod_names)
14756    }
14757
14758    /// Returns the number of elements of the `virtualModNames` field of a `xcb_xkb_set_names_values_t` struct.
14759    #[inline]
14760    pub unsafe fn xcb_xkb_set_names_values_virtual_mod_names_length(
14761        &self,
14762        r: *const xcb_xkb_set_names_request_t,
14763        s: *const xcb_xkb_set_names_values_t,
14764    ) -> c_int {
14765        sym!(self, xcb_xkb_set_names_values_virtual_mod_names_length)(r, s)
14766    }
14767
14768    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_virtual_mod_names_length` could be loaded.
14769    #[cfg(feature = "has_symbol")]
14770    pub fn has_xcb_xkb_set_names_values_virtual_mod_names_length(&self) -> bool {
14771        has_sym!(self, xcb_xkb_set_names_values_virtual_mod_names_length)
14772    }
14773
14774    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14775    /// `virtualModNames` field of a `xcb_xkb_set_names_values_t` struct.
14776    #[inline]
14777    pub unsafe fn xcb_xkb_set_names_values_virtual_mod_names_end(
14778        &self,
14779        r: *const xcb_xkb_set_names_request_t,
14780        s: *const xcb_xkb_set_names_values_t,
14781    ) -> xcb_generic_iterator_t {
14782        sym!(self, xcb_xkb_set_names_values_virtual_mod_names_end)(r, s)
14783    }
14784
14785    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_virtual_mod_names_end` could be loaded.
14786    #[cfg(feature = "has_symbol")]
14787    pub fn has_xcb_xkb_set_names_values_virtual_mod_names_end(&self) -> bool {
14788        has_sym!(self, xcb_xkb_set_names_values_virtual_mod_names_end)
14789    }
14790
14791    /// Returns a pointer to the `groups` field of a `xcb_xkb_set_names_values_t` struct.
14792    #[inline]
14793    pub unsafe fn xcb_xkb_set_names_values_groups(
14794        &self,
14795        s: *const xcb_xkb_set_names_values_t,
14796    ) -> *mut xcb_atom_t {
14797        sym!(self, xcb_xkb_set_names_values_groups)(s)
14798    }
14799
14800    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_groups` could be loaded.
14801    #[cfg(feature = "has_symbol")]
14802    pub fn has_xcb_xkb_set_names_values_groups(&self) -> bool {
14803        has_sym!(self, xcb_xkb_set_names_values_groups)
14804    }
14805
14806    /// Returns the number of elements of the `groups` field of a `xcb_xkb_set_names_values_t` struct.
14807    #[inline]
14808    pub unsafe fn xcb_xkb_set_names_values_groups_length(
14809        &self,
14810        r: *const xcb_xkb_set_names_request_t,
14811        s: *const xcb_xkb_set_names_values_t,
14812    ) -> c_int {
14813        sym!(self, xcb_xkb_set_names_values_groups_length)(r, s)
14814    }
14815
14816    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_groups_length` could be loaded.
14817    #[cfg(feature = "has_symbol")]
14818    pub fn has_xcb_xkb_set_names_values_groups_length(&self) -> bool {
14819        has_sym!(self, xcb_xkb_set_names_values_groups_length)
14820    }
14821
14822    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14823    /// `groups` field of a `xcb_xkb_set_names_values_t` struct.
14824    #[inline]
14825    pub unsafe fn xcb_xkb_set_names_values_groups_end(
14826        &self,
14827        r: *const xcb_xkb_set_names_request_t,
14828        s: *const xcb_xkb_set_names_values_t,
14829    ) -> xcb_generic_iterator_t {
14830        sym!(self, xcb_xkb_set_names_values_groups_end)(r, s)
14831    }
14832
14833    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_groups_end` could be loaded.
14834    #[cfg(feature = "has_symbol")]
14835    pub fn has_xcb_xkb_set_names_values_groups_end(&self) -> bool {
14836        has_sym!(self, xcb_xkb_set_names_values_groups_end)
14837    }
14838
14839    /// Returns a pointer to the `keyNames` field of a `xcb_xkb_set_names_values_t` struct.
14840    #[inline]
14841    pub unsafe fn xcb_xkb_set_names_values_key_names(
14842        &self,
14843        s: *const xcb_xkb_set_names_values_t,
14844    ) -> *mut xcb_xkb_key_name_t {
14845        sym!(self, xcb_xkb_set_names_values_key_names)(s)
14846    }
14847
14848    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_names` could be loaded.
14849    #[cfg(feature = "has_symbol")]
14850    pub fn has_xcb_xkb_set_names_values_key_names(&self) -> bool {
14851        has_sym!(self, xcb_xkb_set_names_values_key_names)
14852    }
14853
14854    /// Returns the number of elements of the `keyNames` field of a `xcb_xkb_set_names_values_t` struct.
14855    #[inline]
14856    pub unsafe fn xcb_xkb_set_names_values_key_names_length(
14857        &self,
14858        r: *const xcb_xkb_set_names_request_t,
14859        s: *const xcb_xkb_set_names_values_t,
14860    ) -> c_int {
14861        sym!(self, xcb_xkb_set_names_values_key_names_length)(r, s)
14862    }
14863
14864    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_names_length` could be loaded.
14865    #[cfg(feature = "has_symbol")]
14866    pub fn has_xcb_xkb_set_names_values_key_names_length(&self) -> bool {
14867        has_sym!(self, xcb_xkb_set_names_values_key_names_length)
14868    }
14869
14870    /// Returns an iterator over the elements of the
14871    /// `keyNames` field of a `xcb_xkb_set_names_values_t` struct.
14872    #[inline]
14873    pub unsafe fn xcb_xkb_set_names_values_key_names_iterator(
14874        &self,
14875        r: *const xcb_xkb_set_names_request_t,
14876        s: *const xcb_xkb_set_names_values_t,
14877    ) -> xcb_xkb_key_name_iterator_t {
14878        sym!(self, xcb_xkb_set_names_values_key_names_iterator)(r, s)
14879    }
14880
14881    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_names_iterator` could be loaded.
14882    #[cfg(feature = "has_symbol")]
14883    pub fn has_xcb_xkb_set_names_values_key_names_iterator(&self) -> bool {
14884        has_sym!(self, xcb_xkb_set_names_values_key_names_iterator)
14885    }
14886
14887    /// Returns a pointer to the `keyAliases` field of a `xcb_xkb_set_names_values_t` struct.
14888    #[inline]
14889    pub unsafe fn xcb_xkb_set_names_values_key_aliases(
14890        &self,
14891        s: *const xcb_xkb_set_names_values_t,
14892    ) -> *mut xcb_xkb_key_alias_t {
14893        sym!(self, xcb_xkb_set_names_values_key_aliases)(s)
14894    }
14895
14896    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_aliases` could be loaded.
14897    #[cfg(feature = "has_symbol")]
14898    pub fn has_xcb_xkb_set_names_values_key_aliases(&self) -> bool {
14899        has_sym!(self, xcb_xkb_set_names_values_key_aliases)
14900    }
14901
14902    /// Returns the number of elements of the `keyAliases` field of a `xcb_xkb_set_names_values_t` struct.
14903    #[inline]
14904    pub unsafe fn xcb_xkb_set_names_values_key_aliases_length(
14905        &self,
14906        r: *const xcb_xkb_set_names_request_t,
14907        s: *const xcb_xkb_set_names_values_t,
14908    ) -> c_int {
14909        sym!(self, xcb_xkb_set_names_values_key_aliases_length)(r, s)
14910    }
14911
14912    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_aliases_length` could be loaded.
14913    #[cfg(feature = "has_symbol")]
14914    pub fn has_xcb_xkb_set_names_values_key_aliases_length(&self) -> bool {
14915        has_sym!(self, xcb_xkb_set_names_values_key_aliases_length)
14916    }
14917
14918    /// Returns an iterator over the elements of the
14919    /// `keyAliases` field of a `xcb_xkb_set_names_values_t` struct.
14920    #[inline]
14921    pub unsafe fn xcb_xkb_set_names_values_key_aliases_iterator(
14922        &self,
14923        r: *const xcb_xkb_set_names_request_t,
14924        s: *const xcb_xkb_set_names_values_t,
14925    ) -> xcb_xkb_key_alias_iterator_t {
14926        sym!(self, xcb_xkb_set_names_values_key_aliases_iterator)(r, s)
14927    }
14928
14929    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_key_aliases_iterator` could be loaded.
14930    #[cfg(feature = "has_symbol")]
14931    pub fn has_xcb_xkb_set_names_values_key_aliases_iterator(&self) -> bool {
14932        has_sym!(self, xcb_xkb_set_names_values_key_aliases_iterator)
14933    }
14934
14935    /// Returns a pointer to the `radioGroupNames` field of a `xcb_xkb_set_names_values_t` struct.
14936    #[inline]
14937    pub unsafe fn xcb_xkb_set_names_values_radio_group_names(
14938        &self,
14939        s: *const xcb_xkb_set_names_values_t,
14940    ) -> *mut xcb_atom_t {
14941        sym!(self, xcb_xkb_set_names_values_radio_group_names)(s)
14942    }
14943
14944    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_radio_group_names` could be loaded.
14945    #[cfg(feature = "has_symbol")]
14946    pub fn has_xcb_xkb_set_names_values_radio_group_names(&self) -> bool {
14947        has_sym!(self, xcb_xkb_set_names_values_radio_group_names)
14948    }
14949
14950    /// Returns the number of elements of the `radioGroupNames` field of a `xcb_xkb_set_names_values_t` struct.
14951    #[inline]
14952    pub unsafe fn xcb_xkb_set_names_values_radio_group_names_length(
14953        &self,
14954        r: *const xcb_xkb_set_names_request_t,
14955        s: *const xcb_xkb_set_names_values_t,
14956    ) -> c_int {
14957        sym!(self, xcb_xkb_set_names_values_radio_group_names_length)(r, s)
14958    }
14959
14960    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_radio_group_names_length` could be loaded.
14961    #[cfg(feature = "has_symbol")]
14962    pub fn has_xcb_xkb_set_names_values_radio_group_names_length(&self) -> bool {
14963        has_sym!(self, xcb_xkb_set_names_values_radio_group_names_length)
14964    }
14965
14966    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
14967    /// `radioGroupNames` field of a `xcb_xkb_set_names_values_t` struct.
14968    #[inline]
14969    pub unsafe fn xcb_xkb_set_names_values_radio_group_names_end(
14970        &self,
14971        r: *const xcb_xkb_set_names_request_t,
14972        s: *const xcb_xkb_set_names_values_t,
14973    ) -> xcb_generic_iterator_t {
14974        sym!(self, xcb_xkb_set_names_values_radio_group_names_end)(r, s)
14975    }
14976
14977    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_radio_group_names_end` could be loaded.
14978    #[cfg(feature = "has_symbol")]
14979    pub fn has_xcb_xkb_set_names_values_radio_group_names_end(&self) -> bool {
14980        has_sym!(self, xcb_xkb_set_names_values_radio_group_names_end)
14981    }
14982
14983    /// Serializes a `xcb_xkb_set_names_values_t` object.
14984    #[inline]
14985    pub unsafe fn xcb_xkb_set_names_values_serialize(
14986        &self,
14987        _buffer: *mut *mut c_void,
14988        nTypes: u8,
14989        indicators: u32,
14990        virtualMods: u16,
14991        groupNames: u8,
14992        nKeys: u8,
14993        nKeyAliases: u8,
14994        nRadioGroups: u8,
14995        which: u32,
14996        _aux: *const xcb_xkb_set_names_values_t,
14997    ) -> c_int {
14998        sym!(self, xcb_xkb_set_names_values_serialize)(
14999            _buffer,
15000            nTypes,
15001            indicators,
15002            virtualMods,
15003            groupNames,
15004            nKeys,
15005            nKeyAliases,
15006            nRadioGroups,
15007            which,
15008            _aux,
15009        )
15010    }
15011
15012    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_serialize` could be loaded.
15013    #[cfg(feature = "has_symbol")]
15014    pub fn has_xcb_xkb_set_names_values_serialize(&self) -> bool {
15015        has_sym!(self, xcb_xkb_set_names_values_serialize)
15016    }
15017
15018    /// Unpacks a `xcb_xkb_set_names_values_t` object.
15019    #[inline]
15020    pub unsafe fn xcb_xkb_set_names_values_unpack(
15021        &self,
15022        _buffer: *const c_void,
15023        nTypes: u8,
15024        indicators: u32,
15025        virtualMods: u16,
15026        groupNames: u8,
15027        nKeys: u8,
15028        nKeyAliases: u8,
15029        nRadioGroups: u8,
15030        which: u32,
15031        _aux: *mut xcb_xkb_set_names_values_t,
15032    ) -> c_int {
15033        sym!(self, xcb_xkb_set_names_values_unpack)(
15034            _buffer,
15035            nTypes,
15036            indicators,
15037            virtualMods,
15038            groupNames,
15039            nKeys,
15040            nKeyAliases,
15041            nRadioGroups,
15042            which,
15043            _aux,
15044        )
15045    }
15046
15047    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_unpack` could be loaded.
15048    #[cfg(feature = "has_symbol")]
15049    pub fn has_xcb_xkb_set_names_values_unpack(&self) -> bool {
15050        has_sym!(self, xcb_xkb_set_names_values_unpack)
15051    }
15052
15053    /// Computes the size of a `xcb_xkb_set_names_values_t` object.
15054    #[inline]
15055    pub unsafe fn xcb_xkb_set_names_values_sizeof(
15056        &self,
15057        _buffer: *const c_void,
15058        nTypes: u8,
15059        indicators: u32,
15060        virtualMods: u16,
15061        groupNames: u8,
15062        nKeys: u8,
15063        nKeyAliases: u8,
15064        nRadioGroups: u8,
15065        which: u32,
15066    ) -> c_int {
15067        sym!(self, xcb_xkb_set_names_values_sizeof)(
15068            _buffer,
15069            nTypes,
15070            indicators,
15071            virtualMods,
15072            groupNames,
15073            nKeys,
15074            nKeyAliases,
15075            nRadioGroups,
15076            which,
15077        )
15078    }
15079
15080    /// Returns `true` iff the symbol `xcb_xkb_set_names_values_sizeof` could be loaded.
15081    #[cfg(feature = "has_symbol")]
15082    pub fn has_xcb_xkb_set_names_values_sizeof(&self) -> bool {
15083        has_sym!(self, xcb_xkb_set_names_values_sizeof)
15084    }
15085
15086    /// Computes the size of a `xcb_xkb_set_names_request_t` object.
15087    #[inline]
15088    pub unsafe fn xcb_xkb_set_names_sizeof(&self, _buffer: *const c_void) -> c_int {
15089        sym!(self, xcb_xkb_set_names_sizeof)(_buffer)
15090    }
15091
15092    /// Returns `true` iff the symbol `xcb_xkb_set_names_sizeof` could be loaded.
15093    #[cfg(feature = "has_symbol")]
15094    pub fn has_xcb_xkb_set_names_sizeof(&self) -> bool {
15095        has_sym!(self, xcb_xkb_set_names_sizeof)
15096    }
15097
15098    /// Sends a `xkb::SetNames` request (checked).
15099    ///
15100    /// This request generates a reply. You must either discard it with
15101    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
15102    ///
15103    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15104    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
15105    ///
15106    /// There is an auxiliary version of this function: [`xcb_xkb_set_names_aux_checked`].
15107    ///
15108    /// [`xcb_xkb_set_names_aux_checked`]: Self::xcb_xkb_set_names_aux_checked
15109    #[inline]
15110    pub unsafe fn xcb_xkb_set_names_checked(
15111        &self,
15112        c: *mut xcb_connection_t,
15113        device_spec: xcb_xkb_device_spec_t,
15114        virtual_mods: u16,
15115        which: u32,
15116        first_type: u8,
15117        n_types: u8,
15118        first_ktlevelt: u8,
15119        n_ktlevels: u8,
15120        indicators: u32,
15121        group_names: u8,
15122        n_radio_groups: u8,
15123        first_key: xcb_keycode_t,
15124        n_keys: u8,
15125        n_key_aliases: u8,
15126        total_ktlevel_names: u16,
15127        values: *const c_void,
15128    ) -> xcb_void_cookie_t {
15129        sym!(self, xcb_xkb_set_names_checked)(
15130            c,
15131            device_spec,
15132            virtual_mods,
15133            which,
15134            first_type,
15135            n_types,
15136            first_ktlevelt,
15137            n_ktlevels,
15138            indicators,
15139            group_names,
15140            n_radio_groups,
15141            first_key,
15142            n_keys,
15143            n_key_aliases,
15144            total_ktlevel_names,
15145            values,
15146        )
15147    }
15148
15149    /// Returns `true` iff the symbol `xcb_xkb_set_names_checked` could be loaded.
15150    #[cfg(feature = "has_symbol")]
15151    pub fn has_xcb_xkb_set_names_checked(&self) -> bool {
15152        has_sym!(self, xcb_xkb_set_names_checked)
15153    }
15154
15155    /// Sends a `xkb::SetNames` request (unchecked).
15156    ///
15157    /// There is an auxiliary version of this function: [`xcb_xkb_set_names_aux`].
15158    ///
15159    /// [`xcb_xkb_set_names_aux`]: Self::xcb_xkb_set_names_aux
15160    #[inline]
15161    pub unsafe fn xcb_xkb_set_names(
15162        &self,
15163        c: *mut xcb_connection_t,
15164        device_spec: xcb_xkb_device_spec_t,
15165        virtual_mods: u16,
15166        which: u32,
15167        first_type: u8,
15168        n_types: u8,
15169        first_ktlevelt: u8,
15170        n_ktlevels: u8,
15171        indicators: u32,
15172        group_names: u8,
15173        n_radio_groups: u8,
15174        first_key: xcb_keycode_t,
15175        n_keys: u8,
15176        n_key_aliases: u8,
15177        total_ktlevel_names: u16,
15178        values: *const c_void,
15179    ) -> xcb_void_cookie_t {
15180        sym!(self, xcb_xkb_set_names)(
15181            c,
15182            device_spec,
15183            virtual_mods,
15184            which,
15185            first_type,
15186            n_types,
15187            first_ktlevelt,
15188            n_ktlevels,
15189            indicators,
15190            group_names,
15191            n_radio_groups,
15192            first_key,
15193            n_keys,
15194            n_key_aliases,
15195            total_ktlevel_names,
15196            values,
15197        )
15198    }
15199
15200    /// Returns `true` iff the symbol `xcb_xkb_set_names` could be loaded.
15201    #[cfg(feature = "has_symbol")]
15202    pub fn has_xcb_xkb_set_names(&self) -> bool {
15203        has_sym!(self, xcb_xkb_set_names)
15204    }
15205
15206    /// Sends a `xkb::SetNames` request (checked) (aux).
15207    ///
15208    /// This request generates a reply. You must either discard it with
15209    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
15210    ///
15211    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15212    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
15213    #[inline]
15214    pub unsafe fn xcb_xkb_set_names_aux_checked(
15215        &self,
15216        c: *mut xcb_connection_t,
15217        device_spec: xcb_xkb_device_spec_t,
15218        virtual_mods: u16,
15219        which: u32,
15220        first_type: u8,
15221        n_types: u8,
15222        first_ktlevelt: u8,
15223        n_ktlevels: u8,
15224        indicators: u32,
15225        group_names: u8,
15226        n_radio_groups: u8,
15227        first_key: xcb_keycode_t,
15228        n_keys: u8,
15229        n_key_aliases: u8,
15230        total_ktlevel_names: u16,
15231        values: *const xcb_xkb_set_names_values_t,
15232    ) -> xcb_void_cookie_t {
15233        sym!(self, xcb_xkb_set_names_aux_checked)(
15234            c,
15235            device_spec,
15236            virtual_mods,
15237            which,
15238            first_type,
15239            n_types,
15240            first_ktlevelt,
15241            n_ktlevels,
15242            indicators,
15243            group_names,
15244            n_radio_groups,
15245            first_key,
15246            n_keys,
15247            n_key_aliases,
15248            total_ktlevel_names,
15249            values,
15250        )
15251    }
15252
15253    /// Returns `true` iff the symbol `xcb_xkb_set_names_aux_checked` could be loaded.
15254    #[cfg(feature = "has_symbol")]
15255    pub fn has_xcb_xkb_set_names_aux_checked(&self) -> bool {
15256        has_sym!(self, xcb_xkb_set_names_aux_checked)
15257    }
15258
15259    /// Sends a `xkb::SetNames` request (unchecked) (aux).
15260    #[inline]
15261    pub unsafe fn xcb_xkb_set_names_aux(
15262        &self,
15263        c: *mut xcb_connection_t,
15264        device_spec: xcb_xkb_device_spec_t,
15265        virtual_mods: u16,
15266        which: u32,
15267        first_type: u8,
15268        n_types: u8,
15269        first_ktlevelt: u8,
15270        n_ktlevels: u8,
15271        indicators: u32,
15272        group_names: u8,
15273        n_radio_groups: u8,
15274        first_key: xcb_keycode_t,
15275        n_keys: u8,
15276        n_key_aliases: u8,
15277        total_ktlevel_names: u16,
15278        values: *const xcb_xkb_set_names_values_t,
15279    ) -> xcb_void_cookie_t {
15280        sym!(self, xcb_xkb_set_names_aux)(
15281            c,
15282            device_spec,
15283            virtual_mods,
15284            which,
15285            first_type,
15286            n_types,
15287            first_ktlevelt,
15288            n_ktlevels,
15289            indicators,
15290            group_names,
15291            n_radio_groups,
15292            first_key,
15293            n_keys,
15294            n_key_aliases,
15295            total_ktlevel_names,
15296            values,
15297        )
15298    }
15299
15300    /// Returns `true` iff the symbol `xcb_xkb_set_names_aux` could be loaded.
15301    #[cfg(feature = "has_symbol")]
15302    pub fn has_xcb_xkb_set_names_aux(&self) -> bool {
15303        has_sym!(self, xcb_xkb_set_names_aux)
15304    }
15305
15306    /// Returns a pointer to the `values` field of a `xcb_xkb_set_names_request_t` struct.
15307    #[inline]
15308    pub unsafe fn xcb_xkb_set_names_values(
15309        &self,
15310        r: *const xcb_xkb_set_names_request_t,
15311    ) -> *mut c_void {
15312        sym!(self, xcb_xkb_set_names_values)(r)
15313    }
15314
15315    /// Returns `true` iff the symbol `xcb_xkb_set_names_values` could be loaded.
15316    #[cfg(feature = "has_symbol")]
15317    pub fn has_xcb_xkb_set_names_values(&self) -> bool {
15318        has_sym!(self, xcb_xkb_set_names_values)
15319    }
15320
15321    /// Sends a `xkb::PerClientFlags` request (checked).
15322    ///
15323    /// This request generates a reply. You must either discard it with
15324    /// [`discard_reply`] or retrieve it with [`xcb_xkb_per_client_flags_reply`].
15325    ///
15326    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15327    /// [`xcb_xkb_per_client_flags_reply`]: Self::xcb_xkb_per_client_flags_reply
15328    #[inline]
15329    pub unsafe fn xcb_xkb_per_client_flags(
15330        &self,
15331        c: *mut xcb_connection_t,
15332        device_spec: xcb_xkb_device_spec_t,
15333        change: u32,
15334        value: u32,
15335        ctrls_to_change: u32,
15336        auto_ctrls: u32,
15337        auto_ctrls_values: u32,
15338    ) -> xcb_xkb_per_client_flags_cookie_t {
15339        sym!(self, xcb_xkb_per_client_flags)(
15340            c,
15341            device_spec,
15342            change,
15343            value,
15344            ctrls_to_change,
15345            auto_ctrls,
15346            auto_ctrls_values,
15347        )
15348    }
15349
15350    /// Returns `true` iff the symbol `xcb_xkb_per_client_flags` could be loaded.
15351    #[cfg(feature = "has_symbol")]
15352    pub fn has_xcb_xkb_per_client_flags(&self) -> bool {
15353        has_sym!(self, xcb_xkb_per_client_flags)
15354    }
15355
15356    /// Sends a `xkb::PerClientFlags` request (unchecked).
15357    ///
15358    /// This request generates a reply. You must either discard it with
15359    /// [`discard_reply`] or retrieve it with [`xcb_xkb_per_client_flags_reply`].
15360    ///
15361    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15362    /// [`xcb_xkb_per_client_flags_reply`]: Self::xcb_xkb_per_client_flags_reply
15363    #[inline]
15364    pub unsafe fn xcb_xkb_per_client_flags_unchecked(
15365        &self,
15366        c: *mut xcb_connection_t,
15367        device_spec: xcb_xkb_device_spec_t,
15368        change: u32,
15369        value: u32,
15370        ctrls_to_change: u32,
15371        auto_ctrls: u32,
15372        auto_ctrls_values: u32,
15373    ) -> xcb_xkb_per_client_flags_cookie_t {
15374        sym!(self, xcb_xkb_per_client_flags_unchecked)(
15375            c,
15376            device_spec,
15377            change,
15378            value,
15379            ctrls_to_change,
15380            auto_ctrls,
15381            auto_ctrls_values,
15382        )
15383    }
15384
15385    /// Returns `true` iff the symbol `xcb_xkb_per_client_flags_unchecked` could be loaded.
15386    #[cfg(feature = "has_symbol")]
15387    pub fn has_xcb_xkb_per_client_flags_unchecked(&self) -> bool {
15388        has_sym!(self, xcb_xkb_per_client_flags_unchecked)
15389    }
15390
15391    /// Waits for the reply to a `xkb::PerClientFlags` request.
15392    #[inline]
15393    pub unsafe fn xcb_xkb_per_client_flags_reply(
15394        &self,
15395        c: *mut xcb_connection_t,
15396        cookie: xcb_xkb_per_client_flags_cookie_t,
15397        e: *mut *mut xcb_generic_error_t,
15398    ) -> *mut xcb_xkb_per_client_flags_reply_t {
15399        sym!(self, xcb_xkb_per_client_flags_reply)(c, cookie, e)
15400    }
15401
15402    /// Returns `true` iff the symbol `xcb_xkb_per_client_flags_reply` could be loaded.
15403    #[cfg(feature = "has_symbol")]
15404    pub fn has_xcb_xkb_per_client_flags_reply(&self) -> bool {
15405        has_sym!(self, xcb_xkb_per_client_flags_reply)
15406    }
15407
15408    /// Computes the size of a `xcb_xkb_list_components_reply_t` object.
15409    #[inline]
15410    pub unsafe fn xcb_xkb_list_components_sizeof(&self, _buffer: *const c_void) -> c_int {
15411        sym!(self, xcb_xkb_list_components_sizeof)(_buffer)
15412    }
15413
15414    /// Returns `true` iff the symbol `xcb_xkb_list_components_sizeof` could be loaded.
15415    #[cfg(feature = "has_symbol")]
15416    pub fn has_xcb_xkb_list_components_sizeof(&self) -> bool {
15417        has_sym!(self, xcb_xkb_list_components_sizeof)
15418    }
15419
15420    /// Sends a `xkb::ListComponents` request (checked).
15421    ///
15422    /// This request generates a reply. You must either discard it with
15423    /// [`discard_reply`] or retrieve it with [`xcb_xkb_list_components_reply`].
15424    ///
15425    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15426    /// [`xcb_xkb_list_components_reply`]: Self::xcb_xkb_list_components_reply
15427    #[inline]
15428    pub unsafe fn xcb_xkb_list_components(
15429        &self,
15430        c: *mut xcb_connection_t,
15431        device_spec: xcb_xkb_device_spec_t,
15432        max_names: u16,
15433    ) -> xcb_xkb_list_components_cookie_t {
15434        sym!(self, xcb_xkb_list_components)(c, device_spec, max_names)
15435    }
15436
15437    /// Returns `true` iff the symbol `xcb_xkb_list_components` could be loaded.
15438    #[cfg(feature = "has_symbol")]
15439    pub fn has_xcb_xkb_list_components(&self) -> bool {
15440        has_sym!(self, xcb_xkb_list_components)
15441    }
15442
15443    /// Sends a `xkb::ListComponents` request (unchecked).
15444    ///
15445    /// This request generates a reply. You must either discard it with
15446    /// [`discard_reply`] or retrieve it with [`xcb_xkb_list_components_reply`].
15447    ///
15448    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
15449    /// [`xcb_xkb_list_components_reply`]: Self::xcb_xkb_list_components_reply
15450    #[inline]
15451    pub unsafe fn xcb_xkb_list_components_unchecked(
15452        &self,
15453        c: *mut xcb_connection_t,
15454        device_spec: xcb_xkb_device_spec_t,
15455        max_names: u16,
15456    ) -> xcb_xkb_list_components_cookie_t {
15457        sym!(self, xcb_xkb_list_components_unchecked)(c, device_spec, max_names)
15458    }
15459
15460    /// Returns `true` iff the symbol `xcb_xkb_list_components_unchecked` could be loaded.
15461    #[cfg(feature = "has_symbol")]
15462    pub fn has_xcb_xkb_list_components_unchecked(&self) -> bool {
15463        has_sym!(self, xcb_xkb_list_components_unchecked)
15464    }
15465
15466    /// Returns the number of elements of the `keymaps` field of a `xcb_xkb_list_components_reply_t` struct.
15467    #[inline]
15468    pub unsafe fn xcb_xkb_list_components_keymaps_length(
15469        &self,
15470        r: *const xcb_xkb_list_components_reply_t,
15471    ) -> c_int {
15472        sym!(self, xcb_xkb_list_components_keymaps_length)(r)
15473    }
15474
15475    /// Returns `true` iff the symbol `xcb_xkb_list_components_keymaps_length` could be loaded.
15476    #[cfg(feature = "has_symbol")]
15477    pub fn has_xcb_xkb_list_components_keymaps_length(&self) -> bool {
15478        has_sym!(self, xcb_xkb_list_components_keymaps_length)
15479    }
15480
15481    /// Returns an iterator over the elements of the
15482    /// `keymaps` field of a `xcb_xkb_list_components_reply_t` struct.
15483    #[inline]
15484    pub unsafe fn xcb_xkb_list_components_keymaps_iterator(
15485        &self,
15486        r: *const xcb_xkb_list_components_reply_t,
15487    ) -> xcb_xkb_listing_iterator_t {
15488        sym!(self, xcb_xkb_list_components_keymaps_iterator)(r)
15489    }
15490
15491    /// Returns `true` iff the symbol `xcb_xkb_list_components_keymaps_iterator` could be loaded.
15492    #[cfg(feature = "has_symbol")]
15493    pub fn has_xcb_xkb_list_components_keymaps_iterator(&self) -> bool {
15494        has_sym!(self, xcb_xkb_list_components_keymaps_iterator)
15495    }
15496
15497    /// Returns the number of elements of the `keycodes` field of a `xcb_xkb_list_components_reply_t` struct.
15498    #[inline]
15499    pub unsafe fn xcb_xkb_list_components_keycodes_length(
15500        &self,
15501        r: *const xcb_xkb_list_components_reply_t,
15502    ) -> c_int {
15503        sym!(self, xcb_xkb_list_components_keycodes_length)(r)
15504    }
15505
15506    /// Returns `true` iff the symbol `xcb_xkb_list_components_keycodes_length` could be loaded.
15507    #[cfg(feature = "has_symbol")]
15508    pub fn has_xcb_xkb_list_components_keycodes_length(&self) -> bool {
15509        has_sym!(self, xcb_xkb_list_components_keycodes_length)
15510    }
15511
15512    /// Returns an iterator over the elements of the
15513    /// `keycodes` field of a `xcb_xkb_list_components_reply_t` struct.
15514    #[inline]
15515    pub unsafe fn xcb_xkb_list_components_keycodes_iterator(
15516        &self,
15517        r: *const xcb_xkb_list_components_reply_t,
15518    ) -> xcb_xkb_listing_iterator_t {
15519        sym!(self, xcb_xkb_list_components_keycodes_iterator)(r)
15520    }
15521
15522    /// Returns `true` iff the symbol `xcb_xkb_list_components_keycodes_iterator` could be loaded.
15523    #[cfg(feature = "has_symbol")]
15524    pub fn has_xcb_xkb_list_components_keycodes_iterator(&self) -> bool {
15525        has_sym!(self, xcb_xkb_list_components_keycodes_iterator)
15526    }
15527
15528    /// Returns the number of elements of the `types` field of a `xcb_xkb_list_components_reply_t` struct.
15529    #[inline]
15530    pub unsafe fn xcb_xkb_list_components_types_length(
15531        &self,
15532        r: *const xcb_xkb_list_components_reply_t,
15533    ) -> c_int {
15534        sym!(self, xcb_xkb_list_components_types_length)(r)
15535    }
15536
15537    /// Returns `true` iff the symbol `xcb_xkb_list_components_types_length` could be loaded.
15538    #[cfg(feature = "has_symbol")]
15539    pub fn has_xcb_xkb_list_components_types_length(&self) -> bool {
15540        has_sym!(self, xcb_xkb_list_components_types_length)
15541    }
15542
15543    /// Returns an iterator over the elements of the
15544    /// `types` field of a `xcb_xkb_list_components_reply_t` struct.
15545    #[inline]
15546    pub unsafe fn xcb_xkb_list_components_types_iterator(
15547        &self,
15548        r: *const xcb_xkb_list_components_reply_t,
15549    ) -> xcb_xkb_listing_iterator_t {
15550        sym!(self, xcb_xkb_list_components_types_iterator)(r)
15551    }
15552
15553    /// Returns `true` iff the symbol `xcb_xkb_list_components_types_iterator` could be loaded.
15554    #[cfg(feature = "has_symbol")]
15555    pub fn has_xcb_xkb_list_components_types_iterator(&self) -> bool {
15556        has_sym!(self, xcb_xkb_list_components_types_iterator)
15557    }
15558
15559    /// Returns the number of elements of the `compatMaps` field of a `xcb_xkb_list_components_reply_t` struct.
15560    #[inline]
15561    pub unsafe fn xcb_xkb_list_components_compat_maps_length(
15562        &self,
15563        r: *const xcb_xkb_list_components_reply_t,
15564    ) -> c_int {
15565        sym!(self, xcb_xkb_list_components_compat_maps_length)(r)
15566    }
15567
15568    /// Returns `true` iff the symbol `xcb_xkb_list_components_compat_maps_length` could be loaded.
15569    #[cfg(feature = "has_symbol")]
15570    pub fn has_xcb_xkb_list_components_compat_maps_length(&self) -> bool {
15571        has_sym!(self, xcb_xkb_list_components_compat_maps_length)
15572    }
15573
15574    /// Returns an iterator over the elements of the
15575    /// `compatMaps` field of a `xcb_xkb_list_components_reply_t` struct.
15576    #[inline]
15577    pub unsafe fn xcb_xkb_list_components_compat_maps_iterator(
15578        &self,
15579        r: *const xcb_xkb_list_components_reply_t,
15580    ) -> xcb_xkb_listing_iterator_t {
15581        sym!(self, xcb_xkb_list_components_compat_maps_iterator)(r)
15582    }
15583
15584    /// Returns `true` iff the symbol `xcb_xkb_list_components_compat_maps_iterator` could be loaded.
15585    #[cfg(feature = "has_symbol")]
15586    pub fn has_xcb_xkb_list_components_compat_maps_iterator(&self) -> bool {
15587        has_sym!(self, xcb_xkb_list_components_compat_maps_iterator)
15588    }
15589
15590    /// Returns the number of elements of the `symbols` field of a `xcb_xkb_list_components_reply_t` struct.
15591    #[inline]
15592    pub unsafe fn xcb_xkb_list_components_symbols_length(
15593        &self,
15594        r: *const xcb_xkb_list_components_reply_t,
15595    ) -> c_int {
15596        sym!(self, xcb_xkb_list_components_symbols_length)(r)
15597    }
15598
15599    /// Returns `true` iff the symbol `xcb_xkb_list_components_symbols_length` could be loaded.
15600    #[cfg(feature = "has_symbol")]
15601    pub fn has_xcb_xkb_list_components_symbols_length(&self) -> bool {
15602        has_sym!(self, xcb_xkb_list_components_symbols_length)
15603    }
15604
15605    /// Returns an iterator over the elements of the
15606    /// `symbols` field of a `xcb_xkb_list_components_reply_t` struct.
15607    #[inline]
15608    pub unsafe fn xcb_xkb_list_components_symbols_iterator(
15609        &self,
15610        r: *const xcb_xkb_list_components_reply_t,
15611    ) -> xcb_xkb_listing_iterator_t {
15612        sym!(self, xcb_xkb_list_components_symbols_iterator)(r)
15613    }
15614
15615    /// Returns `true` iff the symbol `xcb_xkb_list_components_symbols_iterator` could be loaded.
15616    #[cfg(feature = "has_symbol")]
15617    pub fn has_xcb_xkb_list_components_symbols_iterator(&self) -> bool {
15618        has_sym!(self, xcb_xkb_list_components_symbols_iterator)
15619    }
15620
15621    /// Returns the number of elements of the `geometries` field of a `xcb_xkb_list_components_reply_t` struct.
15622    #[inline]
15623    pub unsafe fn xcb_xkb_list_components_geometries_length(
15624        &self,
15625        r: *const xcb_xkb_list_components_reply_t,
15626    ) -> c_int {
15627        sym!(self, xcb_xkb_list_components_geometries_length)(r)
15628    }
15629
15630    /// Returns `true` iff the symbol `xcb_xkb_list_components_geometries_length` could be loaded.
15631    #[cfg(feature = "has_symbol")]
15632    pub fn has_xcb_xkb_list_components_geometries_length(&self) -> bool {
15633        has_sym!(self, xcb_xkb_list_components_geometries_length)
15634    }
15635
15636    /// Returns an iterator over the elements of the
15637    /// `geometries` field of a `xcb_xkb_list_components_reply_t` struct.
15638    #[inline]
15639    pub unsafe fn xcb_xkb_list_components_geometries_iterator(
15640        &self,
15641        r: *const xcb_xkb_list_components_reply_t,
15642    ) -> xcb_xkb_listing_iterator_t {
15643        sym!(self, xcb_xkb_list_components_geometries_iterator)(r)
15644    }
15645
15646    /// Returns `true` iff the symbol `xcb_xkb_list_components_geometries_iterator` could be loaded.
15647    #[cfg(feature = "has_symbol")]
15648    pub fn has_xcb_xkb_list_components_geometries_iterator(&self) -> bool {
15649        has_sym!(self, xcb_xkb_list_components_geometries_iterator)
15650    }
15651
15652    /// Waits for the reply to a `xkb::ListComponents` request.
15653    #[inline]
15654    pub unsafe fn xcb_xkb_list_components_reply(
15655        &self,
15656        c: *mut xcb_connection_t,
15657        cookie: xcb_xkb_list_components_cookie_t,
15658        e: *mut *mut xcb_generic_error_t,
15659    ) -> *mut xcb_xkb_list_components_reply_t {
15660        sym!(self, xcb_xkb_list_components_reply)(c, cookie, e)
15661    }
15662
15663    /// Returns `true` iff the symbol `xcb_xkb_list_components_reply` could be loaded.
15664    #[cfg(feature = "has_symbol")]
15665    pub fn has_xcb_xkb_list_components_reply(&self) -> bool {
15666        has_sym!(self, xcb_xkb_list_components_reply)
15667    }
15668
15669    /// Returns the number of elements of the `types_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15670    #[inline]
15671    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length(
15672        &self,
15673        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15674        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15675    ) -> c_int {
15676        sym!(
15677            self,
15678            xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length
15679        )(r, s)
15680    }
15681
15682    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length` could be loaded.
15683    #[cfg(feature = "has_symbol")]
15684    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length(&self) -> bool {
15685        has_sym!(
15686            self,
15687            xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length
15688        )
15689    }
15690
15691    /// Returns an iterator over the elements of the
15692    /// `types_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15693    #[inline]
15694    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator(
15695        &self,
15696        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15697        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15698    ) -> xcb_xkb_key_type_iterator_t {
15699        sym!(
15700            self,
15701            xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator
15702        )(r, s)
15703    }
15704
15705    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator` could be loaded.
15706    #[cfg(feature = "has_symbol")]
15707    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator(&self) -> bool {
15708        has_sym!(
15709            self,
15710            xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator
15711        )
15712    }
15713
15714    /// Returns the number of elements of the `syms_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15715    #[inline]
15716    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length(
15717        &self,
15718        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15719        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15720    ) -> c_int {
15721        sym!(
15722            self,
15723            xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length
15724        )(r, s)
15725    }
15726
15727    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length` could be loaded.
15728    #[cfg(feature = "has_symbol")]
15729    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length(&self) -> bool {
15730        has_sym!(
15731            self,
15732            xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length
15733        )
15734    }
15735
15736    /// Returns an iterator over the elements of the
15737    /// `syms_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15738    #[inline]
15739    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator(
15740        &self,
15741        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15742        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15743    ) -> xcb_xkb_key_sym_map_iterator_t {
15744        sym!(
15745            self,
15746            xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator
15747        )(r, s)
15748    }
15749
15750    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator` could be loaded.
15751    #[cfg(feature = "has_symbol")]
15752    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator(&self) -> bool {
15753        has_sym!(
15754            self,
15755            xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator
15756        )
15757    }
15758
15759    /// Returns a pointer to the `acts_rtrn_count` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15760    #[inline]
15761    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count(
15762        &self,
15763        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15764    ) -> *mut u8 {
15765        sym!(
15766            self,
15767            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count
15768        )(s)
15769    }
15770
15771    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count` could be loaded.
15772    #[cfg(feature = "has_symbol")]
15773    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count(&self) -> bool {
15774        has_sym!(
15775            self,
15776            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count
15777        )
15778    }
15779
15780    /// Returns the number of elements of the `acts_rtrn_count` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15781    #[inline]
15782    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length(
15783        &self,
15784        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15785        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15786    ) -> c_int {
15787        sym!(
15788            self,
15789            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length
15790        )(r, s)
15791    }
15792
15793    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length` could be loaded.
15794    #[cfg(feature = "has_symbol")]
15795    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length(&self) -> bool {
15796        has_sym!(
15797            self,
15798            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length
15799        )
15800    }
15801
15802    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
15803    /// `acts_rtrn_count` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15804    #[inline]
15805    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end(
15806        &self,
15807        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15808        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15809    ) -> xcb_generic_iterator_t {
15810        sym!(
15811            self,
15812            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end
15813        )(r, s)
15814    }
15815
15816    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end` could be loaded.
15817    #[cfg(feature = "has_symbol")]
15818    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end(&self) -> bool {
15819        has_sym!(
15820            self,
15821            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end
15822        )
15823    }
15824
15825    /// Returns a pointer to the `acts_rtrn_acts` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15826    #[inline]
15827    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts(
15828        &self,
15829        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15830    ) -> *mut xcb_xkb_action_t {
15831        sym!(
15832            self,
15833            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts
15834        )(s)
15835    }
15836
15837    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts` could be loaded.
15838    #[cfg(feature = "has_symbol")]
15839    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts(&self) -> bool {
15840        has_sym!(
15841            self,
15842            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts
15843        )
15844    }
15845
15846    /// Returns the number of elements of the `acts_rtrn_acts` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15847    #[inline]
15848    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length(
15849        &self,
15850        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15851        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15852    ) -> c_int {
15853        sym!(
15854            self,
15855            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length
15856        )(r, s)
15857    }
15858
15859    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length` could be loaded.
15860    #[cfg(feature = "has_symbol")]
15861    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length(&self) -> bool {
15862        has_sym!(
15863            self,
15864            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length
15865        )
15866    }
15867
15868    /// Returns an iterator over the elements of the
15869    /// `acts_rtrn_acts` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15870    #[inline]
15871    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator(
15872        &self,
15873        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15874        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15875    ) -> xcb_xkb_action_iterator_t {
15876        sym!(
15877            self,
15878            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator
15879        )(r, s)
15880    }
15881
15882    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator` could be loaded.
15883    #[cfg(feature = "has_symbol")]
15884    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator(&self) -> bool {
15885        has_sym!(
15886            self,
15887            xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator
15888        )
15889    }
15890
15891    /// Returns a pointer to the `behaviors_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15892    #[inline]
15893    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn(
15894        &self,
15895        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15896    ) -> *mut xcb_xkb_set_behavior_t {
15897        sym!(
15898            self,
15899            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn
15900        )(s)
15901    }
15902
15903    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn` could be loaded.
15904    #[cfg(feature = "has_symbol")]
15905    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn(&self) -> bool {
15906        has_sym!(
15907            self,
15908            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn
15909        )
15910    }
15911
15912    /// Returns the number of elements of the `behaviors_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15913    #[inline]
15914    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length(
15915        &self,
15916        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15917        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15918    ) -> c_int {
15919        sym!(
15920            self,
15921            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length
15922        )(r, s)
15923    }
15924
15925    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length` could be loaded.
15926    #[cfg(feature = "has_symbol")]
15927    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length(&self) -> bool {
15928        has_sym!(
15929            self,
15930            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length
15931        )
15932    }
15933
15934    /// Returns an iterator over the elements of the
15935    /// `behaviors_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15936    #[inline]
15937    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator(
15938        &self,
15939        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15940        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15941    ) -> xcb_xkb_set_behavior_iterator_t {
15942        sym!(
15943            self,
15944            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator
15945        )(r, s)
15946    }
15947
15948    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator` could be loaded.
15949    #[cfg(feature = "has_symbol")]
15950    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator(&self) -> bool {
15951        has_sym!(
15952            self,
15953            xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator
15954        )
15955    }
15956
15957    /// Returns a pointer to the `vmods_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15958    #[inline]
15959    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn(
15960        &self,
15961        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15962    ) -> *mut u8 {
15963        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn)(s)
15964    }
15965
15966    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn` could be loaded.
15967    #[cfg(feature = "has_symbol")]
15968    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn(&self) -> bool {
15969        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn)
15970    }
15971
15972    /// Returns the number of elements of the `vmods_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15973    #[inline]
15974    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length(
15975        &self,
15976        r: *const xcb_xkb_get_kbd_by_name_reply_t,
15977        s: *const xcb_xkb_get_kbd_by_name_replies_t,
15978    ) -> c_int {
15979        sym!(
15980            self,
15981            xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length
15982        )(r, s)
15983    }
15984
15985    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length` could be loaded.
15986    #[cfg(feature = "has_symbol")]
15987    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length(&self) -> bool {
15988        has_sym!(
15989            self,
15990            xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length
15991        )
15992    }
15993
15994    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
15995    /// `vmods_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
15996    #[inline]
15997    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end(
15998        &self,
15999        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16000        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16001    ) -> xcb_generic_iterator_t {
16002        sym!(
16003            self,
16004            xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end
16005        )(r, s)
16006    }
16007
16008    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end` could be loaded.
16009    #[cfg(feature = "has_symbol")]
16010    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end(&self) -> bool {
16011        has_sym!(
16012            self,
16013            xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end
16014        )
16015    }
16016
16017    /// Returns a pointer to the `explicit_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16018    #[inline]
16019    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn(
16020        &self,
16021        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16022    ) -> *mut xcb_xkb_set_explicit_t {
16023        sym!(
16024            self,
16025            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn
16026        )(s)
16027    }
16028
16029    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn` could be loaded.
16030    #[cfg(feature = "has_symbol")]
16031    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn(&self) -> bool {
16032        has_sym!(
16033            self,
16034            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn
16035        )
16036    }
16037
16038    /// Returns the number of elements of the `explicit_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16039    #[inline]
16040    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length(
16041        &self,
16042        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16043        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16044    ) -> c_int {
16045        sym!(
16046            self,
16047            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length
16048        )(r, s)
16049    }
16050
16051    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length` could be loaded.
16052    #[cfg(feature = "has_symbol")]
16053    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length(&self) -> bool {
16054        has_sym!(
16055            self,
16056            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length
16057        )
16058    }
16059
16060    /// Returns an iterator over the elements of the
16061    /// `explicit_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16062    #[inline]
16063    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator(
16064        &self,
16065        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16066        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16067    ) -> xcb_xkb_set_explicit_iterator_t {
16068        sym!(
16069            self,
16070            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator
16071        )(r, s)
16072    }
16073
16074    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator` could be loaded.
16075    #[cfg(feature = "has_symbol")]
16076    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator(&self) -> bool {
16077        has_sym!(
16078            self,
16079            xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator
16080        )
16081    }
16082
16083    /// Returns a pointer to the `modmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16084    #[inline]
16085    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn(
16086        &self,
16087        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16088    ) -> *mut xcb_xkb_key_mod_map_t {
16089        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn)(s)
16090    }
16091
16092    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn` could be loaded.
16093    #[cfg(feature = "has_symbol")]
16094    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn(&self) -> bool {
16095        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn)
16096    }
16097
16098    /// Returns the number of elements of the `modmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16099    #[inline]
16100    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length(
16101        &self,
16102        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16103        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16104    ) -> c_int {
16105        sym!(
16106            self,
16107            xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length
16108        )(r, s)
16109    }
16110
16111    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length` could be loaded.
16112    #[cfg(feature = "has_symbol")]
16113    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length(&self) -> bool {
16114        has_sym!(
16115            self,
16116            xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length
16117        )
16118    }
16119
16120    /// Returns an iterator over the elements of the
16121    /// `modmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16122    #[inline]
16123    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator(
16124        &self,
16125        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16126        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16127    ) -> xcb_xkb_key_mod_map_iterator_t {
16128        sym!(
16129            self,
16130            xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator
16131        )(r, s)
16132    }
16133
16134    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator` could be loaded.
16135    #[cfg(feature = "has_symbol")]
16136    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator(&self) -> bool {
16137        has_sym!(
16138            self,
16139            xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator
16140        )
16141    }
16142
16143    /// Returns a pointer to the `vmodmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16144    #[inline]
16145    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn(
16146        &self,
16147        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16148    ) -> *mut xcb_xkb_key_v_mod_map_t {
16149        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn)(s)
16150    }
16151
16152    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn` could be loaded.
16153    #[cfg(feature = "has_symbol")]
16154    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn(&self) -> bool {
16155        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn)
16156    }
16157
16158    /// Returns the number of elements of the `vmodmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16159    #[inline]
16160    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length(
16161        &self,
16162        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16163        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16164    ) -> c_int {
16165        sym!(
16166            self,
16167            xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length
16168        )(r, s)
16169    }
16170
16171    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length` could be loaded.
16172    #[cfg(feature = "has_symbol")]
16173    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length(&self) -> bool {
16174        has_sym!(
16175            self,
16176            xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length
16177        )
16178    }
16179
16180    /// Returns an iterator over the elements of the
16181    /// `vmodmap_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` struct.
16182    #[inline]
16183    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator(
16184        &self,
16185        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16186        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16187    ) -> xcb_xkb_key_v_mod_map_iterator_t {
16188        sym!(
16189            self,
16190            xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator
16191        )(r, s)
16192    }
16193
16194    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator` could be loaded.
16195    #[cfg(feature = "has_symbol")]
16196    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator(&self) -> bool {
16197        has_sym!(
16198            self,
16199            xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator
16200        )
16201    }
16202
16203    /// Serializes a `xcb_xkb_get_kbd_by_name_replies_types_map_t` object.
16204    #[inline]
16205    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_serialize(
16206        &self,
16207        _buffer: *mut *mut c_void,
16208        nTypes: u8,
16209        nKeySyms: u8,
16210        nKeyActions: u8,
16211        totalActions: u16,
16212        totalKeyBehaviors: u8,
16213        virtualMods: u16,
16214        totalKeyExplicit: u8,
16215        totalModMapKeys: u8,
16216        totalVModMapKeys: u8,
16217        present: u16,
16218        _aux: *const xcb_xkb_get_kbd_by_name_replies_types_map_t,
16219    ) -> c_int {
16220        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_serialize)(
16221            _buffer,
16222            nTypes,
16223            nKeySyms,
16224            nKeyActions,
16225            totalActions,
16226            totalKeyBehaviors,
16227            virtualMods,
16228            totalKeyExplicit,
16229            totalModMapKeys,
16230            totalVModMapKeys,
16231            present,
16232            _aux,
16233        )
16234    }
16235
16236    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_serialize` could be loaded.
16237    #[cfg(feature = "has_symbol")]
16238    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_serialize(&self) -> bool {
16239        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_serialize)
16240    }
16241
16242    /// Unpacks a `xcb_xkb_get_kbd_by_name_replies_types_map_t` object.
16243    #[inline]
16244    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_unpack(
16245        &self,
16246        _buffer: *const c_void,
16247        nTypes: u8,
16248        nKeySyms: u8,
16249        nKeyActions: u8,
16250        totalActions: u16,
16251        totalKeyBehaviors: u8,
16252        virtualMods: u16,
16253        totalKeyExplicit: u8,
16254        totalModMapKeys: u8,
16255        totalVModMapKeys: u8,
16256        present: u16,
16257        _aux: *mut xcb_xkb_get_kbd_by_name_replies_types_map_t,
16258    ) -> c_int {
16259        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_unpack)(
16260            _buffer,
16261            nTypes,
16262            nKeySyms,
16263            nKeyActions,
16264            totalActions,
16265            totalKeyBehaviors,
16266            virtualMods,
16267            totalKeyExplicit,
16268            totalModMapKeys,
16269            totalVModMapKeys,
16270            present,
16271            _aux,
16272        )
16273    }
16274
16275    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_unpack` could be loaded.
16276    #[cfg(feature = "has_symbol")]
16277    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_unpack(&self) -> bool {
16278        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_unpack)
16279    }
16280
16281    /// Computes the size of a `xcb_xkb_get_kbd_by_name_replies_types_map_t` object.
16282    #[inline]
16283    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map_sizeof(
16284        &self,
16285        _buffer: *const c_void,
16286        nTypes: u8,
16287        nKeySyms: u8,
16288        nKeyActions: u8,
16289        totalActions: u16,
16290        totalKeyBehaviors: u8,
16291        virtualMods: u16,
16292        totalKeyExplicit: u8,
16293        totalModMapKeys: u8,
16294        totalVModMapKeys: u8,
16295        present: u16,
16296    ) -> c_int {
16297        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_sizeof)(
16298            _buffer,
16299            nTypes,
16300            nKeySyms,
16301            nKeyActions,
16302            totalActions,
16303            totalKeyBehaviors,
16304            virtualMods,
16305            totalKeyExplicit,
16306            totalModMapKeys,
16307            totalVModMapKeys,
16308            present,
16309        )
16310    }
16311
16312    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map_sizeof` could be loaded.
16313    #[cfg(feature = "has_symbol")]
16314    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map_sizeof(&self) -> bool {
16315        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map_sizeof)
16316    }
16317
16318    /// Returns a pointer to the `typeNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16319    #[inline]
16320    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names(
16321        &self,
16322        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16323    ) -> *mut xcb_atom_t {
16324        sym!(
16325            self,
16326            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names
16327        )(s)
16328    }
16329
16330    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names` could be loaded.
16331    #[cfg(feature = "has_symbol")]
16332    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names(&self) -> bool {
16333        has_sym!(
16334            self,
16335            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names
16336        )
16337    }
16338
16339    /// Returns the number of elements of the `typeNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16340    #[inline]
16341    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length(
16342        &self,
16343        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16344        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16345    ) -> c_int {
16346        sym!(
16347            self,
16348            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length
16349        )(r, s)
16350    }
16351
16352    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length` could be loaded.
16353    #[cfg(feature = "has_symbol")]
16354    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length(
16355        &self,
16356    ) -> bool {
16357        has_sym!(
16358            self,
16359            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length
16360        )
16361    }
16362
16363    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16364    /// `typeNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16365    #[inline]
16366    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end(
16367        &self,
16368        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16369        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16370    ) -> xcb_generic_iterator_t {
16371        sym!(
16372            self,
16373            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end
16374        )(r, s)
16375    }
16376
16377    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end` could be loaded.
16378    #[cfg(feature = "has_symbol")]
16379    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end(&self) -> bool {
16380        has_sym!(
16381            self,
16382            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end
16383        )
16384    }
16385
16386    /// Returns a pointer to the `nLevelsPerType` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16387    #[inline]
16388    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type(
16389        &self,
16390        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16391    ) -> *mut u8 {
16392        sym!(
16393            self,
16394            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type
16395        )(s)
16396    }
16397
16398    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type` could be loaded.
16399    #[cfg(feature = "has_symbol")]
16400    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type(
16401        &self,
16402    ) -> bool {
16403        has_sym!(
16404            self,
16405            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type
16406        )
16407    }
16408
16409    /// Returns the number of elements of the `nLevelsPerType` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16410    #[inline]
16411    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length(
16412        &self,
16413        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16414        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16415    ) -> c_int {
16416        sym!(
16417            self,
16418            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length
16419        )(r, s)
16420    }
16421
16422    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length` could be loaded.
16423    #[cfg(feature = "has_symbol")]
16424    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length(
16425        &self,
16426    ) -> bool {
16427        has_sym!(
16428            self,
16429            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length
16430        )
16431    }
16432
16433    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16434    /// `nLevelsPerType` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16435    #[inline]
16436    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end(
16437        &self,
16438        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16439        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16440    ) -> xcb_generic_iterator_t {
16441        sym!(
16442            self,
16443            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end
16444        )(r, s)
16445    }
16446
16447    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end` could be loaded.
16448    #[cfg(feature = "has_symbol")]
16449    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end(
16450        &self,
16451    ) -> bool {
16452        has_sym!(
16453            self,
16454            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end
16455        )
16456    }
16457
16458    /// Returns a pointer to the `ktLevelNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16459    #[inline]
16460    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names(
16461        &self,
16462        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16463    ) -> *mut xcb_atom_t {
16464        sym!(
16465            self,
16466            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names
16467        )(s)
16468    }
16469
16470    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names` could be loaded.
16471    #[cfg(feature = "has_symbol")]
16472    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names(&self) -> bool {
16473        has_sym!(
16474            self,
16475            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names
16476        )
16477    }
16478
16479    /// Returns the number of elements of the `ktLevelNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16480    #[inline]
16481    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length(
16482        &self,
16483        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16484        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16485    ) -> c_int {
16486        sym!(
16487            self,
16488            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length
16489        )(r, s)
16490    }
16491
16492    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length` could be loaded.
16493    #[cfg(feature = "has_symbol")]
16494    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length(
16495        &self,
16496    ) -> bool {
16497        has_sym!(
16498            self,
16499            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length
16500        )
16501    }
16502
16503    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16504    /// `ktLevelNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16505    #[inline]
16506    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end(
16507        &self,
16508        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16509        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16510    ) -> xcb_generic_iterator_t {
16511        sym!(
16512            self,
16513            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end
16514        )(r, s)
16515    }
16516
16517    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end` could be loaded.
16518    #[cfg(feature = "has_symbol")]
16519    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end(
16520        &self,
16521    ) -> bool {
16522        has_sym!(
16523            self,
16524            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end
16525        )
16526    }
16527
16528    /// Returns a pointer to the `indicatorNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16529    #[inline]
16530    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names(
16531        &self,
16532        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16533    ) -> *mut xcb_atom_t {
16534        sym!(
16535            self,
16536            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names
16537        )(s)
16538    }
16539
16540    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names` could be loaded.
16541    #[cfg(feature = "has_symbol")]
16542    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names(&self) -> bool {
16543        has_sym!(
16544            self,
16545            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names
16546        )
16547    }
16548
16549    /// Returns the number of elements of the `indicatorNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16550    #[inline]
16551    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length(
16552        &self,
16553        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16554        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16555    ) -> c_int {
16556        sym!(
16557            self,
16558            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length
16559        )(r, s)
16560    }
16561
16562    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length` could be loaded.
16563    #[cfg(feature = "has_symbol")]
16564    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length(
16565        &self,
16566    ) -> bool {
16567        has_sym!(
16568            self,
16569            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length
16570        )
16571    }
16572
16573    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16574    /// `indicatorNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16575    #[inline]
16576    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end(
16577        &self,
16578        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16579        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16580    ) -> xcb_generic_iterator_t {
16581        sym!(
16582            self,
16583            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end
16584        )(r, s)
16585    }
16586
16587    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end` could be loaded.
16588    #[cfg(feature = "has_symbol")]
16589    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end(
16590        &self,
16591    ) -> bool {
16592        has_sym!(
16593            self,
16594            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end
16595        )
16596    }
16597
16598    /// Returns a pointer to the `virtualModNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16599    #[inline]
16600    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names(
16601        &self,
16602        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16603    ) -> *mut xcb_atom_t {
16604        sym!(
16605            self,
16606            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names
16607        )(s)
16608    }
16609
16610    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names` could be loaded.
16611    #[cfg(feature = "has_symbol")]
16612    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names(
16613        &self,
16614    ) -> bool {
16615        has_sym!(
16616            self,
16617            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names
16618        )
16619    }
16620
16621    /// Returns the number of elements of the `virtualModNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16622    #[inline]
16623    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length(
16624        &self,
16625        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16626        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16627    ) -> c_int {
16628        sym!(
16629            self,
16630            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length
16631        )(r, s)
16632    }
16633
16634    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length` could be loaded.
16635    #[cfg(feature = "has_symbol")]
16636    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length(
16637        &self,
16638    ) -> bool {
16639        has_sym!(
16640            self,
16641            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length
16642        )
16643    }
16644
16645    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16646    /// `virtualModNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16647    #[inline]
16648    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end(
16649        &self,
16650        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16651        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16652    ) -> xcb_generic_iterator_t {
16653        sym!(
16654            self,
16655            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end
16656        )(r, s)
16657    }
16658
16659    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end` could be loaded.
16660    #[cfg(feature = "has_symbol")]
16661    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end(
16662        &self,
16663    ) -> bool {
16664        has_sym!(
16665            self,
16666            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end
16667        )
16668    }
16669
16670    /// Returns a pointer to the `groups` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16671    #[inline]
16672    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups(
16673        &self,
16674        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16675    ) -> *mut xcb_atom_t {
16676        sym!(
16677            self,
16678            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups
16679        )(s)
16680    }
16681
16682    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups` could be loaded.
16683    #[cfg(feature = "has_symbol")]
16684    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups(&self) -> bool {
16685        has_sym!(
16686            self,
16687            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups
16688        )
16689    }
16690
16691    /// Returns the number of elements of the `groups` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16692    #[inline]
16693    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length(
16694        &self,
16695        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16696        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16697    ) -> c_int {
16698        sym!(
16699            self,
16700            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length
16701        )(r, s)
16702    }
16703
16704    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length` could be loaded.
16705    #[cfg(feature = "has_symbol")]
16706    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length(&self) -> bool {
16707        has_sym!(
16708            self,
16709            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length
16710        )
16711    }
16712
16713    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16714    /// `groups` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16715    #[inline]
16716    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end(
16717        &self,
16718        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16719        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16720    ) -> xcb_generic_iterator_t {
16721        sym!(
16722            self,
16723            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end
16724        )(r, s)
16725    }
16726
16727    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end` could be loaded.
16728    #[cfg(feature = "has_symbol")]
16729    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end(&self) -> bool {
16730        has_sym!(
16731            self,
16732            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end
16733        )
16734    }
16735
16736    /// Returns a pointer to the `keyNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16737    #[inline]
16738    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names(
16739        &self,
16740        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16741    ) -> *mut xcb_xkb_key_name_t {
16742        sym!(
16743            self,
16744            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names
16745        )(s)
16746    }
16747
16748    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names` could be loaded.
16749    #[cfg(feature = "has_symbol")]
16750    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names(&self) -> bool {
16751        has_sym!(
16752            self,
16753            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names
16754        )
16755    }
16756
16757    /// Returns the number of elements of the `keyNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16758    #[inline]
16759    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length(
16760        &self,
16761        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16762        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16763    ) -> c_int {
16764        sym!(
16765            self,
16766            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length
16767        )(r, s)
16768    }
16769
16770    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length` could be loaded.
16771    #[cfg(feature = "has_symbol")]
16772    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length(
16773        &self,
16774    ) -> bool {
16775        has_sym!(
16776            self,
16777            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length
16778        )
16779    }
16780
16781    /// Returns an iterator over the elements of the
16782    /// `keyNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16783    #[inline]
16784    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator(
16785        &self,
16786        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16787        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16788    ) -> xcb_xkb_key_name_iterator_t {
16789        sym!(
16790            self,
16791            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator
16792        )(r, s)
16793    }
16794
16795    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator` could be loaded.
16796    #[cfg(feature = "has_symbol")]
16797    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator(
16798        &self,
16799    ) -> bool {
16800        has_sym!(
16801            self,
16802            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator
16803        )
16804    }
16805
16806    /// Returns a pointer to the `keyAliases` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16807    #[inline]
16808    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases(
16809        &self,
16810        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16811    ) -> *mut xcb_xkb_key_alias_t {
16812        sym!(
16813            self,
16814            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases
16815        )(s)
16816    }
16817
16818    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases` could be loaded.
16819    #[cfg(feature = "has_symbol")]
16820    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases(&self) -> bool {
16821        has_sym!(
16822            self,
16823            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases
16824        )
16825    }
16826
16827    /// Returns the number of elements of the `keyAliases` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16828    #[inline]
16829    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length(
16830        &self,
16831        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16832        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16833    ) -> c_int {
16834        sym!(
16835            self,
16836            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length
16837        )(r, s)
16838    }
16839
16840    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length` could be loaded.
16841    #[cfg(feature = "has_symbol")]
16842    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length(
16843        &self,
16844    ) -> bool {
16845        has_sym!(
16846            self,
16847            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length
16848        )
16849    }
16850
16851    /// Returns an iterator over the elements of the
16852    /// `keyAliases` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16853    #[inline]
16854    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator(
16855        &self,
16856        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16857        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16858    ) -> xcb_xkb_key_alias_iterator_t {
16859        sym!(
16860            self,
16861            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator
16862        )(r, s)
16863    }
16864
16865    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator` could be loaded.
16866    #[cfg(feature = "has_symbol")]
16867    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator(
16868        &self,
16869    ) -> bool {
16870        has_sym!(
16871            self,
16872            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator
16873        )
16874    }
16875
16876    /// Returns a pointer to the `radioGroupNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16877    #[inline]
16878    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names(
16879        &self,
16880        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16881    ) -> *mut xcb_atom_t {
16882        sym!(
16883            self,
16884            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names
16885        )(s)
16886    }
16887
16888    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names` could be loaded.
16889    #[cfg(feature = "has_symbol")]
16890    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names(
16891        &self,
16892    ) -> bool {
16893        has_sym!(
16894            self,
16895            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names
16896        )
16897    }
16898
16899    /// Returns the number of elements of the `radioGroupNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16900    #[inline]
16901    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length(
16902        &self,
16903        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16904        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16905    ) -> c_int {
16906        sym!(
16907            self,
16908            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length
16909        )(r, s)
16910    }
16911
16912    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length` could be loaded.
16913    #[cfg(feature = "has_symbol")]
16914    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length(
16915        &self,
16916    ) -> bool {
16917        has_sym!(
16918            self,
16919            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length
16920        )
16921    }
16922
16923    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
16924    /// `radioGroupNames` field of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` struct.
16925    #[inline]
16926    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end(
16927        &self,
16928        r: *const xcb_xkb_get_kbd_by_name_reply_t,
16929        s: *const xcb_xkb_get_kbd_by_name_replies_t,
16930    ) -> xcb_generic_iterator_t {
16931        sym!(
16932            self,
16933            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end
16934        )(r, s)
16935    }
16936
16937    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end` could be loaded.
16938    #[cfg(feature = "has_symbol")]
16939    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end(
16940        &self,
16941    ) -> bool {
16942        has_sym!(
16943            self,
16944            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end
16945        )
16946    }
16947
16948    /// Serializes a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` object.
16949    #[inline]
16950    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(
16951        &self,
16952        _buffer: *mut *mut c_void,
16953        nTypes: u8,
16954        indicators: u32,
16955        virtualMods: u16,
16956        groupNames: u8,
16957        nKeys: u8,
16958        nKeyAliases: u8,
16959        nRadioGroups: u8,
16960        which: u32,
16961        _aux: *const xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
16962    ) -> c_int {
16963        sym!(
16964            self,
16965            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize
16966        )(
16967            _buffer,
16968            nTypes,
16969            indicators,
16970            virtualMods,
16971            groupNames,
16972            nKeys,
16973            nKeyAliases,
16974            nRadioGroups,
16975            which,
16976            _aux,
16977        )
16978    }
16979
16980    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize` could be loaded.
16981    #[cfg(feature = "has_symbol")]
16982    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize(&self) -> bool {
16983        has_sym!(
16984            self,
16985            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize
16986        )
16987    }
16988
16989    /// Unpacks a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` object.
16990    #[inline]
16991    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(
16992        &self,
16993        _buffer: *const c_void,
16994        nTypes: u8,
16995        indicators: u32,
16996        virtualMods: u16,
16997        groupNames: u8,
16998        nKeys: u8,
16999        nKeyAliases: u8,
17000        nRadioGroups: u8,
17001        which: u32,
17002        _aux: *mut xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t,
17003    ) -> c_int {
17004        sym!(
17005            self,
17006            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack
17007        )(
17008            _buffer,
17009            nTypes,
17010            indicators,
17011            virtualMods,
17012            groupNames,
17013            nKeys,
17014            nKeyAliases,
17015            nRadioGroups,
17016            which,
17017            _aux,
17018        )
17019    }
17020
17021    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack` could be loaded.
17022    #[cfg(feature = "has_symbol")]
17023    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack(&self) -> bool {
17024        has_sym!(
17025            self,
17026            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack
17027        )
17028    }
17029
17030    /// Computes the size of a `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t` object.
17031    #[inline]
17032    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(
17033        &self,
17034        _buffer: *const c_void,
17035        nTypes: u8,
17036        indicators: u32,
17037        virtualMods: u16,
17038        groupNames: u8,
17039        nKeys: u8,
17040        nKeyAliases: u8,
17041        nRadioGroups: u8,
17042        which: u32,
17043    ) -> c_int {
17044        sym!(
17045            self,
17046            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof
17047        )(
17048            _buffer,
17049            nTypes,
17050            indicators,
17051            virtualMods,
17052            groupNames,
17053            nKeys,
17054            nKeyAliases,
17055            nRadioGroups,
17056            which,
17057        )
17058    }
17059
17060    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof` could be loaded.
17061    #[cfg(feature = "has_symbol")]
17062    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof(&self) -> bool {
17063        has_sym!(
17064            self,
17065            xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof
17066        )
17067    }
17068
17069    /// Returns a pointer to the `map` field of a `xcb_xkb_get_kbd_by_name_replies_t` struct.
17070    #[inline]
17071    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_types_map(
17072        &self,
17073        r: *const xcb_xkb_get_kbd_by_name_replies_t,
17074    ) -> *mut xcb_xkb_get_kbd_by_name_replies_types_map_t {
17075        sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map)(r)
17076    }
17077
17078    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_types_map` could be loaded.
17079    #[cfg(feature = "has_symbol")]
17080    pub fn has_xcb_xkb_get_kbd_by_name_replies_types_map(&self) -> bool {
17081        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_types_map)
17082    }
17083
17084    /// Returns a pointer to the `si_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17085    #[inline]
17086    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn(
17087        &self,
17088        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17089    ) -> *mut xcb_xkb_sym_interpret_t {
17090        sym!(self, xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn)(s)
17091    }
17092
17093    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn` could be loaded.
17094    #[cfg(feature = "has_symbol")]
17095    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn(&self) -> bool {
17096        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn)
17097    }
17098
17099    /// Returns the number of elements of the `si_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17100    #[inline]
17101    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length(
17102        &self,
17103        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17104        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17105    ) -> c_int {
17106        sym!(
17107            self,
17108            xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length
17109        )(r, s)
17110    }
17111
17112    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length` could be loaded.
17113    #[cfg(feature = "has_symbol")]
17114    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length(&self) -> bool {
17115        has_sym!(
17116            self,
17117            xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length
17118        )
17119    }
17120
17121    /// Returns an iterator over the elements of the
17122    /// `si_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17123    #[inline]
17124    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator(
17125        &self,
17126        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17127        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17128    ) -> xcb_xkb_sym_interpret_iterator_t {
17129        sym!(
17130            self,
17131            xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator
17132        )(r, s)
17133    }
17134
17135    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator` could be loaded.
17136    #[cfg(feature = "has_symbol")]
17137    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator(&self) -> bool {
17138        has_sym!(
17139            self,
17140            xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator
17141        )
17142    }
17143
17144    /// Returns a pointer to the `group_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17145    #[inline]
17146    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn(
17147        &self,
17148        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17149    ) -> *mut xcb_xkb_mod_def_t {
17150        sym!(self, xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn)(s)
17151    }
17152
17153    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn` could be loaded.
17154    #[cfg(feature = "has_symbol")]
17155    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn(&self) -> bool {
17156        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn)
17157    }
17158
17159    /// Returns the number of elements of the `group_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17160    #[inline]
17161    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length(
17162        &self,
17163        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17164        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17165    ) -> c_int {
17166        sym!(
17167            self,
17168            xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length
17169        )(r, s)
17170    }
17171
17172    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length` could be loaded.
17173    #[cfg(feature = "has_symbol")]
17174    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length(&self) -> bool {
17175        has_sym!(
17176            self,
17177            xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length
17178        )
17179    }
17180
17181    /// Returns an iterator over the elements of the
17182    /// `group_rtrn` field of a `xcb_xkb_get_kbd_by_name_replies_compat_map_t` struct.
17183    #[inline]
17184    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator(
17185        &self,
17186        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17187        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17188    ) -> xcb_xkb_mod_def_iterator_t {
17189        sym!(
17190            self,
17191            xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator
17192        )(r, s)
17193    }
17194
17195    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator` could be loaded.
17196    #[cfg(feature = "has_symbol")]
17197    pub fn has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator(&self) -> bool {
17198        has_sym!(
17199            self,
17200            xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator
17201        )
17202    }
17203
17204    /// Returns a pointer to the `maps` field of a `xcb_xkb_get_kbd_by_name_replies_indicator_maps_t` struct.
17205    #[inline]
17206    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps(
17207        &self,
17208        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17209    ) -> *mut xcb_xkb_indicator_map_t {
17210        sym!(self, xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps)(s)
17211    }
17212
17213    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps` could be loaded.
17214    #[cfg(feature = "has_symbol")]
17215    pub fn has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps(&self) -> bool {
17216        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps)
17217    }
17218
17219    /// Returns the number of elements of the `maps` field of a `xcb_xkb_get_kbd_by_name_replies_indicator_maps_t` struct.
17220    #[inline]
17221    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length(
17222        &self,
17223        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17224        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17225    ) -> c_int {
17226        sym!(
17227            self,
17228            xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length
17229        )(r, s)
17230    }
17231
17232    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length` could be loaded.
17233    #[cfg(feature = "has_symbol")]
17234    pub fn has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length(&self) -> bool {
17235        has_sym!(
17236            self,
17237            xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length
17238        )
17239    }
17240
17241    /// Returns an iterator over the elements of the
17242    /// `maps` field of a `xcb_xkb_get_kbd_by_name_replies_indicator_maps_t` struct.
17243    #[inline]
17244    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator(
17245        &self,
17246        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17247        s: *const xcb_xkb_get_kbd_by_name_replies_t,
17248    ) -> xcb_xkb_indicator_map_iterator_t {
17249        sym!(
17250            self,
17251            xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator
17252        )(r, s)
17253    }
17254
17255    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator` could be loaded.
17256    #[cfg(feature = "has_symbol")]
17257    pub fn has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator(&self) -> bool {
17258        has_sym!(
17259            self,
17260            xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator
17261        )
17262    }
17263
17264    /// Returns a pointer to the `valueList` field of a `xcb_xkb_get_kbd_by_name_replies_t` struct.
17265    #[inline]
17266    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_key_names_value_list(
17267        &self,
17268        r: *const xcb_xkb_get_kbd_by_name_replies_t,
17269    ) -> *mut xcb_xkb_get_kbd_by_name_replies_key_names_value_list_t {
17270        sym!(self, xcb_xkb_get_kbd_by_name_replies_key_names_value_list)(r)
17271    }
17272
17273    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_key_names_value_list` could be loaded.
17274    #[cfg(feature = "has_symbol")]
17275    pub fn has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list(&self) -> bool {
17276        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_key_names_value_list)
17277    }
17278
17279    /// Returns a pointer to the `labelFont` field of a `xcb_xkb_get_kbd_by_name_replies_t` struct.
17280    #[inline]
17281    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_geometry_label_font(
17282        &self,
17283        r: *const xcb_xkb_get_kbd_by_name_replies_t,
17284    ) -> *mut xcb_xkb_counted_string_16_t {
17285        sym!(self, xcb_xkb_get_kbd_by_name_replies_geometry_label_font)(r)
17286    }
17287
17288    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_geometry_label_font` could be loaded.
17289    #[cfg(feature = "has_symbol")]
17290    pub fn has_xcb_xkb_get_kbd_by_name_replies_geometry_label_font(&self) -> bool {
17291        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_geometry_label_font)
17292    }
17293
17294    /// Serializes a `xcb_xkb_get_kbd_by_name_replies_t` object.
17295    #[inline]
17296    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_serialize(
17297        &self,
17298        _buffer: *mut *mut c_void,
17299        reported: u16,
17300        _aux: *const xcb_xkb_get_kbd_by_name_replies_t,
17301    ) -> c_int {
17302        sym!(self, xcb_xkb_get_kbd_by_name_replies_serialize)(_buffer, reported, _aux)
17303    }
17304
17305    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_serialize` could be loaded.
17306    #[cfg(feature = "has_symbol")]
17307    pub fn has_xcb_xkb_get_kbd_by_name_replies_serialize(&self) -> bool {
17308        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_serialize)
17309    }
17310
17311    /// Unpacks a `xcb_xkb_get_kbd_by_name_replies_t` object.
17312    #[inline]
17313    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_unpack(
17314        &self,
17315        _buffer: *const c_void,
17316        reported: u16,
17317        _aux: *mut xcb_xkb_get_kbd_by_name_replies_t,
17318    ) -> c_int {
17319        sym!(self, xcb_xkb_get_kbd_by_name_replies_unpack)(_buffer, reported, _aux)
17320    }
17321
17322    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_unpack` could be loaded.
17323    #[cfg(feature = "has_symbol")]
17324    pub fn has_xcb_xkb_get_kbd_by_name_replies_unpack(&self) -> bool {
17325        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_unpack)
17326    }
17327
17328    /// Computes the size of a `xcb_xkb_get_kbd_by_name_replies_t` object.
17329    #[inline]
17330    pub unsafe fn xcb_xkb_get_kbd_by_name_replies_sizeof(
17331        &self,
17332        _buffer: *const c_void,
17333        reported: u16,
17334    ) -> c_int {
17335        sym!(self, xcb_xkb_get_kbd_by_name_replies_sizeof)(_buffer, reported)
17336    }
17337
17338    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies_sizeof` could be loaded.
17339    #[cfg(feature = "has_symbol")]
17340    pub fn has_xcb_xkb_get_kbd_by_name_replies_sizeof(&self) -> bool {
17341        has_sym!(self, xcb_xkb_get_kbd_by_name_replies_sizeof)
17342    }
17343
17344    /// Computes the size of a `xcb_xkb_get_kbd_by_name_reply_t` object.
17345    #[inline]
17346    pub unsafe fn xcb_xkb_get_kbd_by_name_sizeof(&self, _buffer: *const c_void) -> c_int {
17347        sym!(self, xcb_xkb_get_kbd_by_name_sizeof)(_buffer)
17348    }
17349
17350    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_sizeof` could be loaded.
17351    #[cfg(feature = "has_symbol")]
17352    pub fn has_xcb_xkb_get_kbd_by_name_sizeof(&self) -> bool {
17353        has_sym!(self, xcb_xkb_get_kbd_by_name_sizeof)
17354    }
17355
17356    /// Sends a `xkb::GetKbdByName` request (checked).
17357    ///
17358    /// This request generates a reply. You must either discard it with
17359    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_kbd_by_name_reply`].
17360    ///
17361    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17362    /// [`xcb_xkb_get_kbd_by_name_reply`]: Self::xcb_xkb_get_kbd_by_name_reply
17363    #[inline]
17364    pub unsafe fn xcb_xkb_get_kbd_by_name(
17365        &self,
17366        c: *mut xcb_connection_t,
17367        device_spec: xcb_xkb_device_spec_t,
17368        need: u16,
17369        want: u16,
17370        load: u8,
17371    ) -> xcb_xkb_get_kbd_by_name_cookie_t {
17372        sym!(self, xcb_xkb_get_kbd_by_name)(c, device_spec, need, want, load)
17373    }
17374
17375    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name` could be loaded.
17376    #[cfg(feature = "has_symbol")]
17377    pub fn has_xcb_xkb_get_kbd_by_name(&self) -> bool {
17378        has_sym!(self, xcb_xkb_get_kbd_by_name)
17379    }
17380
17381    /// Sends a `xkb::GetKbdByName` request (unchecked).
17382    ///
17383    /// This request generates a reply. You must either discard it with
17384    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_kbd_by_name_reply`].
17385    ///
17386    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17387    /// [`xcb_xkb_get_kbd_by_name_reply`]: Self::xcb_xkb_get_kbd_by_name_reply
17388    #[inline]
17389    pub unsafe fn xcb_xkb_get_kbd_by_name_unchecked(
17390        &self,
17391        c: *mut xcb_connection_t,
17392        device_spec: xcb_xkb_device_spec_t,
17393        need: u16,
17394        want: u16,
17395        load: u8,
17396    ) -> xcb_xkb_get_kbd_by_name_cookie_t {
17397        sym!(self, xcb_xkb_get_kbd_by_name_unchecked)(c, device_spec, need, want, load)
17398    }
17399
17400    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_unchecked` could be loaded.
17401    #[cfg(feature = "has_symbol")]
17402    pub fn has_xcb_xkb_get_kbd_by_name_unchecked(&self) -> bool {
17403        has_sym!(self, xcb_xkb_get_kbd_by_name_unchecked)
17404    }
17405
17406    /// Returns a pointer to the `replies` field of a `xcb_xkb_get_kbd_by_name_reply_t` struct.
17407    #[inline]
17408    pub unsafe fn xcb_xkb_get_kbd_by_name_replies(
17409        &self,
17410        r: *const xcb_xkb_get_kbd_by_name_reply_t,
17411    ) -> *mut c_void {
17412        sym!(self, xcb_xkb_get_kbd_by_name_replies)(r)
17413    }
17414
17415    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_replies` could be loaded.
17416    #[cfg(feature = "has_symbol")]
17417    pub fn has_xcb_xkb_get_kbd_by_name_replies(&self) -> bool {
17418        has_sym!(self, xcb_xkb_get_kbd_by_name_replies)
17419    }
17420
17421    /// Waits for the reply to a `xkb::GetKbdByName` request.
17422    #[inline]
17423    pub unsafe fn xcb_xkb_get_kbd_by_name_reply(
17424        &self,
17425        c: *mut xcb_connection_t,
17426        cookie: xcb_xkb_get_kbd_by_name_cookie_t,
17427        e: *mut *mut xcb_generic_error_t,
17428    ) -> *mut xcb_xkb_get_kbd_by_name_reply_t {
17429        sym!(self, xcb_xkb_get_kbd_by_name_reply)(c, cookie, e)
17430    }
17431
17432    /// Returns `true` iff the symbol `xcb_xkb_get_kbd_by_name_reply` could be loaded.
17433    #[cfg(feature = "has_symbol")]
17434    pub fn has_xcb_xkb_get_kbd_by_name_reply(&self) -> bool {
17435        has_sym!(self, xcb_xkb_get_kbd_by_name_reply)
17436    }
17437
17438    /// Computes the size of a `xcb_xkb_get_device_info_reply_t` object.
17439    #[inline]
17440    pub unsafe fn xcb_xkb_get_device_info_sizeof(&self, _buffer: *const c_void) -> c_int {
17441        sym!(self, xcb_xkb_get_device_info_sizeof)(_buffer)
17442    }
17443
17444    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_sizeof` could be loaded.
17445    #[cfg(feature = "has_symbol")]
17446    pub fn has_xcb_xkb_get_device_info_sizeof(&self) -> bool {
17447        has_sym!(self, xcb_xkb_get_device_info_sizeof)
17448    }
17449
17450    /// Sends a `xkb::GetDeviceInfo` request (checked).
17451    ///
17452    /// This request generates a reply. You must either discard it with
17453    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_device_info_reply`].
17454    ///
17455    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17456    /// [`xcb_xkb_get_device_info_reply`]: Self::xcb_xkb_get_device_info_reply
17457    #[inline]
17458    pub unsafe fn xcb_xkb_get_device_info(
17459        &self,
17460        c: *mut xcb_connection_t,
17461        device_spec: xcb_xkb_device_spec_t,
17462        wanted: u16,
17463        all_buttons: u8,
17464        first_button: u8,
17465        n_buttons: u8,
17466        led_class: xcb_xkb_led_class_spec_t,
17467        led_id: xcb_xkb_id_spec_t,
17468    ) -> xcb_xkb_get_device_info_cookie_t {
17469        sym!(self, xcb_xkb_get_device_info)(
17470            c,
17471            device_spec,
17472            wanted,
17473            all_buttons,
17474            first_button,
17475            n_buttons,
17476            led_class,
17477            led_id,
17478        )
17479    }
17480
17481    /// Returns `true` iff the symbol `xcb_xkb_get_device_info` could be loaded.
17482    #[cfg(feature = "has_symbol")]
17483    pub fn has_xcb_xkb_get_device_info(&self) -> bool {
17484        has_sym!(self, xcb_xkb_get_device_info)
17485    }
17486
17487    /// Sends a `xkb::GetDeviceInfo` request (unchecked).
17488    ///
17489    /// This request generates a reply. You must either discard it with
17490    /// [`discard_reply`] or retrieve it with [`xcb_xkb_get_device_info_reply`].
17491    ///
17492    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17493    /// [`xcb_xkb_get_device_info_reply`]: Self::xcb_xkb_get_device_info_reply
17494    #[inline]
17495    pub unsafe fn xcb_xkb_get_device_info_unchecked(
17496        &self,
17497        c: *mut xcb_connection_t,
17498        device_spec: xcb_xkb_device_spec_t,
17499        wanted: u16,
17500        all_buttons: u8,
17501        first_button: u8,
17502        n_buttons: u8,
17503        led_class: xcb_xkb_led_class_spec_t,
17504        led_id: xcb_xkb_id_spec_t,
17505    ) -> xcb_xkb_get_device_info_cookie_t {
17506        sym!(self, xcb_xkb_get_device_info_unchecked)(
17507            c,
17508            device_spec,
17509            wanted,
17510            all_buttons,
17511            first_button,
17512            n_buttons,
17513            led_class,
17514            led_id,
17515        )
17516    }
17517
17518    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_unchecked` could be loaded.
17519    #[cfg(feature = "has_symbol")]
17520    pub fn has_xcb_xkb_get_device_info_unchecked(&self) -> bool {
17521        has_sym!(self, xcb_xkb_get_device_info_unchecked)
17522    }
17523
17524    /// Returns a pointer to the `name` field of a `xcb_xkb_get_device_info_reply_t` struct.
17525    #[inline]
17526    pub unsafe fn xcb_xkb_get_device_info_name(
17527        &self,
17528        r: *const xcb_xkb_get_device_info_reply_t,
17529    ) -> *mut xcb_xkb_string8_t {
17530        sym!(self, xcb_xkb_get_device_info_name)(r)
17531    }
17532
17533    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_name` could be loaded.
17534    #[cfg(feature = "has_symbol")]
17535    pub fn has_xcb_xkb_get_device_info_name(&self) -> bool {
17536        has_sym!(self, xcb_xkb_get_device_info_name)
17537    }
17538
17539    /// Returns the number of elements of the `name` field of a `xcb_xkb_get_device_info_reply_t` struct.
17540    #[inline]
17541    pub unsafe fn xcb_xkb_get_device_info_name_length(
17542        &self,
17543        r: *const xcb_xkb_get_device_info_reply_t,
17544    ) -> c_int {
17545        sym!(self, xcb_xkb_get_device_info_name_length)(r)
17546    }
17547
17548    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_name_length` could be loaded.
17549    #[cfg(feature = "has_symbol")]
17550    pub fn has_xcb_xkb_get_device_info_name_length(&self) -> bool {
17551        has_sym!(self, xcb_xkb_get_device_info_name_length)
17552    }
17553
17554    /// Returns a `xcb_generic_iterator_t` pointing just past the end of the
17555    /// `name` field of a `xcb_xkb_get_device_info_reply_t` struct.
17556    #[inline]
17557    pub unsafe fn xcb_xkb_get_device_info_name_end(
17558        &self,
17559        r: *const xcb_xkb_get_device_info_reply_t,
17560    ) -> xcb_generic_iterator_t {
17561        sym!(self, xcb_xkb_get_device_info_name_end)(r)
17562    }
17563
17564    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_name_end` could be loaded.
17565    #[cfg(feature = "has_symbol")]
17566    pub fn has_xcb_xkb_get_device_info_name_end(&self) -> bool {
17567        has_sym!(self, xcb_xkb_get_device_info_name_end)
17568    }
17569
17570    /// Returns a pointer to the `btnActions` field of a `xcb_xkb_get_device_info_reply_t` struct.
17571    #[inline]
17572    pub unsafe fn xcb_xkb_get_device_info_btn_actions(
17573        &self,
17574        r: *const xcb_xkb_get_device_info_reply_t,
17575    ) -> *mut xcb_xkb_action_t {
17576        sym!(self, xcb_xkb_get_device_info_btn_actions)(r)
17577    }
17578
17579    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_btn_actions` could be loaded.
17580    #[cfg(feature = "has_symbol")]
17581    pub fn has_xcb_xkb_get_device_info_btn_actions(&self) -> bool {
17582        has_sym!(self, xcb_xkb_get_device_info_btn_actions)
17583    }
17584
17585    /// Returns the number of elements of the `btnActions` field of a `xcb_xkb_get_device_info_reply_t` struct.
17586    #[inline]
17587    pub unsafe fn xcb_xkb_get_device_info_btn_actions_length(
17588        &self,
17589        r: *const xcb_xkb_get_device_info_reply_t,
17590    ) -> c_int {
17591        sym!(self, xcb_xkb_get_device_info_btn_actions_length)(r)
17592    }
17593
17594    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_btn_actions_length` could be loaded.
17595    #[cfg(feature = "has_symbol")]
17596    pub fn has_xcb_xkb_get_device_info_btn_actions_length(&self) -> bool {
17597        has_sym!(self, xcb_xkb_get_device_info_btn_actions_length)
17598    }
17599
17600    /// Returns an iterator over the elements of the
17601    /// `btnActions` field of a `xcb_xkb_get_device_info_reply_t` struct.
17602    #[inline]
17603    pub unsafe fn xcb_xkb_get_device_info_btn_actions_iterator(
17604        &self,
17605        r: *const xcb_xkb_get_device_info_reply_t,
17606    ) -> xcb_xkb_action_iterator_t {
17607        sym!(self, xcb_xkb_get_device_info_btn_actions_iterator)(r)
17608    }
17609
17610    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_btn_actions_iterator` could be loaded.
17611    #[cfg(feature = "has_symbol")]
17612    pub fn has_xcb_xkb_get_device_info_btn_actions_iterator(&self) -> bool {
17613        has_sym!(self, xcb_xkb_get_device_info_btn_actions_iterator)
17614    }
17615
17616    /// Returns the number of elements of the `leds` field of a `xcb_xkb_get_device_info_reply_t` struct.
17617    #[inline]
17618    pub unsafe fn xcb_xkb_get_device_info_leds_length(
17619        &self,
17620        r: *const xcb_xkb_get_device_info_reply_t,
17621    ) -> c_int {
17622        sym!(self, xcb_xkb_get_device_info_leds_length)(r)
17623    }
17624
17625    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_leds_length` could be loaded.
17626    #[cfg(feature = "has_symbol")]
17627    pub fn has_xcb_xkb_get_device_info_leds_length(&self) -> bool {
17628        has_sym!(self, xcb_xkb_get_device_info_leds_length)
17629    }
17630
17631    /// Returns an iterator over the elements of the
17632    /// `leds` field of a `xcb_xkb_get_device_info_reply_t` struct.
17633    #[inline]
17634    pub unsafe fn xcb_xkb_get_device_info_leds_iterator(
17635        &self,
17636        r: *const xcb_xkb_get_device_info_reply_t,
17637    ) -> xcb_xkb_device_led_info_iterator_t {
17638        sym!(self, xcb_xkb_get_device_info_leds_iterator)(r)
17639    }
17640
17641    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_leds_iterator` could be loaded.
17642    #[cfg(feature = "has_symbol")]
17643    pub fn has_xcb_xkb_get_device_info_leds_iterator(&self) -> bool {
17644        has_sym!(self, xcb_xkb_get_device_info_leds_iterator)
17645    }
17646
17647    /// Waits for the reply to a `xkb::GetDeviceInfo` request.
17648    #[inline]
17649    pub unsafe fn xcb_xkb_get_device_info_reply(
17650        &self,
17651        c: *mut xcb_connection_t,
17652        cookie: xcb_xkb_get_device_info_cookie_t,
17653        e: *mut *mut xcb_generic_error_t,
17654    ) -> *mut xcb_xkb_get_device_info_reply_t {
17655        sym!(self, xcb_xkb_get_device_info_reply)(c, cookie, e)
17656    }
17657
17658    /// Returns `true` iff the symbol `xcb_xkb_get_device_info_reply` could be loaded.
17659    #[cfg(feature = "has_symbol")]
17660    pub fn has_xcb_xkb_get_device_info_reply(&self) -> bool {
17661        has_sym!(self, xcb_xkb_get_device_info_reply)
17662    }
17663
17664    /// Computes the size of a `xcb_xkb_set_device_info_request_t` object.
17665    #[inline]
17666    pub unsafe fn xcb_xkb_set_device_info_sizeof(&self, _buffer: *const c_void) -> c_int {
17667        sym!(self, xcb_xkb_set_device_info_sizeof)(_buffer)
17668    }
17669
17670    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_sizeof` could be loaded.
17671    #[cfg(feature = "has_symbol")]
17672    pub fn has_xcb_xkb_set_device_info_sizeof(&self) -> bool {
17673        has_sym!(self, xcb_xkb_set_device_info_sizeof)
17674    }
17675
17676    /// Sends a `xkb::SetDeviceInfo` request (checked).
17677    ///
17678    /// This request generates a reply. You must either discard it with
17679    /// [`discard_reply`] or retrieve it with [`xcb_request_check`].
17680    ///
17681    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17682    /// [`xcb_request_check`]: crate::Xcb::xcb_request_check
17683    #[inline]
17684    pub unsafe fn xcb_xkb_set_device_info_checked(
17685        &self,
17686        c: *mut xcb_connection_t,
17687        device_spec: xcb_xkb_device_spec_t,
17688        first_btn: u8,
17689        n_btns: u8,
17690        change: u16,
17691        n_device_led_fbs: u16,
17692        btn_actions: *const xcb_xkb_action_t,
17693        leds: *const xcb_xkb_device_led_info_t,
17694    ) -> xcb_void_cookie_t {
17695        sym!(self, xcb_xkb_set_device_info_checked)(
17696            c,
17697            device_spec,
17698            first_btn,
17699            n_btns,
17700            change,
17701            n_device_led_fbs,
17702            btn_actions,
17703            leds,
17704        )
17705    }
17706
17707    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_checked` could be loaded.
17708    #[cfg(feature = "has_symbol")]
17709    pub fn has_xcb_xkb_set_device_info_checked(&self) -> bool {
17710        has_sym!(self, xcb_xkb_set_device_info_checked)
17711    }
17712
17713    /// Sends a `xkb::SetDeviceInfo` request (unchecked).
17714    #[inline]
17715    pub unsafe fn xcb_xkb_set_device_info(
17716        &self,
17717        c: *mut xcb_connection_t,
17718        device_spec: xcb_xkb_device_spec_t,
17719        first_btn: u8,
17720        n_btns: u8,
17721        change: u16,
17722        n_device_led_fbs: u16,
17723        btn_actions: *const xcb_xkb_action_t,
17724        leds: *const xcb_xkb_device_led_info_t,
17725    ) -> xcb_void_cookie_t {
17726        sym!(self, xcb_xkb_set_device_info)(
17727            c,
17728            device_spec,
17729            first_btn,
17730            n_btns,
17731            change,
17732            n_device_led_fbs,
17733            btn_actions,
17734            leds,
17735        )
17736    }
17737
17738    /// Returns `true` iff the symbol `xcb_xkb_set_device_info` could be loaded.
17739    #[cfg(feature = "has_symbol")]
17740    pub fn has_xcb_xkb_set_device_info(&self) -> bool {
17741        has_sym!(self, xcb_xkb_set_device_info)
17742    }
17743
17744    /// Returns a pointer to the `btnActions` field of a `xcb_xkb_set_device_info_request_t` struct.
17745    #[inline]
17746    pub unsafe fn xcb_xkb_set_device_info_btn_actions(
17747        &self,
17748        r: *const xcb_xkb_set_device_info_request_t,
17749    ) -> *mut xcb_xkb_action_t {
17750        sym!(self, xcb_xkb_set_device_info_btn_actions)(r)
17751    }
17752
17753    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_btn_actions` could be loaded.
17754    #[cfg(feature = "has_symbol")]
17755    pub fn has_xcb_xkb_set_device_info_btn_actions(&self) -> bool {
17756        has_sym!(self, xcb_xkb_set_device_info_btn_actions)
17757    }
17758
17759    /// Returns the number of elements of the `btnActions` field of a `xcb_xkb_set_device_info_request_t` struct.
17760    #[inline]
17761    pub unsafe fn xcb_xkb_set_device_info_btn_actions_length(
17762        &self,
17763        r: *const xcb_xkb_set_device_info_request_t,
17764    ) -> c_int {
17765        sym!(self, xcb_xkb_set_device_info_btn_actions_length)(r)
17766    }
17767
17768    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_btn_actions_length` could be loaded.
17769    #[cfg(feature = "has_symbol")]
17770    pub fn has_xcb_xkb_set_device_info_btn_actions_length(&self) -> bool {
17771        has_sym!(self, xcb_xkb_set_device_info_btn_actions_length)
17772    }
17773
17774    /// Returns an iterator over the elements of the
17775    /// `btnActions` field of a `xcb_xkb_set_device_info_request_t` struct.
17776    #[inline]
17777    pub unsafe fn xcb_xkb_set_device_info_btn_actions_iterator(
17778        &self,
17779        r: *const xcb_xkb_set_device_info_request_t,
17780    ) -> xcb_xkb_action_iterator_t {
17781        sym!(self, xcb_xkb_set_device_info_btn_actions_iterator)(r)
17782    }
17783
17784    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_btn_actions_iterator` could be loaded.
17785    #[cfg(feature = "has_symbol")]
17786    pub fn has_xcb_xkb_set_device_info_btn_actions_iterator(&self) -> bool {
17787        has_sym!(self, xcb_xkb_set_device_info_btn_actions_iterator)
17788    }
17789
17790    /// Returns the number of elements of the `leds` field of a `xcb_xkb_set_device_info_request_t` struct.
17791    #[inline]
17792    pub unsafe fn xcb_xkb_set_device_info_leds_length(
17793        &self,
17794        r: *const xcb_xkb_set_device_info_request_t,
17795    ) -> c_int {
17796        sym!(self, xcb_xkb_set_device_info_leds_length)(r)
17797    }
17798
17799    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_leds_length` could be loaded.
17800    #[cfg(feature = "has_symbol")]
17801    pub fn has_xcb_xkb_set_device_info_leds_length(&self) -> bool {
17802        has_sym!(self, xcb_xkb_set_device_info_leds_length)
17803    }
17804
17805    /// Returns an iterator over the elements of the
17806    /// `leds` field of a `xcb_xkb_set_device_info_request_t` struct.
17807    #[inline]
17808    pub unsafe fn xcb_xkb_set_device_info_leds_iterator(
17809        &self,
17810        r: *const xcb_xkb_set_device_info_request_t,
17811    ) -> xcb_xkb_device_led_info_iterator_t {
17812        sym!(self, xcb_xkb_set_device_info_leds_iterator)(r)
17813    }
17814
17815    /// Returns `true` iff the symbol `xcb_xkb_set_device_info_leds_iterator` could be loaded.
17816    #[cfg(feature = "has_symbol")]
17817    pub fn has_xcb_xkb_set_device_info_leds_iterator(&self) -> bool {
17818        has_sym!(self, xcb_xkb_set_device_info_leds_iterator)
17819    }
17820
17821    /// Computes the size of a `xcb_xkb_set_debugging_flags_request_t` object.
17822    #[inline]
17823    pub unsafe fn xcb_xkb_set_debugging_flags_sizeof(&self, _buffer: *const c_void) -> c_int {
17824        sym!(self, xcb_xkb_set_debugging_flags_sizeof)(_buffer)
17825    }
17826
17827    /// Returns `true` iff the symbol `xcb_xkb_set_debugging_flags_sizeof` could be loaded.
17828    #[cfg(feature = "has_symbol")]
17829    pub fn has_xcb_xkb_set_debugging_flags_sizeof(&self) -> bool {
17830        has_sym!(self, xcb_xkb_set_debugging_flags_sizeof)
17831    }
17832
17833    /// Sends a `xkb::SetDebuggingFlags` request (checked).
17834    ///
17835    /// This request generates a reply. You must either discard it with
17836    /// [`discard_reply`] or retrieve it with [`xcb_xkb_set_debugging_flags_reply`].
17837    ///
17838    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17839    /// [`xcb_xkb_set_debugging_flags_reply`]: Self::xcb_xkb_set_debugging_flags_reply
17840    #[inline]
17841    pub unsafe fn xcb_xkb_set_debugging_flags(
17842        &self,
17843        c: *mut xcb_connection_t,
17844        msg_length: u16,
17845        affect_flags: u32,
17846        flags: u32,
17847        affect_ctrls: u32,
17848        ctrls: u32,
17849        message: *const xcb_xkb_string8_t,
17850    ) -> xcb_xkb_set_debugging_flags_cookie_t {
17851        sym!(self, xcb_xkb_set_debugging_flags)(
17852            c,
17853            msg_length,
17854            affect_flags,
17855            flags,
17856            affect_ctrls,
17857            ctrls,
17858            message,
17859        )
17860    }
17861
17862    /// Returns `true` iff the symbol `xcb_xkb_set_debugging_flags` could be loaded.
17863    #[cfg(feature = "has_symbol")]
17864    pub fn has_xcb_xkb_set_debugging_flags(&self) -> bool {
17865        has_sym!(self, xcb_xkb_set_debugging_flags)
17866    }
17867
17868    /// Sends a `xkb::SetDebuggingFlags` request (unchecked).
17869    ///
17870    /// This request generates a reply. You must either discard it with
17871    /// [`discard_reply`] or retrieve it with [`xcb_xkb_set_debugging_flags_reply`].
17872    ///
17873    /// [`discard_reply`]: crate::Xcb::xcb_discard_reply
17874    /// [`xcb_xkb_set_debugging_flags_reply`]: Self::xcb_xkb_set_debugging_flags_reply
17875    #[inline]
17876    pub unsafe fn xcb_xkb_set_debugging_flags_unchecked(
17877        &self,
17878        c: *mut xcb_connection_t,
17879        msg_length: u16,
17880        affect_flags: u32,
17881        flags: u32,
17882        affect_ctrls: u32,
17883        ctrls: u32,
17884        message: *const xcb_xkb_string8_t,
17885    ) -> xcb_xkb_set_debugging_flags_cookie_t {
17886        sym!(self, xcb_xkb_set_debugging_flags_unchecked)(
17887            c,
17888            msg_length,
17889            affect_flags,
17890            flags,
17891            affect_ctrls,
17892            ctrls,
17893            message,
17894        )
17895    }
17896
17897    /// Returns `true` iff the symbol `xcb_xkb_set_debugging_flags_unchecked` could be loaded.
17898    #[cfg(feature = "has_symbol")]
17899    pub fn has_xcb_xkb_set_debugging_flags_unchecked(&self) -> bool {
17900        has_sym!(self, xcb_xkb_set_debugging_flags_unchecked)
17901    }
17902
17903    /// Waits for the reply to a `xkb::SetDebuggingFlags` request.
17904    #[inline]
17905    pub unsafe fn xcb_xkb_set_debugging_flags_reply(
17906        &self,
17907        c: *mut xcb_connection_t,
17908        cookie: xcb_xkb_set_debugging_flags_cookie_t,
17909        e: *mut *mut xcb_generic_error_t,
17910    ) -> *mut xcb_xkb_set_debugging_flags_reply_t {
17911        sym!(self, xcb_xkb_set_debugging_flags_reply)(c, cookie, e)
17912    }
17913
17914    /// Returns `true` iff the symbol `xcb_xkb_set_debugging_flags_reply` could be loaded.
17915    #[cfg(feature = "has_symbol")]
17916    pub fn has_xcb_xkb_set_debugging_flags_reply(&self) -> bool {
17917        has_sym!(self, xcb_xkb_set_debugging_flags_reply)
17918    }
17919}
17920
17921#[cfg(feature = "xcb_xkb")]
17922#[cfg(all(test, feature = "has_symbol"))]
17923mod test {
17924    #[test]
17925    fn has_all() {
17926        let lib = unsafe { crate::XcbXkb::load().unwrap() };
17927        assert!(lib.has_xcb_xkb_id());
17928        assert!(lib.has_xcb_xkb_device_spec_next());
17929        assert!(lib.has_xcb_xkb_device_spec_end());
17930        assert!(lib.has_xcb_xkb_led_class_spec_next());
17931        assert!(lib.has_xcb_xkb_led_class_spec_end());
17932        assert!(lib.has_xcb_xkb_bell_class_spec_next());
17933        assert!(lib.has_xcb_xkb_bell_class_spec_end());
17934        assert!(lib.has_xcb_xkb_id_spec_next());
17935        assert!(lib.has_xcb_xkb_id_spec_end());
17936        assert!(lib.has_xcb_xkb_indicator_map_next());
17937        assert!(lib.has_xcb_xkb_indicator_map_end());
17938        assert!(lib.has_xcb_xkb_mod_def_next());
17939        assert!(lib.has_xcb_xkb_mod_def_end());
17940        assert!(lib.has_xcb_xkb_key_name_next());
17941        assert!(lib.has_xcb_xkb_key_name_end());
17942        assert!(lib.has_xcb_xkb_key_alias_next());
17943        assert!(lib.has_xcb_xkb_key_alias_end());
17944        assert!(lib.has_xcb_xkb_counted_string_16_sizeof());
17945        assert!(lib.has_xcb_xkb_counted_string_16_string());
17946        assert!(lib.has_xcb_xkb_counted_string_16_string_length());
17947        assert!(lib.has_xcb_xkb_counted_string_16_string_end());
17948        assert!(lib.has_xcb_xkb_counted_string_16_alignment_pad());
17949        assert!(lib.has_xcb_xkb_counted_string_16_alignment_pad_length());
17950        assert!(lib.has_xcb_xkb_counted_string_16_alignment_pad_end());
17951        assert!(lib.has_xcb_xkb_counted_string_16_next());
17952        assert!(lib.has_xcb_xkb_counted_string_16_end());
17953        assert!(lib.has_xcb_xkb_kt_map_entry_next());
17954        assert!(lib.has_xcb_xkb_kt_map_entry_end());
17955        assert!(lib.has_xcb_xkb_key_type_sizeof());
17956        assert!(lib.has_xcb_xkb_key_type_map());
17957        assert!(lib.has_xcb_xkb_key_type_map_length());
17958        assert!(lib.has_xcb_xkb_key_type_map_iterator());
17959        assert!(lib.has_xcb_xkb_key_type_preserve());
17960        assert!(lib.has_xcb_xkb_key_type_preserve_length());
17961        assert!(lib.has_xcb_xkb_key_type_preserve_iterator());
17962        assert!(lib.has_xcb_xkb_key_type_next());
17963        assert!(lib.has_xcb_xkb_key_type_end());
17964        assert!(lib.has_xcb_xkb_key_sym_map_sizeof());
17965        assert!(lib.has_xcb_xkb_key_sym_map_syms());
17966        assert!(lib.has_xcb_xkb_key_sym_map_syms_length());
17967        assert!(lib.has_xcb_xkb_key_sym_map_syms_end());
17968        assert!(lib.has_xcb_xkb_key_sym_map_next());
17969        assert!(lib.has_xcb_xkb_key_sym_map_end());
17970        assert!(lib.has_xcb_xkb_common_behavior_next());
17971        assert!(lib.has_xcb_xkb_common_behavior_end());
17972        assert!(lib.has_xcb_xkb_default_behavior_next());
17973        assert!(lib.has_xcb_xkb_default_behavior_end());
17974        assert!(lib.has_xcb_xkb_lock_behavior_next());
17975        assert!(lib.has_xcb_xkb_lock_behavior_end());
17976        assert!(lib.has_xcb_xkb_radio_group_behavior_next());
17977        assert!(lib.has_xcb_xkb_radio_group_behavior_end());
17978        assert!(lib.has_xcb_xkb_overlay_behavior_next());
17979        assert!(lib.has_xcb_xkb_overlay_behavior_end());
17980        assert!(lib.has_xcb_xkb_permament_lock_behavior_next());
17981        assert!(lib.has_xcb_xkb_permament_lock_behavior_end());
17982        assert!(lib.has_xcb_xkb_permament_radio_group_behavior_next());
17983        assert!(lib.has_xcb_xkb_permament_radio_group_behavior_end());
17984        assert!(lib.has_xcb_xkb_permament_overlay_behavior_next());
17985        assert!(lib.has_xcb_xkb_permament_overlay_behavior_end());
17986        assert!(lib.has_xcb_xkb_behavior_next());
17987        assert!(lib.has_xcb_xkb_behavior_end());
17988        assert!(lib.has_xcb_xkb_set_behavior_next());
17989        assert!(lib.has_xcb_xkb_set_behavior_end());
17990        assert!(lib.has_xcb_xkb_set_explicit_next());
17991        assert!(lib.has_xcb_xkb_set_explicit_end());
17992        assert!(lib.has_xcb_xkb_key_mod_map_next());
17993        assert!(lib.has_xcb_xkb_key_mod_map_end());
17994        assert!(lib.has_xcb_xkb_key_v_mod_map_next());
17995        assert!(lib.has_xcb_xkb_key_v_mod_map_end());
17996        assert!(lib.has_xcb_xkb_kt_set_map_entry_next());
17997        assert!(lib.has_xcb_xkb_kt_set_map_entry_end());
17998        assert!(lib.has_xcb_xkb_set_key_type_sizeof());
17999        assert!(lib.has_xcb_xkb_set_key_type_entries());
18000        assert!(lib.has_xcb_xkb_set_key_type_entries_length());
18001        assert!(lib.has_xcb_xkb_set_key_type_entries_iterator());
18002        assert!(lib.has_xcb_xkb_set_key_type_preserve_entries());
18003        assert!(lib.has_xcb_xkb_set_key_type_preserve_entries_length());
18004        assert!(lib.has_xcb_xkb_set_key_type_preserve_entries_iterator());
18005        assert!(lib.has_xcb_xkb_set_key_type_next());
18006        assert!(lib.has_xcb_xkb_set_key_type_end());
18007        assert!(lib.has_xcb_xkb_string8_next());
18008        assert!(lib.has_xcb_xkb_string8_end());
18009        assert!(lib.has_xcb_xkb_outline_sizeof());
18010        assert!(lib.has_xcb_xkb_outline_points());
18011        assert!(lib.has_xcb_xkb_outline_points_length());
18012        assert!(lib.has_xcb_xkb_outline_points_iterator());
18013        assert!(lib.has_xcb_xkb_outline_next());
18014        assert!(lib.has_xcb_xkb_outline_end());
18015        assert!(lib.has_xcb_xkb_shape_sizeof());
18016        assert!(lib.has_xcb_xkb_shape_outlines_length());
18017        assert!(lib.has_xcb_xkb_shape_outlines_iterator());
18018        assert!(lib.has_xcb_xkb_shape_next());
18019        assert!(lib.has_xcb_xkb_shape_end());
18020        assert!(lib.has_xcb_xkb_key_next());
18021        assert!(lib.has_xcb_xkb_key_end());
18022        assert!(lib.has_xcb_xkb_overlay_key_next());
18023        assert!(lib.has_xcb_xkb_overlay_key_end());
18024        assert!(lib.has_xcb_xkb_overlay_row_sizeof());
18025        assert!(lib.has_xcb_xkb_overlay_row_keys());
18026        assert!(lib.has_xcb_xkb_overlay_row_keys_length());
18027        assert!(lib.has_xcb_xkb_overlay_row_keys_iterator());
18028        assert!(lib.has_xcb_xkb_overlay_row_next());
18029        assert!(lib.has_xcb_xkb_overlay_row_end());
18030        assert!(lib.has_xcb_xkb_overlay_sizeof());
18031        assert!(lib.has_xcb_xkb_overlay_rows_length());
18032        assert!(lib.has_xcb_xkb_overlay_rows_iterator());
18033        assert!(lib.has_xcb_xkb_overlay_next());
18034        assert!(lib.has_xcb_xkb_overlay_end());
18035        assert!(lib.has_xcb_xkb_row_sizeof());
18036        assert!(lib.has_xcb_xkb_row_keys());
18037        assert!(lib.has_xcb_xkb_row_keys_length());
18038        assert!(lib.has_xcb_xkb_row_keys_iterator());
18039        assert!(lib.has_xcb_xkb_row_next());
18040        assert!(lib.has_xcb_xkb_row_end());
18041        assert!(lib.has_xcb_xkb_listing_sizeof());
18042        assert!(lib.has_xcb_xkb_listing_string());
18043        assert!(lib.has_xcb_xkb_listing_string_length());
18044        assert!(lib.has_xcb_xkb_listing_string_end());
18045        assert!(lib.has_xcb_xkb_listing_next());
18046        assert!(lib.has_xcb_xkb_listing_end());
18047        assert!(lib.has_xcb_xkb_device_led_info_sizeof());
18048        assert!(lib.has_xcb_xkb_device_led_info_names());
18049        assert!(lib.has_xcb_xkb_device_led_info_names_length());
18050        assert!(lib.has_xcb_xkb_device_led_info_names_end());
18051        assert!(lib.has_xcb_xkb_device_led_info_maps());
18052        assert!(lib.has_xcb_xkb_device_led_info_maps_length());
18053        assert!(lib.has_xcb_xkb_device_led_info_maps_iterator());
18054        assert!(lib.has_xcb_xkb_device_led_info_next());
18055        assert!(lib.has_xcb_xkb_device_led_info_end());
18056        assert!(lib.has_xcb_xkb_sa_no_action_next());
18057        assert!(lib.has_xcb_xkb_sa_no_action_end());
18058        assert!(lib.has_xcb_xkb_sa_set_mods_next());
18059        assert!(lib.has_xcb_xkb_sa_set_mods_end());
18060        assert!(lib.has_xcb_xkb_sa_latch_mods_next());
18061        assert!(lib.has_xcb_xkb_sa_latch_mods_end());
18062        assert!(lib.has_xcb_xkb_sa_lock_mods_next());
18063        assert!(lib.has_xcb_xkb_sa_lock_mods_end());
18064        assert!(lib.has_xcb_xkb_sa_set_group_next());
18065        assert!(lib.has_xcb_xkb_sa_set_group_end());
18066        assert!(lib.has_xcb_xkb_sa_latch_group_next());
18067        assert!(lib.has_xcb_xkb_sa_latch_group_end());
18068        assert!(lib.has_xcb_xkb_sa_lock_group_next());
18069        assert!(lib.has_xcb_xkb_sa_lock_group_end());
18070        assert!(lib.has_xcb_xkb_sa_move_ptr_next());
18071        assert!(lib.has_xcb_xkb_sa_move_ptr_end());
18072        assert!(lib.has_xcb_xkb_sa_ptr_btn_next());
18073        assert!(lib.has_xcb_xkb_sa_ptr_btn_end());
18074        assert!(lib.has_xcb_xkb_sa_lock_ptr_btn_next());
18075        assert!(lib.has_xcb_xkb_sa_lock_ptr_btn_end());
18076        assert!(lib.has_xcb_xkb_sa_set_ptr_dflt_next());
18077        assert!(lib.has_xcb_xkb_sa_set_ptr_dflt_end());
18078        assert!(lib.has_xcb_xkb_sa_iso_lock_next());
18079        assert!(lib.has_xcb_xkb_sa_iso_lock_end());
18080        assert!(lib.has_xcb_xkb_sa_terminate_next());
18081        assert!(lib.has_xcb_xkb_sa_terminate_end());
18082        assert!(lib.has_xcb_xkb_sa_switch_screen_next());
18083        assert!(lib.has_xcb_xkb_sa_switch_screen_end());
18084        assert!(lib.has_xcb_xkb_sa_set_controls_next());
18085        assert!(lib.has_xcb_xkb_sa_set_controls_end());
18086        assert!(lib.has_xcb_xkb_sa_lock_controls_next());
18087        assert!(lib.has_xcb_xkb_sa_lock_controls_end());
18088        assert!(lib.has_xcb_xkb_sa_action_message_next());
18089        assert!(lib.has_xcb_xkb_sa_action_message_end());
18090        assert!(lib.has_xcb_xkb_sa_redirect_key_next());
18091        assert!(lib.has_xcb_xkb_sa_redirect_key_end());
18092        assert!(lib.has_xcb_xkb_sa_device_btn_next());
18093        assert!(lib.has_xcb_xkb_sa_device_btn_end());
18094        assert!(lib.has_xcb_xkb_sa_lock_device_btn_next());
18095        assert!(lib.has_xcb_xkb_sa_lock_device_btn_end());
18096        assert!(lib.has_xcb_xkb_sa_device_valuator_next());
18097        assert!(lib.has_xcb_xkb_sa_device_valuator_end());
18098        assert!(lib.has_xcb_xkb_si_action_next());
18099        assert!(lib.has_xcb_xkb_si_action_end());
18100        assert!(lib.has_xcb_xkb_sym_interpret_next());
18101        assert!(lib.has_xcb_xkb_sym_interpret_end());
18102        assert!(lib.has_xcb_xkb_action_next());
18103        assert!(lib.has_xcb_xkb_action_end());
18104        assert!(lib.has_xcb_xkb_use_extension());
18105        assert!(lib.has_xcb_xkb_use_extension_unchecked());
18106        assert!(lib.has_xcb_xkb_use_extension_reply());
18107        assert!(lib.has_xcb_xkb_select_events_details_serialize());
18108        assert!(lib.has_xcb_xkb_select_events_details_unpack());
18109        assert!(lib.has_xcb_xkb_select_events_details_sizeof());
18110        assert!(lib.has_xcb_xkb_select_events_sizeof());
18111        assert!(lib.has_xcb_xkb_select_events_checked());
18112        assert!(lib.has_xcb_xkb_select_events());
18113        assert!(lib.has_xcb_xkb_select_events_aux_checked());
18114        assert!(lib.has_xcb_xkb_select_events_aux());
18115        assert!(lib.has_xcb_xkb_select_events_details());
18116        assert!(lib.has_xcb_xkb_bell_checked());
18117        assert!(lib.has_xcb_xkb_bell());
18118        assert!(lib.has_xcb_xkb_get_state());
18119        assert!(lib.has_xcb_xkb_get_state_unchecked());
18120        assert!(lib.has_xcb_xkb_get_state_reply());
18121        assert!(lib.has_xcb_xkb_latch_lock_state_checked());
18122        assert!(lib.has_xcb_xkb_latch_lock_state());
18123        assert!(lib.has_xcb_xkb_get_controls());
18124        assert!(lib.has_xcb_xkb_get_controls_unchecked());
18125        assert!(lib.has_xcb_xkb_get_controls_reply());
18126        assert!(lib.has_xcb_xkb_set_controls_checked());
18127        assert!(lib.has_xcb_xkb_set_controls());
18128        assert!(lib.has_xcb_xkb_get_map_map_types_rtrn_length());
18129        assert!(lib.has_xcb_xkb_get_map_map_types_rtrn_iterator());
18130        assert!(lib.has_xcb_xkb_get_map_map_syms_rtrn_length());
18131        assert!(lib.has_xcb_xkb_get_map_map_syms_rtrn_iterator());
18132        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_count());
18133        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_count_length());
18134        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_count_end());
18135        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_acts());
18136        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_acts_length());
18137        assert!(lib.has_xcb_xkb_get_map_map_acts_rtrn_acts_iterator());
18138        assert!(lib.has_xcb_xkb_get_map_map_behaviors_rtrn());
18139        assert!(lib.has_xcb_xkb_get_map_map_behaviors_rtrn_length());
18140        assert!(lib.has_xcb_xkb_get_map_map_behaviors_rtrn_iterator());
18141        assert!(lib.has_xcb_xkb_get_map_map_vmods_rtrn());
18142        assert!(lib.has_xcb_xkb_get_map_map_vmods_rtrn_length());
18143        assert!(lib.has_xcb_xkb_get_map_map_vmods_rtrn_end());
18144        assert!(lib.has_xcb_xkb_get_map_map_explicit_rtrn());
18145        assert!(lib.has_xcb_xkb_get_map_map_explicit_rtrn_length());
18146        assert!(lib.has_xcb_xkb_get_map_map_explicit_rtrn_iterator());
18147        assert!(lib.has_xcb_xkb_get_map_map_modmap_rtrn());
18148        assert!(lib.has_xcb_xkb_get_map_map_modmap_rtrn_length());
18149        assert!(lib.has_xcb_xkb_get_map_map_modmap_rtrn_iterator());
18150        assert!(lib.has_xcb_xkb_get_map_map_vmodmap_rtrn());
18151        assert!(lib.has_xcb_xkb_get_map_map_vmodmap_rtrn_length());
18152        assert!(lib.has_xcb_xkb_get_map_map_vmodmap_rtrn_iterator());
18153        assert!(lib.has_xcb_xkb_get_map_map_serialize());
18154        assert!(lib.has_xcb_xkb_get_map_map_unpack());
18155        assert!(lib.has_xcb_xkb_get_map_map_sizeof());
18156        assert!(lib.has_xcb_xkb_get_map_sizeof());
18157        assert!(lib.has_xcb_xkb_get_map());
18158        assert!(lib.has_xcb_xkb_get_map_unchecked());
18159        assert!(lib.has_xcb_xkb_get_map_map());
18160        assert!(lib.has_xcb_xkb_get_map_reply());
18161        assert!(lib.has_xcb_xkb_set_map_values_types_length());
18162        assert!(lib.has_xcb_xkb_set_map_values_types_iterator());
18163        assert!(lib.has_xcb_xkb_set_map_values_syms_length());
18164        assert!(lib.has_xcb_xkb_set_map_values_syms_iterator());
18165        assert!(lib.has_xcb_xkb_set_map_values_actions_count());
18166        assert!(lib.has_xcb_xkb_set_map_values_actions_count_length());
18167        assert!(lib.has_xcb_xkb_set_map_values_actions_count_end());
18168        assert!(lib.has_xcb_xkb_set_map_values_actions());
18169        assert!(lib.has_xcb_xkb_set_map_values_actions_length());
18170        assert!(lib.has_xcb_xkb_set_map_values_actions_iterator());
18171        assert!(lib.has_xcb_xkb_set_map_values_behaviors());
18172        assert!(lib.has_xcb_xkb_set_map_values_behaviors_length());
18173        assert!(lib.has_xcb_xkb_set_map_values_behaviors_iterator());
18174        assert!(lib.has_xcb_xkb_set_map_values_vmods());
18175        assert!(lib.has_xcb_xkb_set_map_values_vmods_length());
18176        assert!(lib.has_xcb_xkb_set_map_values_vmods_end());
18177        assert!(lib.has_xcb_xkb_set_map_values_explicit());
18178        assert!(lib.has_xcb_xkb_set_map_values_explicit_length());
18179        assert!(lib.has_xcb_xkb_set_map_values_explicit_iterator());
18180        assert!(lib.has_xcb_xkb_set_map_values_modmap());
18181        assert!(lib.has_xcb_xkb_set_map_values_modmap_length());
18182        assert!(lib.has_xcb_xkb_set_map_values_modmap_iterator());
18183        assert!(lib.has_xcb_xkb_set_map_values_vmodmap());
18184        assert!(lib.has_xcb_xkb_set_map_values_vmodmap_length());
18185        assert!(lib.has_xcb_xkb_set_map_values_vmodmap_iterator());
18186        assert!(lib.has_xcb_xkb_set_map_values_serialize());
18187        assert!(lib.has_xcb_xkb_set_map_values_unpack());
18188        assert!(lib.has_xcb_xkb_set_map_values_sizeof());
18189        assert!(lib.has_xcb_xkb_set_map_sizeof());
18190        assert!(lib.has_xcb_xkb_set_map_checked());
18191        assert!(lib.has_xcb_xkb_set_map());
18192        assert!(lib.has_xcb_xkb_set_map_aux_checked());
18193        assert!(lib.has_xcb_xkb_set_map_aux());
18194        assert!(lib.has_xcb_xkb_set_map_values());
18195        assert!(lib.has_xcb_xkb_get_compat_map_sizeof());
18196        assert!(lib.has_xcb_xkb_get_compat_map());
18197        assert!(lib.has_xcb_xkb_get_compat_map_unchecked());
18198        assert!(lib.has_xcb_xkb_get_compat_map_si_rtrn());
18199        assert!(lib.has_xcb_xkb_get_compat_map_si_rtrn_length());
18200        assert!(lib.has_xcb_xkb_get_compat_map_si_rtrn_iterator());
18201        assert!(lib.has_xcb_xkb_get_compat_map_group_rtrn());
18202        assert!(lib.has_xcb_xkb_get_compat_map_group_rtrn_length());
18203        assert!(lib.has_xcb_xkb_get_compat_map_group_rtrn_iterator());
18204        assert!(lib.has_xcb_xkb_get_compat_map_reply());
18205        assert!(lib.has_xcb_xkb_set_compat_map_sizeof());
18206        assert!(lib.has_xcb_xkb_set_compat_map_checked());
18207        assert!(lib.has_xcb_xkb_set_compat_map());
18208        assert!(lib.has_xcb_xkb_set_compat_map_si());
18209        assert!(lib.has_xcb_xkb_set_compat_map_si_length());
18210        assert!(lib.has_xcb_xkb_set_compat_map_si_iterator());
18211        assert!(lib.has_xcb_xkb_set_compat_map_group_maps());
18212        assert!(lib.has_xcb_xkb_set_compat_map_group_maps_length());
18213        assert!(lib.has_xcb_xkb_set_compat_map_group_maps_iterator());
18214        assert!(lib.has_xcb_xkb_get_indicator_state());
18215        assert!(lib.has_xcb_xkb_get_indicator_state_unchecked());
18216        assert!(lib.has_xcb_xkb_get_indicator_state_reply());
18217        assert!(lib.has_xcb_xkb_get_indicator_map_sizeof());
18218        assert!(lib.has_xcb_xkb_get_indicator_map());
18219        assert!(lib.has_xcb_xkb_get_indicator_map_unchecked());
18220        assert!(lib.has_xcb_xkb_get_indicator_map_maps());
18221        assert!(lib.has_xcb_xkb_get_indicator_map_maps_length());
18222        assert!(lib.has_xcb_xkb_get_indicator_map_maps_iterator());
18223        assert!(lib.has_xcb_xkb_get_indicator_map_reply());
18224        assert!(lib.has_xcb_xkb_set_indicator_map_sizeof());
18225        assert!(lib.has_xcb_xkb_set_indicator_map_checked());
18226        assert!(lib.has_xcb_xkb_set_indicator_map());
18227        assert!(lib.has_xcb_xkb_set_indicator_map_maps());
18228        assert!(lib.has_xcb_xkb_set_indicator_map_maps_length());
18229        assert!(lib.has_xcb_xkb_set_indicator_map_maps_iterator());
18230        assert!(lib.has_xcb_xkb_get_named_indicator());
18231        assert!(lib.has_xcb_xkb_get_named_indicator_unchecked());
18232        assert!(lib.has_xcb_xkb_get_named_indicator_reply());
18233        assert!(lib.has_xcb_xkb_set_named_indicator_checked());
18234        assert!(lib.has_xcb_xkb_set_named_indicator());
18235        assert!(lib.has_xcb_xkb_get_names_value_list_type_names());
18236        assert!(lib.has_xcb_xkb_get_names_value_list_type_names_length());
18237        assert!(lib.has_xcb_xkb_get_names_value_list_type_names_end());
18238        assert!(lib.has_xcb_xkb_get_names_value_list_n_levels_per_type());
18239        assert!(lib.has_xcb_xkb_get_names_value_list_n_levels_per_type_length());
18240        assert!(lib.has_xcb_xkb_get_names_value_list_n_levels_per_type_end());
18241        assert!(lib.has_xcb_xkb_get_names_value_list_kt_level_names());
18242        assert!(lib.has_xcb_xkb_get_names_value_list_kt_level_names_length());
18243        assert!(lib.has_xcb_xkb_get_names_value_list_kt_level_names_end());
18244        assert!(lib.has_xcb_xkb_get_names_value_list_indicator_names());
18245        assert!(lib.has_xcb_xkb_get_names_value_list_indicator_names_length());
18246        assert!(lib.has_xcb_xkb_get_names_value_list_indicator_names_end());
18247        assert!(lib.has_xcb_xkb_get_names_value_list_virtual_mod_names());
18248        assert!(lib.has_xcb_xkb_get_names_value_list_virtual_mod_names_length());
18249        assert!(lib.has_xcb_xkb_get_names_value_list_virtual_mod_names_end());
18250        assert!(lib.has_xcb_xkb_get_names_value_list_groups());
18251        assert!(lib.has_xcb_xkb_get_names_value_list_groups_length());
18252        assert!(lib.has_xcb_xkb_get_names_value_list_groups_end());
18253        assert!(lib.has_xcb_xkb_get_names_value_list_key_names());
18254        assert!(lib.has_xcb_xkb_get_names_value_list_key_names_length());
18255        assert!(lib.has_xcb_xkb_get_names_value_list_key_names_iterator());
18256        assert!(lib.has_xcb_xkb_get_names_value_list_key_aliases());
18257        assert!(lib.has_xcb_xkb_get_names_value_list_key_aliases_length());
18258        assert!(lib.has_xcb_xkb_get_names_value_list_key_aliases_iterator());
18259        assert!(lib.has_xcb_xkb_get_names_value_list_radio_group_names());
18260        assert!(lib.has_xcb_xkb_get_names_value_list_radio_group_names_length());
18261        assert!(lib.has_xcb_xkb_get_names_value_list_radio_group_names_end());
18262        assert!(lib.has_xcb_xkb_get_names_value_list_serialize());
18263        assert!(lib.has_xcb_xkb_get_names_value_list_unpack());
18264        assert!(lib.has_xcb_xkb_get_names_value_list_sizeof());
18265        assert!(lib.has_xcb_xkb_get_names_sizeof());
18266        assert!(lib.has_xcb_xkb_get_names());
18267        assert!(lib.has_xcb_xkb_get_names_unchecked());
18268        assert!(lib.has_xcb_xkb_get_names_value_list());
18269        assert!(lib.has_xcb_xkb_get_names_reply());
18270        assert!(lib.has_xcb_xkb_set_names_values_type_names());
18271        assert!(lib.has_xcb_xkb_set_names_values_type_names_length());
18272        assert!(lib.has_xcb_xkb_set_names_values_type_names_end());
18273        assert!(lib.has_xcb_xkb_set_names_values_n_levels_per_type());
18274        assert!(lib.has_xcb_xkb_set_names_values_n_levels_per_type_length());
18275        assert!(lib.has_xcb_xkb_set_names_values_n_levels_per_type_end());
18276        assert!(lib.has_xcb_xkb_set_names_values_kt_level_names());
18277        assert!(lib.has_xcb_xkb_set_names_values_kt_level_names_length());
18278        assert!(lib.has_xcb_xkb_set_names_values_kt_level_names_end());
18279        assert!(lib.has_xcb_xkb_set_names_values_indicator_names());
18280        assert!(lib.has_xcb_xkb_set_names_values_indicator_names_length());
18281        assert!(lib.has_xcb_xkb_set_names_values_indicator_names_end());
18282        assert!(lib.has_xcb_xkb_set_names_values_virtual_mod_names());
18283        assert!(lib.has_xcb_xkb_set_names_values_virtual_mod_names_length());
18284        assert!(lib.has_xcb_xkb_set_names_values_virtual_mod_names_end());
18285        assert!(lib.has_xcb_xkb_set_names_values_groups());
18286        assert!(lib.has_xcb_xkb_set_names_values_groups_length());
18287        assert!(lib.has_xcb_xkb_set_names_values_groups_end());
18288        assert!(lib.has_xcb_xkb_set_names_values_key_names());
18289        assert!(lib.has_xcb_xkb_set_names_values_key_names_length());
18290        assert!(lib.has_xcb_xkb_set_names_values_key_names_iterator());
18291        assert!(lib.has_xcb_xkb_set_names_values_key_aliases());
18292        assert!(lib.has_xcb_xkb_set_names_values_key_aliases_length());
18293        assert!(lib.has_xcb_xkb_set_names_values_key_aliases_iterator());
18294        assert!(lib.has_xcb_xkb_set_names_values_radio_group_names());
18295        assert!(lib.has_xcb_xkb_set_names_values_radio_group_names_length());
18296        assert!(lib.has_xcb_xkb_set_names_values_radio_group_names_end());
18297        assert!(lib.has_xcb_xkb_set_names_values_serialize());
18298        assert!(lib.has_xcb_xkb_set_names_values_unpack());
18299        assert!(lib.has_xcb_xkb_set_names_values_sizeof());
18300        assert!(lib.has_xcb_xkb_set_names_sizeof());
18301        assert!(lib.has_xcb_xkb_set_names_checked());
18302        assert!(lib.has_xcb_xkb_set_names());
18303        assert!(lib.has_xcb_xkb_set_names_aux_checked());
18304        assert!(lib.has_xcb_xkb_set_names_aux());
18305        assert!(lib.has_xcb_xkb_set_names_values());
18306        assert!(lib.has_xcb_xkb_per_client_flags());
18307        assert!(lib.has_xcb_xkb_per_client_flags_unchecked());
18308        assert!(lib.has_xcb_xkb_per_client_flags_reply());
18309        assert!(lib.has_xcb_xkb_list_components_sizeof());
18310        assert!(lib.has_xcb_xkb_list_components());
18311        assert!(lib.has_xcb_xkb_list_components_unchecked());
18312        assert!(lib.has_xcb_xkb_list_components_keymaps_length());
18313        assert!(lib.has_xcb_xkb_list_components_keymaps_iterator());
18314        assert!(lib.has_xcb_xkb_list_components_keycodes_length());
18315        assert!(lib.has_xcb_xkb_list_components_keycodes_iterator());
18316        assert!(lib.has_xcb_xkb_list_components_types_length());
18317        assert!(lib.has_xcb_xkb_list_components_types_iterator());
18318        assert!(lib.has_xcb_xkb_list_components_compat_maps_length());
18319        assert!(lib.has_xcb_xkb_list_components_compat_maps_iterator());
18320        assert!(lib.has_xcb_xkb_list_components_symbols_length());
18321        assert!(lib.has_xcb_xkb_list_components_symbols_iterator());
18322        assert!(lib.has_xcb_xkb_list_components_geometries_length());
18323        assert!(lib.has_xcb_xkb_list_components_geometries_iterator());
18324        assert!(lib.has_xcb_xkb_list_components_reply());
18325        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_length());
18326        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_types_rtrn_iterator());
18327        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_length());
18328        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_syms_rtrn_iterator());
18329        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count());
18330        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_length());
18331        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_count_end());
18332        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts());
18333        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_length());
18334        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_acts_rtrn_acts_iterator());
18335        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn());
18336        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_length());
18337        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_behaviors_rtrn_iterator());
18338        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn());
18339        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_length());
18340        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmods_rtrn_end());
18341        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn());
18342        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_length());
18343        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_explicit_rtrn_iterator());
18344        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn());
18345        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_length());
18346        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_modmap_rtrn_iterator());
18347        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn());
18348        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_length());
18349        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_vmodmap_rtrn_iterator());
18350        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_serialize());
18351        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_unpack());
18352        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map_sizeof());
18353        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names());
18354        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_length());
18355        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_type_names_end());
18356        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type());
18357        assert!(
18358            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_length()
18359        );
18360        assert!(
18361            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_n_levels_per_type_end()
18362        );
18363        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names());
18364        assert!(
18365            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_length()
18366        );
18367        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_kt_level_names_end());
18368        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names());
18369        assert!(
18370            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_length()
18371        );
18372        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_indicator_names_end());
18373        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names());
18374        assert!(
18375            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_length()
18376        );
18377        assert!(
18378            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_virtual_mod_names_end()
18379        );
18380        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups());
18381        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_length());
18382        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_groups_end());
18383        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names());
18384        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_length());
18385        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_names_iterator());
18386        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases());
18387        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_length());
18388        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_key_aliases_iterator());
18389        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names());
18390        assert!(
18391            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_length()
18392        );
18393        assert!(
18394            lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_radio_group_names_end()
18395        );
18396        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_serialize());
18397        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_unpack());
18398        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list_sizeof());
18399        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_types_map());
18400        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn());
18401        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_length());
18402        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_si_rtrn_iterator());
18403        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn());
18404        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_length());
18405        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_compat_map_group_rtrn_iterator());
18406        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps());
18407        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_length());
18408        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_indicator_maps_maps_iterator());
18409        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_key_names_value_list());
18410        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_geometry_label_font());
18411        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_serialize());
18412        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_unpack());
18413        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies_sizeof());
18414        assert!(lib.has_xcb_xkb_get_kbd_by_name_sizeof());
18415        assert!(lib.has_xcb_xkb_get_kbd_by_name());
18416        assert!(lib.has_xcb_xkb_get_kbd_by_name_unchecked());
18417        assert!(lib.has_xcb_xkb_get_kbd_by_name_replies());
18418        assert!(lib.has_xcb_xkb_get_kbd_by_name_reply());
18419        assert!(lib.has_xcb_xkb_get_device_info_sizeof());
18420        assert!(lib.has_xcb_xkb_get_device_info());
18421        assert!(lib.has_xcb_xkb_get_device_info_unchecked());
18422        assert!(lib.has_xcb_xkb_get_device_info_name());
18423        assert!(lib.has_xcb_xkb_get_device_info_name_length());
18424        assert!(lib.has_xcb_xkb_get_device_info_name_end());
18425        assert!(lib.has_xcb_xkb_get_device_info_btn_actions());
18426        assert!(lib.has_xcb_xkb_get_device_info_btn_actions_length());
18427        assert!(lib.has_xcb_xkb_get_device_info_btn_actions_iterator());
18428        assert!(lib.has_xcb_xkb_get_device_info_leds_length());
18429        assert!(lib.has_xcb_xkb_get_device_info_leds_iterator());
18430        assert!(lib.has_xcb_xkb_get_device_info_reply());
18431        assert!(lib.has_xcb_xkb_set_device_info_sizeof());
18432        assert!(lib.has_xcb_xkb_set_device_info_checked());
18433        assert!(lib.has_xcb_xkb_set_device_info());
18434        assert!(lib.has_xcb_xkb_set_device_info_btn_actions());
18435        assert!(lib.has_xcb_xkb_set_device_info_btn_actions_length());
18436        assert!(lib.has_xcb_xkb_set_device_info_btn_actions_iterator());
18437        assert!(lib.has_xcb_xkb_set_device_info_leds_length());
18438        assert!(lib.has_xcb_xkb_set_device_info_leds_iterator());
18439        assert!(lib.has_xcb_xkb_set_debugging_flags_sizeof());
18440        assert!(lib.has_xcb_xkb_set_debugging_flags());
18441        assert!(lib.has_xcb_xkb_set_debugging_flags_unchecked());
18442        assert!(lib.has_xcb_xkb_set_debugging_flags_reply());
18443    }
18444}