xcb_xkb_get_names(3)

πŸ“¦
version 1.17.0 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– 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 is XCB_XKB_GET_NAMES. this field is also chillin' inside xcb_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. πŸ’…βœ¨πŸŒΈ