x11rb/protocol/
xkb.rs

1// This file contains generated code. Do not edit directly.
2// To regenerate this, run 'make'.
3
4//! Bindings to the `xkb` X11 extension.
5
6#![allow(clippy::too_many_arguments)]
7
8#[allow(unused_imports)]
9use std::borrow::Cow;
10#[allow(unused_imports)]
11use std::convert::TryInto;
12#[allow(unused_imports)]
13use crate::utils::RawFdContainer;
14#[allow(unused_imports)]
15use crate::x11_utils::{Request, RequestHeader, Serialize, TryParse, TryParseFd};
16use std::io::IoSlice;
17use crate::connection::RequestConnection;
18#[allow(unused_imports)]
19use crate::connection::Connection as X11Connection;
20#[allow(unused_imports)]
21use crate::cookie::{Cookie, CookieWithFds, VoidCookie};
22use crate::errors::ConnectionError;
23#[allow(unused_imports)]
24use crate::errors::ReplyOrIdError;
25#[allow(unused_imports)]
26use super::xproto;
27
28pub use x11rb_protocol::protocol::xkb::*;
29
30/// Get the major opcode of this extension
31fn major_opcode<Conn: RequestConnection + ?Sized>(conn: &Conn) -> Result<u8, ConnectionError> {
32    let info = conn.extension_information(X11_EXTENSION_NAME)?;
33    let info = info.ok_or(ConnectionError::UnsupportedExtension)?;
34    Ok(info.major_opcode)
35}
36
37pub fn use_extension<Conn>(conn: &Conn, wanted_major: u16, wanted_minor: u16) -> Result<Cookie<'_, Conn, UseExtensionReply>, ConnectionError>
38where
39    Conn: RequestConnection + ?Sized,
40{
41    let request0 = UseExtensionRequest {
42        wanted_major,
43        wanted_minor,
44    };
45    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
46    let slices = [IoSlice::new(&bytes[0])];
47    assert_eq!(slices.len(), bytes.len());
48    conn.send_request_with_reply(&slices, fds)
49}
50
51pub fn select_events<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, clear: EventType, select_all: EventType, affect_map: MapPart, map: MapPart, details: &'input SelectEventsAux) -> Result<VoidCookie<'c, Conn>, ConnectionError>
52where
53    Conn: RequestConnection + ?Sized,
54{
55    let request0 = SelectEventsRequest {
56        device_spec,
57        clear,
58        select_all,
59        affect_map,
60        map,
61        details: Cow::Borrowed(details),
62    };
63    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
64    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
65    assert_eq!(slices.len(), bytes.len());
66    conn.send_request_without_reply(&slices, fds)
67}
68
69pub fn bell<Conn>(conn: &Conn, device_spec: DeviceSpec, bell_class: BellClassSpec, bell_id: IDSpec, percent: i8, force_sound: bool, event_only: bool, pitch: i16, duration: i16, name: xproto::Atom, window: xproto::Window) -> Result<VoidCookie<'_, Conn>, ConnectionError>
70where
71    Conn: RequestConnection + ?Sized,
72{
73    let request0 = BellRequest {
74        device_spec,
75        bell_class,
76        bell_id,
77        percent,
78        force_sound,
79        event_only,
80        pitch,
81        duration,
82        name,
83        window,
84    };
85    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
86    let slices = [IoSlice::new(&bytes[0])];
87    assert_eq!(slices.len(), bytes.len());
88    conn.send_request_without_reply(&slices, fds)
89}
90
91pub fn get_state<Conn>(conn: &Conn, device_spec: DeviceSpec) -> Result<Cookie<'_, Conn, GetStateReply>, ConnectionError>
92where
93    Conn: RequestConnection + ?Sized,
94{
95    let request0 = GetStateRequest {
96        device_spec,
97    };
98    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
99    let slices = [IoSlice::new(&bytes[0])];
100    assert_eq!(slices.len(), bytes.len());
101    conn.send_request_with_reply(&slices, fds)
102}
103
104pub fn latch_lock_state<Conn>(conn: &Conn, device_spec: DeviceSpec, affect_mod_locks: xproto::ModMask, mod_locks: xproto::ModMask, lock_group: bool, group_lock: Group, affect_mod_latches: xproto::ModMask, latch_group: bool, group_latch: u16) -> Result<VoidCookie<'_, Conn>, ConnectionError>
105where
106    Conn: RequestConnection + ?Sized,
107{
108    let request0 = LatchLockStateRequest {
109        device_spec,
110        affect_mod_locks,
111        mod_locks,
112        lock_group,
113        group_lock,
114        affect_mod_latches,
115        latch_group,
116        group_latch,
117    };
118    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
119    let slices = [IoSlice::new(&bytes[0])];
120    assert_eq!(slices.len(), bytes.len());
121    conn.send_request_without_reply(&slices, fds)
122}
123
124pub fn get_controls<Conn>(conn: &Conn, device_spec: DeviceSpec) -> Result<Cookie<'_, Conn, GetControlsReply>, ConnectionError>
125where
126    Conn: RequestConnection + ?Sized,
127{
128    let request0 = GetControlsRequest {
129        device_spec,
130    };
131    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
132    let slices = [IoSlice::new(&bytes[0])];
133    assert_eq!(slices.len(), bytes.len());
134    conn.send_request_with_reply(&slices, fds)
135}
136
137pub fn set_controls<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, affect_internal_real_mods: xproto::ModMask, internal_real_mods: xproto::ModMask, affect_ignore_lock_real_mods: xproto::ModMask, ignore_lock_real_mods: xproto::ModMask, affect_internal_virtual_mods: VMod, internal_virtual_mods: VMod, affect_ignore_lock_virtual_mods: VMod, ignore_lock_virtual_mods: VMod, mouse_keys_dflt_btn: u8, groups_wrap: u8, access_x_options: AXOption, affect_enabled_controls: BoolCtrl, enabled_controls: BoolCtrl, change_controls: Control, repeat_delay: u16, repeat_interval: u16, slow_keys_delay: u16, debounce_delay: u16, mouse_keys_delay: u16, mouse_keys_interval: u16, mouse_keys_time_to_max: u16, mouse_keys_max_speed: u16, mouse_keys_curve: i16, access_x_timeout: u16, access_x_timeout_mask: BoolCtrl, access_x_timeout_values: BoolCtrl, access_x_timeout_options_mask: AXOption, access_x_timeout_options_values: AXOption, per_key_repeat: &'input [u8; 32]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
138where
139    Conn: RequestConnection + ?Sized,
140{
141    let request0 = SetControlsRequest {
142        device_spec,
143        affect_internal_real_mods,
144        internal_real_mods,
145        affect_ignore_lock_real_mods,
146        ignore_lock_real_mods,
147        affect_internal_virtual_mods,
148        internal_virtual_mods,
149        affect_ignore_lock_virtual_mods,
150        ignore_lock_virtual_mods,
151        mouse_keys_dflt_btn,
152        groups_wrap,
153        access_x_options,
154        affect_enabled_controls,
155        enabled_controls,
156        change_controls,
157        repeat_delay,
158        repeat_interval,
159        slow_keys_delay,
160        debounce_delay,
161        mouse_keys_delay,
162        mouse_keys_interval,
163        mouse_keys_time_to_max,
164        mouse_keys_max_speed,
165        mouse_keys_curve,
166        access_x_timeout,
167        access_x_timeout_mask,
168        access_x_timeout_values,
169        access_x_timeout_options_mask,
170        access_x_timeout_options_values,
171        per_key_repeat: Cow::Borrowed(per_key_repeat),
172    };
173    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
174    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1])];
175    assert_eq!(slices.len(), bytes.len());
176    conn.send_request_without_reply(&slices, fds)
177}
178
179pub fn get_map<Conn>(conn: &Conn, device_spec: DeviceSpec, full: MapPart, partial: MapPart, first_type: u8, n_types: u8, first_key_sym: xproto::Keycode, n_key_syms: u8, first_key_action: xproto::Keycode, n_key_actions: u8, first_key_behavior: xproto::Keycode, n_key_behaviors: u8, virtual_mods: VMod, first_key_explicit: xproto::Keycode, n_key_explicit: u8, first_mod_map_key: xproto::Keycode, n_mod_map_keys: u8, first_v_mod_map_key: xproto::Keycode, n_v_mod_map_keys: u8) -> Result<Cookie<'_, Conn, GetMapReply>, ConnectionError>
180where
181    Conn: RequestConnection + ?Sized,
182{
183    let request0 = GetMapRequest {
184        device_spec,
185        full,
186        partial,
187        first_type,
188        n_types,
189        first_key_sym,
190        n_key_syms,
191        first_key_action,
192        n_key_actions,
193        first_key_behavior,
194        n_key_behaviors,
195        virtual_mods,
196        first_key_explicit,
197        n_key_explicit,
198        first_mod_map_key,
199        n_mod_map_keys,
200        first_v_mod_map_key,
201        n_v_mod_map_keys,
202    };
203    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
204    let slices = [IoSlice::new(&bytes[0])];
205    assert_eq!(slices.len(), bytes.len());
206    conn.send_request_with_reply(&slices, fds)
207}
208
209pub fn set_map<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, flags: SetMapFlags, min_key_code: xproto::Keycode, max_key_code: xproto::Keycode, first_type: u8, n_types: u8, first_key_sym: xproto::Keycode, n_key_syms: u8, total_syms: u16, first_key_action: xproto::Keycode, n_key_actions: u8, total_actions: u16, first_key_behavior: xproto::Keycode, n_key_behaviors: u8, total_key_behaviors: u8, first_key_explicit: xproto::Keycode, n_key_explicit: u8, total_key_explicit: u8, first_mod_map_key: xproto::Keycode, n_mod_map_keys: u8, total_mod_map_keys: u8, first_v_mod_map_key: xproto::Keycode, n_v_mod_map_keys: u8, total_v_mod_map_keys: u8, virtual_mods: VMod, values: &'input SetMapAux) -> Result<VoidCookie<'c, Conn>, ConnectionError>
210where
211    Conn: RequestConnection + ?Sized,
212{
213    let request0 = SetMapRequest {
214        device_spec,
215        flags,
216        min_key_code,
217        max_key_code,
218        first_type,
219        n_types,
220        first_key_sym,
221        n_key_syms,
222        total_syms,
223        first_key_action,
224        n_key_actions,
225        total_actions,
226        first_key_behavior,
227        n_key_behaviors,
228        total_key_behaviors,
229        first_key_explicit,
230        n_key_explicit,
231        total_key_explicit,
232        first_mod_map_key,
233        n_mod_map_keys,
234        total_mod_map_keys,
235        first_v_mod_map_key,
236        n_v_mod_map_keys,
237        total_v_mod_map_keys,
238        virtual_mods,
239        values: Cow::Borrowed(values),
240    };
241    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
242    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
243    assert_eq!(slices.len(), bytes.len());
244    conn.send_request_without_reply(&slices, fds)
245}
246
247pub fn get_compat_map<Conn>(conn: &Conn, device_spec: DeviceSpec, groups: SetOfGroup, get_all_si: bool, first_si: u16, n_si: u16) -> Result<Cookie<'_, Conn, GetCompatMapReply>, ConnectionError>
248where
249    Conn: RequestConnection + ?Sized,
250{
251    let request0 = GetCompatMapRequest {
252        device_spec,
253        groups,
254        get_all_si,
255        first_si,
256        n_si,
257    };
258    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
259    let slices = [IoSlice::new(&bytes[0])];
260    assert_eq!(slices.len(), bytes.len());
261    conn.send_request_with_reply(&slices, fds)
262}
263
264pub fn set_compat_map<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, recompute_actions: bool, truncate_si: bool, groups: SetOfGroup, first_si: u16, si: &'input [SymInterpret], group_maps: &'input [ModDef]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
265where
266    Conn: RequestConnection + ?Sized,
267{
268    let request0 = SetCompatMapRequest {
269        device_spec,
270        recompute_actions,
271        truncate_si,
272        groups,
273        first_si,
274        si: Cow::Borrowed(si),
275        group_maps: Cow::Borrowed(group_maps),
276    };
277    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
278    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3])];
279    assert_eq!(slices.len(), bytes.len());
280    conn.send_request_without_reply(&slices, fds)
281}
282
283pub fn get_indicator_state<Conn>(conn: &Conn, device_spec: DeviceSpec) -> Result<Cookie<'_, Conn, GetIndicatorStateReply>, ConnectionError>
284where
285    Conn: RequestConnection + ?Sized,
286{
287    let request0 = GetIndicatorStateRequest {
288        device_spec,
289    };
290    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
291    let slices = [IoSlice::new(&bytes[0])];
292    assert_eq!(slices.len(), bytes.len());
293    conn.send_request_with_reply(&slices, fds)
294}
295
296pub fn get_indicator_map<Conn>(conn: &Conn, device_spec: DeviceSpec, which: u32) -> Result<Cookie<'_, Conn, GetIndicatorMapReply>, ConnectionError>
297where
298    Conn: RequestConnection + ?Sized,
299{
300    let request0 = GetIndicatorMapRequest {
301        device_spec,
302        which,
303    };
304    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
305    let slices = [IoSlice::new(&bytes[0])];
306    assert_eq!(slices.len(), bytes.len());
307    conn.send_request_with_reply(&slices, fds)
308}
309
310pub fn set_indicator_map<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, which: u32, maps: &'input [IndicatorMap]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
311where
312    Conn: RequestConnection + ?Sized,
313{
314    let request0 = SetIndicatorMapRequest {
315        device_spec,
316        which,
317        maps: Cow::Borrowed(maps),
318    };
319    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
320    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
321    assert_eq!(slices.len(), bytes.len());
322    conn.send_request_without_reply(&slices, fds)
323}
324
325pub fn get_named_indicator<Conn, A>(conn: &Conn, device_spec: DeviceSpec, led_class: LedClass, led_id: A, indicator: xproto::Atom) -> Result<Cookie<'_, Conn, GetNamedIndicatorReply>, ConnectionError>
326where
327    Conn: RequestConnection + ?Sized,
328    A: Into<IDSpec>,
329{
330    let led_id: IDSpec = led_id.into();
331    let request0 = GetNamedIndicatorRequest {
332        device_spec,
333        led_class,
334        led_id,
335        indicator,
336    };
337    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
338    let slices = [IoSlice::new(&bytes[0])];
339    assert_eq!(slices.len(), bytes.len());
340    conn.send_request_with_reply(&slices, fds)
341}
342
343pub fn set_named_indicator<Conn, A>(conn: &Conn, device_spec: DeviceSpec, led_class: LedClass, led_id: A, indicator: xproto::Atom, set_state: bool, on: bool, set_map: bool, create_map: bool, map_flags: IMFlag, map_which_groups: IMGroupsWhich, map_groups: SetOfGroups, map_which_mods: IMModsWhich, map_real_mods: xproto::ModMask, map_vmods: VMod, map_ctrls: BoolCtrl) -> Result<VoidCookie<'_, Conn>, ConnectionError>
344where
345    Conn: RequestConnection + ?Sized,
346    A: Into<IDSpec>,
347{
348    let led_id: IDSpec = led_id.into();
349    let request0 = SetNamedIndicatorRequest {
350        device_spec,
351        led_class,
352        led_id,
353        indicator,
354        set_state,
355        on,
356        set_map,
357        create_map,
358        map_flags,
359        map_which_groups,
360        map_groups,
361        map_which_mods,
362        map_real_mods,
363        map_vmods,
364        map_ctrls,
365    };
366    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
367    let slices = [IoSlice::new(&bytes[0])];
368    assert_eq!(slices.len(), bytes.len());
369    conn.send_request_without_reply(&slices, fds)
370}
371
372pub fn get_names<Conn>(conn: &Conn, device_spec: DeviceSpec, which: NameDetail) -> Result<Cookie<'_, Conn, GetNamesReply>, ConnectionError>
373where
374    Conn: RequestConnection + ?Sized,
375{
376    let request0 = GetNamesRequest {
377        device_spec,
378        which,
379    };
380    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
381    let slices = [IoSlice::new(&bytes[0])];
382    assert_eq!(slices.len(), bytes.len());
383    conn.send_request_with_reply(&slices, fds)
384}
385
386pub fn set_names<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, virtual_mods: VMod, first_type: u8, n_types: u8, first_kt_levelt: u8, n_kt_levels: u8, indicators: u32, group_names: SetOfGroup, n_radio_groups: u8, first_key: xproto::Keycode, n_keys: u8, n_key_aliases: u8, total_kt_level_names: u16, values: &'input SetNamesAux) -> Result<VoidCookie<'c, Conn>, ConnectionError>
387where
388    Conn: RequestConnection + ?Sized,
389{
390    let request0 = SetNamesRequest {
391        device_spec,
392        virtual_mods,
393        first_type,
394        n_types,
395        first_kt_levelt,
396        n_kt_levels,
397        indicators,
398        group_names,
399        n_radio_groups,
400        first_key,
401        n_keys,
402        n_key_aliases,
403        total_kt_level_names,
404        values: Cow::Borrowed(values),
405    };
406    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
407    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
408    assert_eq!(slices.len(), bytes.len());
409    conn.send_request_without_reply(&slices, fds)
410}
411
412pub fn per_client_flags<Conn>(conn: &Conn, device_spec: DeviceSpec, change: PerClientFlag, value: PerClientFlag, ctrls_to_change: BoolCtrl, auto_ctrls: BoolCtrl, auto_ctrls_values: BoolCtrl) -> Result<Cookie<'_, Conn, PerClientFlagsReply>, ConnectionError>
413where
414    Conn: RequestConnection + ?Sized,
415{
416    let request0 = PerClientFlagsRequest {
417        device_spec,
418        change,
419        value,
420        ctrls_to_change,
421        auto_ctrls,
422        auto_ctrls_values,
423    };
424    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
425    let slices = [IoSlice::new(&bytes[0])];
426    assert_eq!(slices.len(), bytes.len());
427    conn.send_request_with_reply(&slices, fds)
428}
429
430pub fn list_components<Conn>(conn: &Conn, device_spec: DeviceSpec, max_names: u16) -> Result<Cookie<'_, Conn, ListComponentsReply>, ConnectionError>
431where
432    Conn: RequestConnection + ?Sized,
433{
434    let request0 = ListComponentsRequest {
435        device_spec,
436        max_names,
437    };
438    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
439    let slices = [IoSlice::new(&bytes[0])];
440    assert_eq!(slices.len(), bytes.len());
441    conn.send_request_with_reply(&slices, fds)
442}
443
444pub fn get_kbd_by_name<Conn>(conn: &Conn, device_spec: DeviceSpec, need: GBNDetail, want: GBNDetail, load: bool) -> Result<Cookie<'_, Conn, GetKbdByNameReply>, ConnectionError>
445where
446    Conn: RequestConnection + ?Sized,
447{
448    let request0 = GetKbdByNameRequest {
449        device_spec,
450        need,
451        want,
452        load,
453    };
454    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
455    let slices = [IoSlice::new(&bytes[0])];
456    assert_eq!(slices.len(), bytes.len());
457    conn.send_request_with_reply(&slices, fds)
458}
459
460pub fn get_device_info<Conn, A>(conn: &Conn, device_spec: DeviceSpec, wanted: XIFeature, all_buttons: bool, first_button: u8, n_buttons: u8, led_class: LedClass, led_id: A) -> Result<Cookie<'_, Conn, GetDeviceInfoReply>, ConnectionError>
461where
462    Conn: RequestConnection + ?Sized,
463    A: Into<IDSpec>,
464{
465    let led_id: IDSpec = led_id.into();
466    let request0 = GetDeviceInfoRequest {
467        device_spec,
468        wanted,
469        all_buttons,
470        first_button,
471        n_buttons,
472        led_class,
473        led_id,
474    };
475    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
476    let slices = [IoSlice::new(&bytes[0])];
477    assert_eq!(slices.len(), bytes.len());
478    conn.send_request_with_reply(&slices, fds)
479}
480
481pub fn set_device_info<'c, 'input, Conn>(conn: &'c Conn, device_spec: DeviceSpec, first_btn: u8, change: XIFeature, btn_actions: &'input [Action], leds: &'input [DeviceLedInfo]) -> Result<VoidCookie<'c, Conn>, ConnectionError>
482where
483    Conn: RequestConnection + ?Sized,
484{
485    let request0 = SetDeviceInfoRequest {
486        device_spec,
487        first_btn,
488        change,
489        btn_actions: Cow::Borrowed(btn_actions),
490        leds: Cow::Borrowed(leds),
491    };
492    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
493    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2]), IoSlice::new(&bytes[3])];
494    assert_eq!(slices.len(), bytes.len());
495    conn.send_request_without_reply(&slices, fds)
496}
497
498pub fn set_debugging_flags<'c, 'input, Conn>(conn: &'c Conn, affect_flags: u32, flags: u32, affect_ctrls: u32, ctrls: u32, message: &'input [String8]) -> Result<Cookie<'c, Conn, SetDebuggingFlagsReply>, ConnectionError>
499where
500    Conn: RequestConnection + ?Sized,
501{
502    let request0 = SetDebuggingFlagsRequest {
503        affect_flags,
504        flags,
505        affect_ctrls,
506        ctrls,
507        message: Cow::Borrowed(message),
508    };
509    let (bytes, fds) = request0.serialize(major_opcode(conn)?);
510    let slices = [IoSlice::new(&bytes[0]), IoSlice::new(&bytes[1]), IoSlice::new(&bytes[2])];
511    assert_eq!(slices.len(), bytes.len());
512    conn.send_request_with_reply(&slices, fds)
513}
514
515/// Extension trait defining the requests of this extension.
516pub trait ConnectionExt: RequestConnection {
517    fn xkb_use_extension(&self, wanted_major: u16, wanted_minor: u16) -> Result<Cookie<'_, Self, UseExtensionReply>, ConnectionError>
518    {
519        use_extension(self, wanted_major, wanted_minor)
520    }
521    fn xkb_select_events<'c, 'input>(&'c self, device_spec: DeviceSpec, clear: EventType, select_all: EventType, affect_map: MapPart, map: MapPart, details: &'input SelectEventsAux) -> Result<VoidCookie<'c, Self>, ConnectionError>
522    {
523        select_events(self, device_spec, clear, select_all, affect_map, map, details)
524    }
525    fn xkb_bell(&self, device_spec: DeviceSpec, bell_class: BellClassSpec, bell_id: IDSpec, percent: i8, force_sound: bool, event_only: bool, pitch: i16, duration: i16, name: xproto::Atom, window: xproto::Window) -> Result<VoidCookie<'_, Self>, ConnectionError>
526    {
527        bell(self, device_spec, bell_class, bell_id, percent, force_sound, event_only, pitch, duration, name, window)
528    }
529    fn xkb_get_state(&self, device_spec: DeviceSpec) -> Result<Cookie<'_, Self, GetStateReply>, ConnectionError>
530    {
531        get_state(self, device_spec)
532    }
533    fn xkb_latch_lock_state(&self, device_spec: DeviceSpec, affect_mod_locks: xproto::ModMask, mod_locks: xproto::ModMask, lock_group: bool, group_lock: Group, affect_mod_latches: xproto::ModMask, latch_group: bool, group_latch: u16) -> Result<VoidCookie<'_, Self>, ConnectionError>
534    {
535        latch_lock_state(self, device_spec, affect_mod_locks, mod_locks, lock_group, group_lock, affect_mod_latches, latch_group, group_latch)
536    }
537    fn xkb_get_controls(&self, device_spec: DeviceSpec) -> Result<Cookie<'_, Self, GetControlsReply>, ConnectionError>
538    {
539        get_controls(self, device_spec)
540    }
541    fn xkb_set_controls<'c, 'input>(&'c self, device_spec: DeviceSpec, affect_internal_real_mods: xproto::ModMask, internal_real_mods: xproto::ModMask, affect_ignore_lock_real_mods: xproto::ModMask, ignore_lock_real_mods: xproto::ModMask, affect_internal_virtual_mods: VMod, internal_virtual_mods: VMod, affect_ignore_lock_virtual_mods: VMod, ignore_lock_virtual_mods: VMod, mouse_keys_dflt_btn: u8, groups_wrap: u8, access_x_options: AXOption, affect_enabled_controls: BoolCtrl, enabled_controls: BoolCtrl, change_controls: Control, repeat_delay: u16, repeat_interval: u16, slow_keys_delay: u16, debounce_delay: u16, mouse_keys_delay: u16, mouse_keys_interval: u16, mouse_keys_time_to_max: u16, mouse_keys_max_speed: u16, mouse_keys_curve: i16, access_x_timeout: u16, access_x_timeout_mask: BoolCtrl, access_x_timeout_values: BoolCtrl, access_x_timeout_options_mask: AXOption, access_x_timeout_options_values: AXOption, per_key_repeat: &'input [u8; 32]) -> Result<VoidCookie<'c, Self>, ConnectionError>
542    {
543        set_controls(self, device_spec, affect_internal_real_mods, internal_real_mods, affect_ignore_lock_real_mods, ignore_lock_real_mods, affect_internal_virtual_mods, internal_virtual_mods, affect_ignore_lock_virtual_mods, ignore_lock_virtual_mods, mouse_keys_dflt_btn, groups_wrap, access_x_options, affect_enabled_controls, enabled_controls, change_controls, repeat_delay, repeat_interval, slow_keys_delay, debounce_delay, mouse_keys_delay, mouse_keys_interval, mouse_keys_time_to_max, mouse_keys_max_speed, mouse_keys_curve, access_x_timeout, access_x_timeout_mask, access_x_timeout_values, access_x_timeout_options_mask, access_x_timeout_options_values, per_key_repeat)
544    }
545    fn xkb_get_map(&self, device_spec: DeviceSpec, full: MapPart, partial: MapPart, first_type: u8, n_types: u8, first_key_sym: xproto::Keycode, n_key_syms: u8, first_key_action: xproto::Keycode, n_key_actions: u8, first_key_behavior: xproto::Keycode, n_key_behaviors: u8, virtual_mods: VMod, first_key_explicit: xproto::Keycode, n_key_explicit: u8, first_mod_map_key: xproto::Keycode, n_mod_map_keys: u8, first_v_mod_map_key: xproto::Keycode, n_v_mod_map_keys: u8) -> Result<Cookie<'_, Self, GetMapReply>, ConnectionError>
546    {
547        get_map(self, device_spec, full, partial, first_type, n_types, first_key_sym, n_key_syms, first_key_action, n_key_actions, first_key_behavior, n_key_behaviors, virtual_mods, first_key_explicit, n_key_explicit, first_mod_map_key, n_mod_map_keys, first_v_mod_map_key, n_v_mod_map_keys)
548    }
549    fn xkb_set_map<'c, 'input>(&'c self, device_spec: DeviceSpec, flags: SetMapFlags, min_key_code: xproto::Keycode, max_key_code: xproto::Keycode, first_type: u8, n_types: u8, first_key_sym: xproto::Keycode, n_key_syms: u8, total_syms: u16, first_key_action: xproto::Keycode, n_key_actions: u8, total_actions: u16, first_key_behavior: xproto::Keycode, n_key_behaviors: u8, total_key_behaviors: u8, first_key_explicit: xproto::Keycode, n_key_explicit: u8, total_key_explicit: u8, first_mod_map_key: xproto::Keycode, n_mod_map_keys: u8, total_mod_map_keys: u8, first_v_mod_map_key: xproto::Keycode, n_v_mod_map_keys: u8, total_v_mod_map_keys: u8, virtual_mods: VMod, values: &'input SetMapAux) -> Result<VoidCookie<'c, Self>, ConnectionError>
550    {
551        set_map(self, device_spec, flags, min_key_code, max_key_code, first_type, n_types, first_key_sym, n_key_syms, total_syms, first_key_action, n_key_actions, total_actions, first_key_behavior, n_key_behaviors, total_key_behaviors, first_key_explicit, n_key_explicit, total_key_explicit, first_mod_map_key, n_mod_map_keys, total_mod_map_keys, first_v_mod_map_key, n_v_mod_map_keys, total_v_mod_map_keys, virtual_mods, values)
552    }
553    fn xkb_get_compat_map(&self, device_spec: DeviceSpec, groups: SetOfGroup, get_all_si: bool, first_si: u16, n_si: u16) -> Result<Cookie<'_, Self, GetCompatMapReply>, ConnectionError>
554    {
555        get_compat_map(self, device_spec, groups, get_all_si, first_si, n_si)
556    }
557    fn xkb_set_compat_map<'c, 'input>(&'c self, device_spec: DeviceSpec, recompute_actions: bool, truncate_si: bool, groups: SetOfGroup, first_si: u16, si: &'input [SymInterpret], group_maps: &'input [ModDef]) -> Result<VoidCookie<'c, Self>, ConnectionError>
558    {
559        set_compat_map(self, device_spec, recompute_actions, truncate_si, groups, first_si, si, group_maps)
560    }
561    fn xkb_get_indicator_state(&self, device_spec: DeviceSpec) -> Result<Cookie<'_, Self, GetIndicatorStateReply>, ConnectionError>
562    {
563        get_indicator_state(self, device_spec)
564    }
565    fn xkb_get_indicator_map(&self, device_spec: DeviceSpec, which: u32) -> Result<Cookie<'_, Self, GetIndicatorMapReply>, ConnectionError>
566    {
567        get_indicator_map(self, device_spec, which)
568    }
569    fn xkb_set_indicator_map<'c, 'input>(&'c self, device_spec: DeviceSpec, which: u32, maps: &'input [IndicatorMap]) -> Result<VoidCookie<'c, Self>, ConnectionError>
570    {
571        set_indicator_map(self, device_spec, which, maps)
572    }
573    fn xkb_get_named_indicator<A>(&self, device_spec: DeviceSpec, led_class: LedClass, led_id: A, indicator: xproto::Atom) -> Result<Cookie<'_, Self, GetNamedIndicatorReply>, ConnectionError>
574    where
575        A: Into<IDSpec>,
576    {
577        get_named_indicator(self, device_spec, led_class, led_id, indicator)
578    }
579    fn xkb_set_named_indicator<A>(&self, device_spec: DeviceSpec, led_class: LedClass, led_id: A, indicator: xproto::Atom, set_state: bool, on: bool, set_map: bool, create_map: bool, map_flags: IMFlag, map_which_groups: IMGroupsWhich, map_groups: SetOfGroups, map_which_mods: IMModsWhich, map_real_mods: xproto::ModMask, map_vmods: VMod, map_ctrls: BoolCtrl) -> Result<VoidCookie<'_, Self>, ConnectionError>
580    where
581        A: Into<IDSpec>,
582    {
583        set_named_indicator(self, device_spec, led_class, led_id, indicator, set_state, on, set_map, create_map, map_flags, map_which_groups, map_groups, map_which_mods, map_real_mods, map_vmods, map_ctrls)
584    }
585    fn xkb_get_names(&self, device_spec: DeviceSpec, which: NameDetail) -> Result<Cookie<'_, Self, GetNamesReply>, ConnectionError>
586    {
587        get_names(self, device_spec, which)
588    }
589    fn xkb_set_names<'c, 'input>(&'c self, device_spec: DeviceSpec, virtual_mods: VMod, first_type: u8, n_types: u8, first_kt_levelt: u8, n_kt_levels: u8, indicators: u32, group_names: SetOfGroup, n_radio_groups: u8, first_key: xproto::Keycode, n_keys: u8, n_key_aliases: u8, total_kt_level_names: u16, values: &'input SetNamesAux) -> Result<VoidCookie<'c, Self>, ConnectionError>
590    {
591        set_names(self, device_spec, virtual_mods, first_type, n_types, first_kt_levelt, n_kt_levels, indicators, group_names, n_radio_groups, first_key, n_keys, n_key_aliases, total_kt_level_names, values)
592    }
593    fn xkb_per_client_flags(&self, device_spec: DeviceSpec, change: PerClientFlag, value: PerClientFlag, ctrls_to_change: BoolCtrl, auto_ctrls: BoolCtrl, auto_ctrls_values: BoolCtrl) -> Result<Cookie<'_, Self, PerClientFlagsReply>, ConnectionError>
594    {
595        per_client_flags(self, device_spec, change, value, ctrls_to_change, auto_ctrls, auto_ctrls_values)
596    }
597    fn xkb_list_components(&self, device_spec: DeviceSpec, max_names: u16) -> Result<Cookie<'_, Self, ListComponentsReply>, ConnectionError>
598    {
599        list_components(self, device_spec, max_names)
600    }
601    fn xkb_get_kbd_by_name(&self, device_spec: DeviceSpec, need: GBNDetail, want: GBNDetail, load: bool) -> Result<Cookie<'_, Self, GetKbdByNameReply>, ConnectionError>
602    {
603        get_kbd_by_name(self, device_spec, need, want, load)
604    }
605    fn xkb_get_device_info<A>(&self, device_spec: DeviceSpec, wanted: XIFeature, all_buttons: bool, first_button: u8, n_buttons: u8, led_class: LedClass, led_id: A) -> Result<Cookie<'_, Self, GetDeviceInfoReply>, ConnectionError>
606    where
607        A: Into<IDSpec>,
608    {
609        get_device_info(self, device_spec, wanted, all_buttons, first_button, n_buttons, led_class, led_id)
610    }
611    fn xkb_set_device_info<'c, 'input>(&'c self, device_spec: DeviceSpec, first_btn: u8, change: XIFeature, btn_actions: &'input [Action], leds: &'input [DeviceLedInfo]) -> Result<VoidCookie<'c, Self>, ConnectionError>
612    {
613        set_device_info(self, device_spec, first_btn, change, btn_actions, leds)
614    }
615    fn xkb_set_debugging_flags<'c, 'input>(&'c self, affect_flags: u32, flags: u32, affect_ctrls: u32, ctrls: u32, message: &'input [String8]) -> Result<Cookie<'c, Self, SetDebuggingFlagsReply>, ConnectionError>
616    {
617        set_debugging_flags(self, affect_flags, flags, affect_ctrls, ctrls, message)
618    }
619}
620
621impl<C: RequestConnection + ?Sized> ConnectionExt for C {}