xcb_key_press_event_t(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_key_press_event_t β€” the tea β˜•

okay so bestie, you know when you smash a key on your keyboard and the X server is like "yes queen i saw that"? yeah. that's this. it's from the XCB Events family, and it's literally the event struct for a key was pressed/released. no cap. 🎹✨


✨ NAME ✨

xcb_key_press_event_t β€” a key was pressed/released 🫢


🌸 SYNOPSIS 🌸

#include <xcb/xproto.h>

πŸŽ€ Event datastructure πŸŽ€

here's the whole lil glow-up, field by field, copy it exactly bestie, don't freestyle:

typedef struct xcb_key_press_event_t {
    uint8_t         response_type;
    xcb_keycode_t   detail;
    uint16_t        sequence;
    xcb_timestamp_t time;
    xcb_window_t    root;
    xcb_window_t    event;
    xcb_window_t    child;
    int16_t         root_x;
    int16_t         root_y;
    int16_t         event_x;
    int16_t         event_y;
    uint16_t        state;
    uint8_t         same_screen;
    uint8_t         pad0;
} xcb_key_press_event_t;

πŸ’– EVENT FIELDS πŸ’–

okay this is the part where we go field by field, main character by main character. every single one. let's get into it πŸ’…

  • response_type β€” the type of this event, and in this case it's XCB_KEY_RELEASE. yes, we know. iconic. 😭 this field also lives inside the xcb_generic_event_t, and it's how you tell your events apart from each other when they're all in the group chat at once.
  • sequence β€” the sequence number of the last request processed by the X11 server. it's giving "who's up next" energy. πŸ”’
  • detail β€” the keycode of the key which was pressed. a keycode is just a number representing a physical key on the keyboard, so like, the actual vibe of the key you hit. 🎹
  • time β€” time when the event was generated, in milliseconds. ⏰
  • root β€” the root window of child. 🌳
  • event β€” NOT YET DOCUMENTED. πŸ™ˆ that's literally it, bestie. the original says that. i'm not making it up.
  • child β€” NOT YET DOCUMENTED. πŸ’€ same situation. nobody wrote it yet. we wait.
  • root_x β€” the X coordinate of the pointer relative to the root window at the time of the event. πŸ“
  • root_y β€” the Y coordinate of the pointer relative to the root window at the time of the event. πŸ“
  • event_x β€” if same_screen is true, this is the X coordinate relative to the event window's origin. otherwise, event_x will be set to zero. so like, zeroed out, no thoughts head empty. ✨
  • event_y β€” if same_screen is true, this is the Y coordinate relative to the event window's origin. otherwise, event_y will be set to zero. 🫢
  • state β€” the logical state of the pointer buttons and modifier keys just prior to the event. so the situation right before it all went down. πŸ‘€
  • same_screen β€” whether the event window is on the same screen as the root window. true or false, bestie, that's the whole question. 🌈

πŸ¦‹ DESCRIPTION πŸ¦‹

so this section is... literally empty in the original. nothing. silence. the void. πŸ•³οΈ no description text exists here, and i'm not gonna invent one, because that would be lying to you and we don't do that in this friendship. the fields above are the whole meal. πŸ’œ


🌟 SEE ALSO 🌟

go read those too, bestie, they're in the same friend group. 🫢


πŸ‘‘ AUTHOR πŸ‘‘

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements. so if something's wrong, that's who you email β€” be nice about it though. πŸ’Œ


and that's the whole page, babe. this one came from X Version 11, specifically libxcb 1.17.0, and it goes by the name xcb_key_press_event_t(3). mwah. πŸ’‹