xcb_xkb_get_controls(3)
π xcb_xkb_get_controls β bestie, we're pulling XKB controls π
okay so this one's from libxcb, section 3 of the manual, and it's called xcb_xkb_get_controls. The original page literally leaves the one-line description blank (iconic of it, honestly), so there's no tagline to give you. We're just here, we're asking the X server for its keyboard controls, and we're thriving. β¨
β¨ SYNOPSIS β¨
First things first, you gotta bring in the header:
#include <xcb/xkb.h>
π Request function
xcb_xkb_get_controls_cookie_t
xcb_xkb_get_controls(xcb_connection_t *conn,
xcb_xkb_device_spec_t deviceSpec);
π¦ Reply datastructure
typedef struct xcb_xkb_get_controls_reply_t {
uint8_t response_type;
uint8_t deviceID;
uint16_t sequence;
uint32_t length;
uint8_t mouseKeysDfltBtn;
uint8_t numGroups;
uint8_t groupsWrap;
uint8_t internalModsMask;
uint8_t ignoreLockModsMask;
uint8_t internalModsRealMods;
uint8_t ignoreLockModsRealMods;
uint8_t pad0;
uint16_t internalModsVmods;
uint16_t ignoreLockModsVmods;
uint16_t repeatDelay;
uint16_t repeatInterval;
uint16_t slowKeysDelay;
uint16_t debounceDelay;
uint16_t mouseKeysDelay;
uint16_t mouseKeysInterval;
uint16_t mouseKeysTimeToMax;
uint16_t mouseKeysMaxSpeed;
int16_t mouseKeysCurve;
uint16_t accessXOption;
uint16_t accessXTimeout;
uint16_t accessXTimeoutOptionsMask;
uint16_t accessXTimeoutOptionsValues;
uint8_t pad1[2];
uint32_t accessXTimeoutMask;
uint32_t accessXTimeoutValues;
uint32_t enabledControls;
uint8_t perKeyRepeat[32];
} xcb_xkb_get_controls_reply_t;
πΈ Reply function
xcb_xkb_get_controls_reply_t
*xcb_xkb_get_controls_reply(xcb_connection_t *conn,
xcb_xkb_get_controls_cookie_t cookie, xcb_generic_error_t **e);
π REQUEST ARGUMENTS π
connβ the XCB connection to X11. your lil hotline to the server, bestie π«ΆdeviceSpecβ TODO: NOT YET DOCUMENTED. yeahβ¦ the docs just left us on read for this one π that's literally what it says, no cap.
π REPLY FIELDS π
response_typeβ the type of this reply, which in this case isXCB_XKB_GET_CONTROLS. this field is also chillin' in thexcb_generic_reply_t, so you can use it to tell your replies apart from each other. so useful, so iconic πsequenceβ the sequence number of the last request the X11 server processed.lengthβ how long the reply is, in words (and a word here is 4 bytes, fyi).deviceIDβ TODO: NOT YET DOCUMENTED.mouseKeysDfltBtnβ TODO: NOT YET DOCUMENTED.numGroupsβ TODO: NOT YET DOCUMENTED.groupsWrapβ TODO: NOT YET DOCUMENTED.internalModsMaskβ TODO: NOT YET DOCUMENTED.ignoreLockModsMaskβ TODO: NOT YET DOCUMENTED.internalModsRealModsβ TODO: NOT YET DOCUMENTED.ignoreLockModsRealModsβ TODO: NOT YET DOCUMENTED.internalModsVmodsβ TODO: NOT YET DOCUMENTED.ignoreLockModsVmodsβ TODO: NOT YET DOCUMENTED.repeatDelayβ TODO: NOT YET DOCUMENTED.repeatIntervalβ TODO: NOT YET DOCUMENTED.slowKeysDelayβ TODO: NOT YET DOCUMENTED.debounceDelayβ TODO: NOT YET DOCUMENTED.mouseKeysDelayβ TODO: NOT YET DOCUMENTED.mouseKeysIntervalβ TODO: NOT YET DOCUMENTED.mouseKeysTimeToMaxβ TODO: NOT YET DOCUMENTED.mouseKeysMaxSpeedβ TODO: NOT YET DOCUMENTED.mouseKeysCurveβ TODO: NOT YET DOCUMENTED.accessXOptionβ TODO: NOT YET DOCUMENTED.accessXTimeoutβ TODO: NOT YET DOCUMENTED.accessXTimeoutOptionsMaskβ TODO: NOT YET DOCUMENTED.accessXTimeoutOptionsValuesβ TODO: NOT YET DOCUMENTED.accessXTimeoutMaskβ TODO: NOT YET DOCUMENTED.accessXTimeoutValuesβ TODO: NOT YET DOCUMENTED.enabledControlsβ TODO: NOT YET DOCUMENTED.perKeyRepeatβ TODO: NOT YET DOCUMENTED.
not me listing a whole struct of TODOs π the docs really said "figure it out bestie". but hey, every field is named exactly as it appears, so you're not missing anything that was actually written down. fr fr.
π«Ά DESCRIPTION π«Ά
(empty. the original says nothing here. it's giving mysterious. π)
β RETURN VALUE β
You get back an xcb_xkb_get_controls_cookie_t. Errors? Those get handled when you call the reply function xcb_xkb_get_controls_reply. That's the deal. π
If you'd rather catch your errors in the event loop instead, use xcb_xkb_get_controls_unchecked. And if you want the whole rundown, go look at xcb-requests(3). iykyk β¨
π ERRORS π
This request never generates any errors. like, not even one. slay, honestly. zero drama, main character energy. π
π SEE ALSO π
(nothing listed here either. the original just moves right along. respect. π¦)
πΈ AUTHOR πΈ
Generated from xkb.xml. Wanna send corrections or improvements? Contact xcb@lists.freedesktop.org β they're the ones who'd love to hear from you. π
and that's a wrap, bestie! this page came to you courtesy of X Version 11 and libxcb 1.17.0 β the exact version the original footer was reppin'. go forth and get those controls. periodt. π β¨π
π¦ where this page comes from
- alpine 3.22: libxcb-doc 1.17.0-r0 Β· MIT
- alpine 3.23: libxcb-doc 1.17.0-r1 Β· MIT
- alpine 3.24: libxcb-doc 1.17.0-r2 Β· MIT
- arch rolling: libxcb 1.17.0-1 Β· X11
- centos-stream 10: libxcb-devel 1.17.0-3.el10 Β· X11
- debian trixie: libxcb-doc 1.17.0-2
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 43: libxcb-devel 1.17.0-6.fc43 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- fedora 44: libxcb-devel 1.17.0-7.fc44 Β· X11
- nixpkgs unstable: libxcb 1.17.0
- opensuse-leap 16.0: libxcb-devel-doc 1.17.0-160000.2.2 Β· MIT
- ubuntu questing: libxcb-doc 1.17.0-2build1
- ubuntu resolute: libxcb-doc 1.17.0-2ubuntu1
- ubuntu stonking: libxcb-doc 1.17.0-2ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms