xcb_xkb_get_names(3)
π xcb_xkb_get_names β bestie edition π
okay so this is xcb_xkb_get_names(3), from the XCB Requests squad, and we're about to get into it. grab a snack. π
β¨ NAME β¨
xcb_xkb_get_names β and honestly? the description is just... nothing. empty. a blank. the manpage left it wide open and said "you figure it out". iconic of it, honestly. π
π¦ SYNOPSIS π¦
first things first, you gotta bring in the header:
#include <xcb/xkb.h>
π Request function
xcb_xkb_get_names_cookie_t xcb_xkb_get_names(xcb_connection_t *conn,
xcb_xkb_device_spec_t deviceSpec, uint32_t which);
π Reply datastructure
this is the struct, and yes, every single field matters, don't skip any:
typedef struct xcb_xkb_get_names_reply_t {
uint8_t response_type;
uint8_t deviceID;
uint16_t sequence;
uint32_t length;
uint32_t which;
xcb_keycode_t minKeyCode;
xcb_keycode_t maxKeyCode;
uint8_t nTypes;
uint8_t groupNames;
uint16_t virtualMods;
xcb_keycode_t firstKey;
uint8_t nKeys;
uint32_t indicators;
uint8_t nRadioGroups;
uint8_t nKeyAliases;
uint16_t nKTLevels;
uint8_t pad0[4];
} xcb_xkb_get_names_reply_t;
π Reply function
xcb_xkb_get_names_reply_t
*xcb_xkb_get_names_reply(xcb_connection_t *conn,
xcb_xkb_get_names_cookie_t cookie, xcb_generic_error_t **e);
π Reply accessors
xcb_xkb_get_names_value_list_t *xcb_xkb_get_names_value_list (const
xcb_xkb_get_names_request_t *reply)
πΈ REQUEST ARGUMENTS πΈ
connβ the XCB connection to X11. your lil phone line to the server, basically. π«ΆdeviceSpecβ TODO: NOT YET DOCUMENTED. yeah babe, the manpage just left us on read. πwhichβ TODO: NOT YET DOCUMENTED. also ghosted. π
π REPLY FIELDS π
response_typeβ the type of this reply, which in this case isXCB_XKB_GET_NAMES. this field is also chillin' insidexcb_generic_reply_t, and you can use it to tell replies apart from each other. it's the name tag at the party. πsequenceβ the sequence number of the last request processed by the X11 server. lowkey the server's little "last seen at" timestamp. β¨lengthβ the length of the reply, in words. and reminder: a word is 4 bytes. πdeviceIDβ TODO: NOT YET DOCUMENTED.whichβ TODO: NOT YET DOCUMENTED.minKeyCodeβ TODO: NOT YET DOCUMENTED.maxKeyCodeβ TODO: NOT YET DOCUMENTED.nTypesβ TODO: NOT YET DOCUMENTED.groupNamesβ TODO: NOT YET DOCUMENTED.virtualModsβ TODO: NOT YET DOCUMENTED.firstKeyβ TODO: NOT YET DOCUMENTED.nKeysβ TODO: NOT YET DOCUMENTED.indicatorsβ TODO: NOT YET DOCUMENTED.nRadioGroupsβ TODO: NOT YET DOCUMENTED.nKeyAliasesβ TODO: NOT YET DOCUMENTED.nKTLevelsβ TODO: NOT YET DOCUMENTED.
not me listing out every single one of those TODOs π the docs said "figure it out yourself" and meant it fr fr.
π DESCRIPTION π
...and that's it. that's the whole section. the DESCRIPTION is literally empty. the void. the silence. she said nothing and left. π
π§ RETURN VALUE π§
so you get back an xcb_xkb_get_names_cookie_t. it's a cookie, not the answer β you gotta go pick up the answer later. πͺ
errors? they have to be handled when you call the reply function xcb_xkb_get_names_reply.
and if you'd rather handle errors in the event loop instead of right there, use xcb_xkb_get_names_unchecked. see xcb-requests(3) for the deets. π
π«Ά ERRORS π«Ά
this request does never generate any errors. zero. none. she's drama-free, she's unproblematic, she ate and left no crumbs. β¨
β SEE ALSO β
(that's it bestie, the list is empty, the manpage had nothing to link and honestly? respect.) π
π AUTHOR π
generated from xkb.xml. contact xcb@lists.freedesktop.org for corrections and improvements. go tell them if something's off, they're nice about it. π
and that's the whole vibe check! π this was written against X Version 11 and libxcb 1.17.0, page xcb_xkb_get_names(3) β stay hydrated, read your manpages, and remember: TODO: NOT YET DOCUMENTED is a mood. π
β¨πΈ
π¦ 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