xcb_xkb_get_compat_map(3)
πΈ xcb_xkb_get_compat_map πΈ
okay bestie, welcome to the xcb_xkb_get_compat_map(3) page π this one lives in the XCB Requests section of the manual, and it's giving β¨keyboard compatibility mapβ¨ energy. buckle up, we're going in π«Ά
β¨ NAME β¨
xcb_xkb_get_compat_map -
no cap, the description here is literally blank π the original manpage just leaves it empty after the dash. we move π
β¨ SYNOPSIS β¨
First things first, you gotta bring in the header, periodt:
#include <xcb/xkb.h>
π¦ Request function
xcb_xkb_get_compat_map_cookie_t
xcb_xkb_get_compat_map(xcb_connection_t *conn,
xcb_xkb_device_spec_t deviceSpec, uint8_t groups,
uint8_t getAllSI, uint16_t firstSI, uint16_t nSI);
π¦ Reply datastructure
this is the struct you get back, and it is iconic:
typedef struct xcb_xkb_get_compat_map_reply_t {
uint8_t response_type;
uint8_t deviceID;
uint16_t sequence;
uint32_t length;
uint8_t groupsRtrn;
uint8_t pad0;
uint16_t firstSIRtrn;
uint16_t nSIRtrn;
uint16_t nTotalSI;
uint8_t pad1[16];
} xcb_xkb_get_compat_map_reply_t;
π¦ Reply function
xcb_xkb_get_compat_map_reply_t
*xcb_xkb_get_compat_map_reply(xcb_connection_t *conn,
xcb_xkb_get_compat_map_cookie_t cookie, xcb_generic_error_t **e);
π¦ Reply accessors
the little helper girlies that dig stuff out of your reply π:
xcb_xkb_sym_interpret_t *xcb_xkb_get_compat_map_si_rtrn(const
xcb_xkb_get_compat_map_request_t *reply);
int xcb_xkb_get_compat_map_si_rtrn_length(const
xcb_xkb_get_compat_map_reply_t *reply);
xcb_xkb_sym_interpret_iterator_t
xcb_xkb_get_compat_map_si_rtrn_iterator(const
xcb_xkb_get_compat_map_reply_t *reply);
xcb_xkb_mod_def_t *xcb_xkb_get_compat_map_group_rtrn(const
xcb_xkb_get_compat_map_request_t *reply);
int xcb_xkb_get_compat_map_group_rtrn_length(const
xcb_xkb_get_compat_map_reply_t *reply);
xcb_xkb_mod_def_iterator_t
xcb_xkb_get_compat_map_group_rtrn_iterator(const
xcb_xkb_get_compat_map_reply_t *reply);
π REQUEST ARGUMENTS π
connβ The XCB connection to X11. your link to the server, your main character connection fr fr πdeviceSpecβTODO: NOT YET DOCUMENTED.yeah bestie, the docs just never got filled in π it's literally just sitting there as a TODO.groupsβTODO: NOT YET DOCUMENTED.getAllSIβTODO: NOT YET DOCUMENTED.firstSIβTODO: NOT YET DOCUMENTED.nSIβTODO: NOT YET DOCUMENTED.
lowkey a whole mood that half this page is TODOs but we're keeping every single one of them, no skipping π
π REPLY FIELDS π
response_typeβ The type of this reply, in this caseXCB_XKB_GET_COMPAT_MAP. This field is also present in thexcb_generic_reply_tand can be used to tell replies apart from each other. it's the vibe check that tells you which reply you're looking at β¨sequenceβ The sequence number of the last request processed by the X11 server. your lil receipt number, iykyk π§Ύlengthβ The length of the reply, in words (a word is 4 bytes). remember bestie: one word = 4 bytes, don't let anyone tell you otherwise.deviceIDβTODO: NOT YET DOCUMENTED.groupsRtrnβTODO: NOT YET DOCUMENTED.firstSIRtrnβTODO: NOT YET DOCUMENTED.nSIRtrnβTODO: NOT YET DOCUMENTED.nTotalSIβTODO: NOT YET DOCUMENTED.
π DESCRIPTION π
soβ¦ there is genuinely nothing here. the DESCRIPTION section is empty in the original. it's giving silent but mysterious π we respect it, we leave it blank, we move on.
β RETURN VALUE β
Returns an xcb_xkb_get_compat_map_cookie_t. Errors have to be handled when calling the reply function xcb_xkb_get_compat_map_reply.
If you want to handle errors in the event loop instead, use xcb_xkb_get_compat_map_unchecked. See xcb-requests(3) for details.
so like: you get a cookie πͺ, and if you want the actual tea you go call the reply function. or if you're an event-loop girly, go unchecked mode instead. either way, slay.
π ERRORS π
This request does never generate any errors.
not a single one. zero. none. the drama-free request of the century π
π¦ SEE ALSO π¦
β¦yeah bestie, it's empty. nothing to see here. literally. we still list it because we keep the sections in order, periodt π
π AUTHOR π
Generated from xkb.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.
okay that's the whole page!! and for the cute lil sign-off β this came out of X Version 11, libxcb 1.17.0, and it's xcb_xkb_get_compat_map(3) π«Ά go forth and read your keyboard compat maps, bestie, you're gonna ate β¨π
π¦ 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