XCB_INPUT_DEVICE_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_input_device_key_press_event_t πŸ’–

okay bestie, so this is a section 3 page from the XCB Events manual β€” it's xcb_input_device_key_press_event_t, and yeah, the title is a whole mouthful, we're just gonna go with it. It's a struct. A key-press-shaped struct from the X Input extension. Sit with me, we're gonna read the whole thing together 🫢


🌸 NAME 🌸

xcb_input_device_key_press_event_t β€” and that's literally all the NAME section says, no lil tagline, no nothing. She's mysterious like that. πŸ’…


✨ SYNOPSIS ✨

First, the include, so your compiler doesn't ghost you:

#include <xcb/xinput.h>

πŸŽ€ Event datastructure πŸŽ€

And here's the whole struct, every field, in order, no skips:

typedef struct xcb_input_device_key_press_event_t {
    uint8_t         response_type;
    uint8_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         device_id;
} xcb_input_device_key_press_event_t;

look at her. fourteen fields. absolutely iconic ✨


πŸ‘‘ EVENT FIELDS πŸ‘‘

okay so this is the part where we go field by field. heads up: a LOT of these are marked NOT YET DOCUMENTED, which is giving "the docs team left us on read" 😭 i'm not gonna make stuff up, so if it says not documented, i'm passing that straight to you. no cap.

  • response_type β€” this is the event type. and here's the funny part: the manual says in this case XCB_INPUT_PROXIMITY_OUT. yeah bestie, on a key press event. i don't make the rules, i just relay them πŸ’€ anyway, this field also lives in the xcb_generic_event_t, so you can peek at it to figure out which event you're actually holding.
  • sequence β€” the sequence number of the last request that got processed by the X11 server.
  • detail β€” NOT YET DOCUMENTED.
  • time β€” NOT YET DOCUMENTED.
  • root β€” NOT YET DOCUMENTED.
  • event β€” NOT YET DOCUMENTED.
  • child β€” NOT YET DOCUMENTED.
  • root_x β€” NOT YET DOCUMENTED.
  • root_y β€” NOT YET DOCUMENTED.
  • event_x β€” NOT YET DOCUMENTED.
  • event_y β€” NOT YET DOCUMENTED.
  • state β€” NOT YET DOCUMENTED.
  • same_screen β€” NOT YET DOCUMENTED.
  • device_id β€” NOT YET DOCUMENTED.
ngl, that's a lot of NOT YET DOCUMENTED and not a lot of answers. it is what it is, we don't invent lore in this house 🧚

πŸ¦‹ DESCRIPTION πŸ¦‹

...okay so. there is a DESCRIPTION section here. it's just empty. completely. she said nothing and left the room πŸ’€


🌈 SEE ALSO 🌈

also empty bestie πŸ™ˆ no cross-references, no friends, no links. she's a lone wolf.


πŸ’œ AUTHOR πŸ’œ

Generated from xinput.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

so if you spot something wrong, that's the inbox, go be the change you wanna see ✨


and that's the whole page, start to finish, no bits left behind 🫢 this one's from X Version 11, libxcb 1.17, and yeah the date on the tin is... also not something the page felt like telling us, so we're rolling with the version and calling it a day. bye bestie, drink water, close your file descriptors πŸ’–πŸŽ€