xcb_xkb_set_map(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_set_map β€” the man page, but make it cute

okay bestie, gather round, because we're looking at xcb_xkb_set_map from the XCB Requests corner of the X11 universe. It's a request function, it's giving "keyboard map, but make it a whole buffet", and honestly? The docs are a TODO situation. Not me being dramatic, that's literally what the page says. 🫢


✨ NAME ✨

xcb_xkb_set_map β€” yeah so the original page leaves this blank. No description, no nothing. The vibe is mysterious. The name is all we got. πŸŽ€


🌸 SYNOPSIS 🌸

First things first, you gotta pull in the header, no cap:

#include <xcb/xkb.h>

πŸ¦‹ Request function πŸ¦‹

Here's the whole signature, verbatim, don't @ me, I'm not touching a single character of this:

xcb_void_cookie_t xcb_xkb_set_map(xcb_connection_t *conn,
       xcb_xkb_device_spec_t deviceSpec, uint16_t present,
       uint16_t flags, xcb_keycode_t minKeyCode,
       xcb_keycode_t maxKeyCode, uint8_t firstType, uint8_t nTypes,
       xcb_keycode_t firstKeySym, uint8_t nKeySyms, uint16_t totalSyms,
       xcb_keycode_t firstKeyAction, uint8_t nKeyActions,
       uint16_t totalActions, xcb_keycode_t firstKeyBehavior,
       uint8_t nKeyBehaviors, uint8_t totalKeyBehaviors,
       xcb_keycode_t firstKeyExplicit, uint8_t nKeyExplicit,
       uint8_t totalKeyExplicit, xcb_keycode_t firstModMapKey,
       uint8_t nModMapKeys, uint8_t totalModMapKeys,
       xcb_keycode_t firstVModMapKey, uint8_t nVModMapKeys,
       uint8_t totalVModMapKeys, uint16_t virtualMods, const
       void *values);

that's twenty-eight parameters, babe. twenty-eight. she's not shy, she's just thorough. πŸ’€


πŸ’– REQUEST ARGUMENTS πŸ’–

okay so every single one of these is documented as TODO: NOT YET DOCUMENTED. in the original, and I am NOT about to make stuff up, so we're keeping that energy. Here's the full roster, one by one, no skipping, no shortcuts:

  • conn β€” The XCB connection to X11. 🌈 (the one actual real fact on this whole list, iconic)
  • deviceSpec β€” TODO: NOT YET DOCUMENTED.
  • present β€” TODO: NOT YET DOCUMENTED.
  • flags β€” TODO: NOT YET DOCUMENTED.
  • minKeyCode β€” TODO: NOT YET DOCUMENTED.
  • maxKeyCode β€” TODO: NOT YET DOCUMENTED.
  • firstType β€” TODO: NOT YET DOCUMENTED.
  • nTypes β€” TODO: NOT YET DOCUMENTED.
  • firstKeySym β€” TODO: NOT YET DOCUMENTED.
  • nKeySyms β€” TODO: NOT YET DOCUMENTED.
  • totalSyms β€” TODO: NOT YET DOCUMENTED.
  • firstKeyAction β€” TODO: NOT YET DOCUMENTED.
  • nKeyActions β€” TODO: NOT YET DOCUMENTED.
  • totalActions β€” TODO: NOT YET DOCUMENTED.
  • firstKeyBehavior β€” TODO: NOT YET DOCUMENTED.
  • nKeyBehaviors β€” TODO: NOT YET DOCUMENTED.
  • totalKeyBehaviors β€” TODO: NOT YET DOCUMENTED.
  • firstKeyExplicit β€” TODO: NOT YET DOCUMENTED.
  • nKeyExplicit β€” TODO: NOT YET DOCUMENTED.
  • totalKeyExplicit β€” TODO: NOT YET DOCUMENTED.
  • firstModMapKey β€” TODO: NOT YET DOCUMENTED.
  • nModMapKeys β€” TODO: NOT YET DOCUMENTED.
  • totalModMapKeys β€” TODO: NOT YET DOCUMENTED.
  • firstVModMapKey β€” TODO: NOT YET DOCUMENTED.
  • nVModMapKeys β€” TODO: NOT YET DOCUMENTED.
  • totalVModMapKeys β€” TODO: NOT YET DOCUMENTED.
  • virtualMods β€” TODO: NOT YET DOCUMENTED.
  • values β€” TODO: NOT YET DOCUMENTED.
not a single one of these has real docs yet. it's giving "work in progress" and we respect the honesty fr fr. πŸ™ˆ

πŸŽ€ DESCRIPTION πŸŽ€

okay so... the DESCRIPTION section is empty. nothing. void. a whole section with zero words in it. main character energy but make it silence. πŸ’œ


⭐ RETURN VALUE ⭐

She returns an xcb_void_cookie_t. Cute. Adorable. Very demure. But here's the tea: errors (if any) have to be handled in the event loop. You don't get to just ignore them, bestie, you gotta go catch them in the loop like a little bug net. πŸ¦‹

But wait, if you'd rather handle your errors directly, there's xcb_request_check β€” use xcb_xkb_set_map_checked for that route instead. See xcb-requests(3) for the deets, iykyk. ✨


πŸ’€ ERRORS πŸ’€

okay so this is the best part, hold on:

This request does never generate any errors.

periodt. no errors. none. she simply does not do that. slay. πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

...bestie, there's nothing here. the section exists and it's empty. the original just went straight from SEE ALSO into AUTHOR with no references in between. we're honoring that. no invented links, no fake friends. πŸ’…


🌸 AUTHOR 🌸

Generated from xkb.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. 🫢 (they're literally asking for help, so if you know things, tell them!)


and that's the whole page, babe. this one came to you from X Version 11, libxcb 1.17.0, and the man page formally known as xcb_xkb_set_map(3). twenty-eight args, zero errors, one very empty DESCRIPTION section. iconic. mwah. πŸ’–βœ¨