xcb_input_get_device_property(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_get_device_property(3) β€” XCB Requests ✨

okay bestie, gather round πŸ’– this is a page from the XCB Requests corner of the X world, and it's literally all about grabbing a property off an input device. no cap, that's the whole vibe.


🌸 NAME 🌸

xcb_input_get_device_property β€” (the description here is literally blank in the source, and honestly? iconic of it to leave us guessing πŸ™ˆ so we move on)


πŸ¦‹ SYNOPSIS πŸ¦‹

First up, you gotta pull in the header:

#include <xcb/xinput.h>

πŸ’… Request function

xcb_input_get_device_property_cookie_t
       xcb_input_get_device_property(xcb_connection_t *conn,
       xcb_atom_t property, xcb_atom_t type, uint32_t offset,
       uint32_t len, uint8_t device_id, uint8_t _delete);

πŸŽ€ Reply datastructure

typedef struct xcb_input_get_device_property_reply_t {
    uint8_t    response_type;
    uint8_t    xi_reply_type;
    uint16_t   sequence;
    uint32_t   length;
    xcb_atom_t type;
    uint32_t   bytes_after;
    uint32_t   num_items;
    uint8_t    format;
    uint8_t    device_id;
    uint8_t    pad0[10];
} xcb_input_get_device_property_reply_t;

πŸ’œ Reply function

xcb_input_get_device_property_reply_t
       *xcb_input_get_device_property_reply(xcb_connection_t *conn,
       xcb_input_get_device_property_cookie_t cookie,
       xcb_generic_error_t **e);

⭐ Reply accessors

xcb_input_get_device_property_items_t
       *xcb_input_get_device_property_items (const
       xcb_input_get_device_property_request_t *reply)

πŸ“ REQUEST ARGUMENTS πŸ“

  • conn β€” your XCB connection to X11, the whole reason we're here 🫢
  • property β€” TODO: NOT YET DOCUMENTED. (the docs really said "we'll get to it" and then did not πŸ’€)
  • type β€” TODO: NOT YET DOCUMENTED.
  • offset β€” TODO: NOT YET DOCUMENTED.
  • len β€” TODO: NOT YET DOCUMENTED.
  • device_id β€” TODO: NOT YET DOCUMENTED.
  • _delete β€” TODO: NOT YET DOCUMENTED.

🌈 REPLY FIELDS 🌈

  • response_type β€” the type of this reply, which in this case is XCB_INPUT_GET_DEVICE_PROPERTY. this field is also chilling in the xcb_generic_reply_t, so you can use it to tell your replies apart from each other πŸ‘‘
  • sequence β€” the sequence number of the last request the X11 server actually processed.
  • length β€” the length of the reply, measured in words (and one word = 4 bytes, fyi).
  • xi_reply_type β€” TODO: NOT YET DOCUMENTED.
  • type β€” TODO: NOT YET DOCUMENTED.
  • bytes_after β€” TODO: NOT YET DOCUMENTED.
  • num_items β€” TODO: NOT YET DOCUMENTED.
  • format β€” TODO: NOT YET DOCUMENTED.
  • device_id β€” TODO: NOT YET DOCUMENTED.

🌸 DESCRIPTION 🌸

(there is literally nothing here in the original. an empty section. a moment of silence for the description that never was πŸ˜­πŸ•ŠοΈ)


πŸ’– RETURN VALUE πŸ’–

It hands you back an xcb_input_get_device_property_cookie_t πŸͺ. Errors? You gotta deal with those when you call the reply function, xcb_input_get_device_property_reply.

If you'd rather handle errors in the event loop instead, use xcb_input_get_device_property_unchecked. Peep xcb-requests(3) for the deets.


🧚 ERRORS 🧚

okay so this request never generates any errors. not one. zero. a clean girlie ✨ no drama, no errors, periodt.


πŸ¦‹ SEE ALSO πŸ¦‹

(nothing listed here in the source β€” the void, but make it cute πŸ’€)


πŸ‘‘ AUTHOR πŸ‘‘

Generated from xinput.xml. If you've got corrections or improvements, hit up xcb@lists.freedesktop.org πŸ“§


and that's the whole page bestie, tysm for reading πŸ«ΆπŸ’œ this lil' cutie came to you courtesy of X Version 11 and libxcb 1.17.0 β€” mwah, slay, bye βœ¨πŸŽ€