xcb_input_xi_list_properties(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_xi_list_properties(3) ✨

okay bestie, so this is a page from the XCB Requests manual set β€” it's xcb_input_xi_list_properties(3) and it's giving "ask the server what properties a device has" energy. let's get into it 🫢


🌸 NAME 🌸

xcb_input_xi_list_properties -

(yeah the description is literally blank up there, the manpage authors left us on read πŸ’€ we still love them tho)


πŸŽ€ SYNOPSIS πŸŽ€

first things first, you gotta bring in the header:

#include <xcb/xinput.h>

✨ Request function ✨

xcb_input_xi_list_properties_cookie_t
       xcb_input_xi_list_properties(xcb_connection_t *conn,
       xcb_input_device_id_t deviceid);

πŸ¦‹ Reply datastructure πŸ¦‹

typedef struct xcb_input_xi_list_properties_reply_t {
    uint8_t  response_type;
    uint8_t  pad0;
    uint16_t sequence;
    uint32_t length;
    uint16_t num_properties;
    uint8_t  pad1[22];
} xcb_input_xi_list_properties_reply_t;

πŸ’– Reply function πŸ’–

xcb_input_xi_list_properties_reply_t
       *xcb_input_xi_list_properties_reply(xcb_connection_t *conn,
       xcb_input_xi_list_properties_cookie_t cookie,
       xcb_generic_error_t **e);

🌈 Reply accessors 🌈

xcb_atom_t *xcb_input_xi_list_properties_properties(const
       xcb_input_xi_list_properties_request_t *reply);

int xcb_input_xi_list_properties_properties_length(const
       xcb_input_xi_list_properties_reply_t *reply);

xcb_generic_iterator_t xcb_input_xi_list_properties_properties_end(const
       xcb_input_xi_list_properties_reply_t *reply);

πŸ”₯ REQUEST ARGUMENTS πŸ”₯

  • conn β€” bestie this is your XCB connection to X11. your whole link to the server, your main character pipeline πŸ’«
  • deviceid β€” TODO: NOT YET DOCUMENTED. yeah. iconic of them. no notes πŸ™ˆ

πŸ‘‘ REPLY FIELDS πŸ‘‘

  • response_type β€” the type of this reply, which in this case is XCB_INPUT_XI_LIST_PROPERTIES. this field is also present in the xcb_generic_reply_t, so you can use it to tell replies apart from each other. it's the little name tag at the party 🏷️
  • sequence β€” the sequence number of the last request processed by the X11 server. tracking the timeline fr fr ⏱️
  • length β€” the length of the reply, in words. and reminder: a word is 4 bytes. no cap πŸ“
  • num_properties β€” TODO: NOT YET DOCUMENTED. again. they really said "you'll figure it out" 😭

πŸ’œ DESCRIPTION πŸ’œ

(there is literally nothing here. the DESCRIPTION section is empty. it's giving mystery, it's giving "figure it out yourself queen", and honestly? we respect it πŸ’…)


⭐ RETURN VALUE ⭐

So it hands you back an xcb_input_xi_list_properties_cookie_t. that's your little ticket, your receipt, your "your order is being prepared" slip 🧾

Errors? You don't get to deal with them here. You have to handle them when you call the reply function xcb_input_xi_list_properties_reply.

But β€” and this is the plot twist β€” if you'd rather handle errors in the event loop instead, use xcb_input_xi_list_properties_unchecked. See xcb-requests(3) for the details, bestie, they explain it better than I can 🫢


πŸ’€ ERRORS πŸ’€

This request does never generate any errors.

not a single one. zero. none. it's flawless, it's unbothered, it's that girl ✨


🌸 SEE ALSO 🌸

(nothing listed. an empty section. we're just here vibing in the silence 🎧)


πŸ“ AUTHOR πŸ“

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

like, if something's wrong, that's the inbox to slide into πŸ“¬


and that's the whole page, bestie!! πŸ’– this one came from X Version 11, libxcb 1.17.0 β€” so if you're running that era of the stack, you're all set. mwah, go list some properties, you got this πŸ‘‘βœ¨πŸŽ€