xcb_input_xi_get_property(3)
β¨ xcb_input_xi_get_property β¨
okay bestie, so this one is a page from the XCB Requests corner of your friendly neighborhood libxcb β the whole family of xcb_input_xi_get_property(3) manual pages. It's giving "ask the X server what a device property actually says" energy, and honestly? Iconic. π
Fair warning before we go any further: the NAME line is literally just the function name with nothing after it, the DESCRIPTION section is empty, and SEE ALSO is empty too. Not me defending it β that's just what's in there. π We keep it 100 around here.
π¦ SYNOPSIS
First up, the include, because you always need it:
#include <xcb/xinput.h>
π Request function
xcb_input_xi_get_property_cookie_t
xcb_input_xi_get_property(xcb_connection_t *conn,
xcb_input_device_id_t deviceid, uint8_t _delete,
xcb_atom_t property, xcb_atom_t type, uint32_t offset,
uint32_t len);
πΈ Reply datastructure
typedef struct xcb_input_xi_get_property_reply_t {
uint8_t response_type;
uint8_t pad0;
uint16_t sequence;
uint32_t length;
xcb_atom_t type;
uint32_t bytes_after;
uint32_t num_items;
uint8_t format;
uint8_t pad1[11];
} xcb_input_xi_get_property_reply_t;
π Reply function
xcb_input_xi_get_property_reply_t
*xcb_input_xi_get_property_reply(xcb_connection_t *conn,
xcb_input_xi_get_property_cookie_t cookie,
xcb_generic_error_t **e);
π§ Reply accessors
xcb_input_xi_get_property_items_t *xcb_input_xi_get_property_items
(const xcb_input_xi_get_property_request_t *reply)
π REQUEST ARGUMENTS
connβ yourxcb_connection_tto X11. The whole line to the server, basically.deviceidβ TODO: NOT YET DOCUMENTED. π_deleteβ TODO: NOT YET DOCUMENTED. πpropertyβ TODO: NOT YET DOCUMENTED. πtypeβ TODO: NOT YET DOCUMENTED. πoffsetβ TODO: NOT YET DOCUMENTED. πlenβ TODO: NOT YET DOCUMENTED. π
no cap, that's genuinely all the page says for those. not me making stuff up, we don't do that here. π«Ά
β REPLY FIELDS
response_typeβ the type of this reply, and for this one it'sXCB_INPUT_XI_GET_PROPERTY. This field also lives in thexcb_generic_reply_t, so you can peek at it to tell your replies apart from each other. Very "which one of y'all is this" of it. πsequenceβ the sequence number of the last request that the X11 server actually processed.lengthβ how long the reply is, in words. And yes, a word is 4 bytes. periodt.typeβ TODO: NOT YET DOCUMENTED. πbytes_afterβ TODO: NOT YET DOCUMENTED. πnum_itemsβ TODO: NOT YET DOCUMENTED. πformatβ TODO: NOT YET DOCUMENTED. π
π DESCRIPTION
(the original page leaves this section empty, bestie β it's giving mystery, it's giving "figure it out from the synopsis". π)
π₯ RETURN VALUE
You get back an xcb_input_xi_get_property_cookie_t. πͺ
Errors? Those have to be handled when you call the reply function, xcb_input_xi_get_property_reply.
But if you'd rather handle your errors in the event loop instead, use xcb_input_xi_get_property_unchecked. Head over to xcb-requests(3) for the deets.
π ERRORS
This request never generates any errors. Not one. Zero. Clean slate, no drama, we love to see it. β¨
π SEE ALSO
(nothing here in the original β she said nothing and left. πΈ)
π¦ AUTHOR
Generated from xinput.xml. If you've got corrections or improvements, hit up xcb@lists.freedesktop.org. They're literally asking, so don't be shy. π
cute lil sign-off: this page is from X Version 11, shipped with libxcb 1.17.0, and that's the whole vibe check. stay hydrated, read your docs, and remember: xcb_input_xi_get_property(3) said what it said. πππ¦
π¦ 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