xcb_get_modifier_mapping(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_get_modifier_mapping πŸ’…

okay bestie, come sit with me, we're reading a manual page together 🫢 this one lives in the XCB Requests manual, and it's all about asking the X server "hey, which keys are your modifier keys actually mapped to?" no cap.


✨ NAME ✨

xcb_get_modifier_mapping -

not me pointing out that the description line here is literally just a lonely little dash πŸ™ˆ the original page left it blank, so we're leaving it blank too. respect the source.

🌸 SYNOPSIS 🌸

#include <xcb/xproto.h>

πŸŽ€ Request function

xcb_get_modifier_mapping_cookie_t
       xcb_get_modifier_mapping(xcb_connection_t *conn,

πŸŽ€ Reply datastructure

typedef struct xcb_get_modifier_mapping_reply_t {
    uint8_t  response_type;
    uint8_t  keycodes_per_modifier;
    uint16_t sequence;
    uint32_t length;
    uint8_t  pad0[24];
} xcb_get_modifier_mapping_reply_t;

πŸŽ€ Reply function

xcb_get_modifier_mapping_reply_t
       *xcb_get_modifier_mapping_reply(xcb_connection_t *conn,
       xcb_get_modifier_mapping_cookie_t cookie,
       xcb_generic_error_t **e);

πŸŽ€ Reply accessors

xcb_keycode_t *xcb_get_modifier_mapping_keycodes(const
       xcb_get_modifier_mapping_request_t *reply);

int xcb_get_modifier_mapping_keycodes_length(const
       xcb_get_modifier_mapping_reply_t *reply);

xcb_generic_iterator_t xcb_get_modifier_mapping_keycodes_end(const
       xcb_get_modifier_mapping_reply_t *reply);
πŸ‘€ okay so lowkey clock that first accessor β€” it takes a xcb_get_modifier_mapping_request_t *reply. that's exactly how it's written in the source, bestie, so we are copying it character for character and NOT touching it. fr fr, hands off. πŸ™…

🌈 REQUEST ARGUMENTS 🌈

  • conn β€” your XCB connection to X11. that's the whole list. one (1) argument, and it's the vibe carrier. ✨

πŸ’– REPLY FIELDS πŸ’–

  • response_type β€” the type of this reply. in this case it's XCB_GET_MODIFIER_MAPPING. this field is also chilling inside xcb_generic_reply_t, and you can use it to tell replies apart from each other. it's giving "name tag at a party". πŸŽ€
  • sequence β€” the sequence number of the last request the X11 server processed. like a lil receipt number, iykyk.
  • length β€” the length of the reply, in words. and heads up bestie, a word is 4 bytes. not 2. not 8. four. πŸ’…
  • keycodes_per_modifier β€” TODO: NOT YET DOCUMENTED. 😭 not me and you both finding out at the same time. the docs simply did not show up to the function. we report, we do not invent. πŸ™ˆ

πŸ¦‹ DESCRIPTION πŸ¦‹

bestie. there is literally nothing here. the original DESCRIPTION section is empty. an absolute silence, a blank canvas, a moment of peace. 🌸 i'm not gonna make stuff up about what this request does beyond what's already on the page β€” that's the rule and i keep it. ✨

πŸ‘‘ RETURN VALUE πŸ‘‘

Returns an xcb_get_modifier_mapping_cookie_t. πŸͺ

Errors have to be handled when you call the reply function xcb_get_modifier_mapping_reply.

If you'd rather handle errors in the event loop instead, use xcb_get_modifier_mapping_unchecked. see xcb-requests(3) for the details. slay, options, we love choices. πŸ’…


πŸ”₯ ERRORS πŸ”₯

This request does never generate any errors. zero. none. it's the well-behaved main character of requests. no drama, no chaos, just vibes. ✨


⭐ SEE ALSO ⭐

nothing here either bestie 😭 the original SEE ALSO section is empty. no cross-references, no friends, just this page standing alone in the group chat. 🫢

πŸ’œ AUTHOR πŸ’œ

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. they're literally asking for your feedback, so if something's off, tell them, that's your moment. πŸ“§βœ¨


and that's the whole page, bestie, you ate it πŸ“πŸ’… this was X Version 11, libxcb 1.17.0, page xcb_get_modifier_mapping(3) β€” go forth and query your modifier mappings, you iconic little X11 gremlin πŸ‘‘πŸŒˆβœ¨