xcb_xkb_get_map(3)
β¨ NAME β¨
xcb_xkb_get_map β okay so the manual name is XCB Requests, and honestly bestie, the original NAME line just says xcb_xkb_get_map - and thenβ¦ nothing. No description. Iconic of it to show up with no caption. π
Anyway, this is a libxcb page, section 3, and it's all about asking the X server for a keyboard map.
π¦ SYNOPSIS π¦
#include <xcb/xkb.h>
π Request function π
xcb_xkb_get_map_cookie_t xcb_xkb_get_map(xcb_connection_t *conn,
xcb_xkb_device_spec_t deviceSpec, uint16_t full,
uint16_t partial, uint8_t firstType, uint8_t nTypes,
xcb_keycode_t firstKeySym, uint8_t nKeySyms,
xcb_keycode_t firstKeyAction, uint8_t nKeyActions,
xcb_keycode_t firstKeyBehavior, uint8_t nKeyBehaviors,
uint16_t virtualMods, xcb_keycode_t firstKeyExplicit,
uint8_t nKeyExplicit, xcb_keycode_t firstModMapKey,
uint8_t nModMapKeys, xcb_keycode_t firstVModMapKey,
uint8_t nVModMapKeys);
π Reply datastructure π
typedef struct xcb_xkb_get_map_reply_t {
uint8_t response_type;
uint8_t deviceID;
uint16_t sequence;
uint32_t length;
uint8_t pad0[2];
xcb_keycode_t minKeyCode;
xcb_keycode_t maxKeyCode;
uint16_t present;
uint8_t firstType;
uint8_t nTypes;
uint8_t totalTypes;
xcb_keycode_t firstKeySym;
uint16_t totalSyms;
uint8_t nKeySyms;
xcb_keycode_t firstKeyAction;
uint16_t totalActions;
uint8_t nKeyActions;
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;
uint8_t pad1;
uint16_t virtualMods;
} xcb_xkb_get_map_reply_t;
π Reply function π
xcb_xkb_get_map_reply_t *xcb_xkb_get_map_reply(xcb_connection_t *conn,
xcb_xkb_get_map_cookie_t cookie, xcb_generic_error_t **e);
πΈ Reply accessors πΈ
xcb_xkb_get_map_map_t *xcb_xkb_get_map_map (const
xcb_xkb_get_map_request_t *reply)
π REQUEST ARGUMENTS π
connβ the XCB connection to X11. That's your link to the server, your little red string to the X11 universe, no cap.deviceSpecβTODO: NOT YET DOCUMENTED.bestie the docs did not show up for this one πfullβTODO: NOT YET DOCUMENTED.fr fr nobody wrote it down.partialβTODO: NOT YET DOCUMENTED.the lore is missing.firstTypeβTODO: NOT YET DOCUMENTED.undocumented, we simply don't know.nTypesβTODO: NOT YET DOCUMENTED.not a single word.firstKeySymβTODO: NOT YET DOCUMENTED.the docs ghosted us.nKeySymsβTODO: NOT YET DOCUMENTED.same energy.firstKeyActionβTODO: NOT YET DOCUMENTED.no notes left behind.nKeyActionsβTODO: NOT YET DOCUMENTED.absent, like my will to study.firstKeyBehaviorβTODO: NOT YET DOCUMENTED.still waiting on that explanation.nKeyBehaviorsβTODO: NOT YET DOCUMENTED.never documented.virtualModsβTODO: NOT YET DOCUMENTED.the mystery continues.firstKeyExplicitβTODO: NOT YET DOCUMENTED.blank.nKeyExplicitβTODO: NOT YET DOCUMENTED.blank too.firstModMapKeyβTODO: NOT YET DOCUMENTED.nope.nModMapKeysβTODO: NOT YET DOCUMENTED.nope nope.firstVModMapKeyβTODO: NOT YET DOCUMENTED.nothing here either.nVModMapKeysβTODO: NOT YET DOCUMENTED.and we close the list on the same note π
π REPLY FIELDS π
response_typeβ the type of this reply, which in this case isXCB_XKB_GET_MAP. This field is also present in thexcb_generic_reply_t, so you can use it to tell your replies apart from each other. Vibe check for packets β¨sequenceβ the sequence number of the last request processed by the X11 server. Your little receipt number π§Ύlengthβ the length of the reply, in words (and a word is 4 bytes, remember that bestie).deviceIDβTODO: NOT YET DOCUMENTED.πminKeyCodeβTODO: NOT YET DOCUMENTED.no notes.maxKeyCodeβTODO: NOT YET DOCUMENTED.no notes.presentβTODO: NOT YET DOCUMENTED.undoc'd.firstTypeβTODO: NOT YET DOCUMENTED.undoc'd.nTypesβTODO: NOT YET DOCUMENTED.undoc'd.totalTypesβTODO: NOT YET DOCUMENTED.undoc'd.firstKeySymβTODO: NOT YET DOCUMENTED.undoc'd.totalSymsβTODO: NOT YET DOCUMENTED.undoc'd.nKeySymsβTODO: NOT YET DOCUMENTED.undoc'd.firstKeyActionβTODO: NOT YET DOCUMENTED.undoc'd.totalActionsβTODO: NOT YET DOCUMENTED.undoc'd.nKeyActionsβTODO: NOT YET DOCUMENTED.undoc'd.firstKeyBehaviorβTODO: NOT YET DOCUMENTED.undoc'd.nKeyBehaviorsβTODO: NOT YET DOCUMENTED.undoc'd.totalKeyBehaviorsβTODO: NOT YET DOCUMENTED.undoc'd.firstKeyExplicitβTODO: NOT YET DOCUMENTED.undoc'd.nKeyExplicitβTODO: NOT YET DOCUMENTED.undoc'd.totalKeyExplicitβTODO: NOT YET DOCUMENTED.undoc'd.firstModMapKeyβTODO: NOT YET DOCUMENTED.undoc'd.nModMapKeysβTODO: NOT YET DOCUMENTED.undoc'd.totalModMapKeysβTODO: NOT YET DOCUMENTED.undoc'd.firstVModMapKeyβTODO: NOT YET DOCUMENTED.undoc'd.nVModMapKeysβTODO: NOT YET DOCUMENTED.undoc'd.totalVModMapKeysβTODO: NOT YET DOCUMENTED.undoc'd.virtualModsβTODO: NOT YET DOCUMENTED.undoc'd.
bestie the reply fields really said "figure it out" π that's just how the original is, I'm not making it up, promise.
π DESCRIPTION π
Okay so. The DESCRIPTION section in the original isβ¦ empty. Nothing. A whole heading with no thoughts behind it. The silence is deafening π¦
π«Ά RETURN VALUE π«Ά
It returns an xcb_xkb_get_map_cookie_t. And listen β errors have to be handled when you call the reply function xcb_xkb_get_map_reply.
But if you'd rather handle errors in the event loop instead, use xcb_xkb_get_map_unchecked. See xcb-requests(3) for the details, iykyk π
π ERRORS π
This request does never generate any errors. Not one. Zero. Clean sheet, flawless, ate and left no crumbs π
β SEE ALSO β
Nothing listed here in the original β the section exists and it's just vibes and blank space. πΈ
π AUTHOR π
Generated from xkb.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. (They really said "email us if it's wrong" and honestly, respect. π«Ά)
And that's the whole page, bestie! This one comes from X Version 11, libxcb 1.17.0, and it lives in the manual as xcb_xkb_get_map(3). Go forth and map those keys, you absolute icon πβ¨ππ¦
π¦ 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