XCB_INPUT_CHANGE_DEVICE_CONTROL(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_change_device_control πŸ’–

okay so bestie, welcome to xcb_input_cha...device_control(3) β€” yes that's the manual page name, it's giving "truncated by the terminal" but honestly? iconic. this is a request from the XCB XInput extension, and we're gonna walk through it together, no cap.


✨ NAME ✨

xcb_input_change_device_control β€” the request that changes a device control. that's it. that's the name. the manpage itself left the description blank, so we're keeping it exactly that mysterious. πŸ’…


✨ SYNOPSIS ✨

first things first, you gotta pull in the header:

#include <xcb/xinput.h>

πŸ¦‹ Request function

xcb_input_change_device_control_cookie_t
       xcb_input_change_device_control(xcb_connection_t *conn,
       uint16_t control_id, uint8_t device_id,
       xcb_input_device_ctl_t *control);

πŸŽ€ Reply datastructure

typedef struct xcb_input_change_device_control_reply_t {
    uint8_t  response_type;
    uint8_t  xi_reply_type;
    uint16_t sequence;
    uint32_t length;
    uint8_t  status;
    uint8_t  pad0[23];
} xcb_input_change_device_control_reply_t;

πŸŽ€ Reply function

xcb_input_change_device_control_reply_t
       *xcb_input_change_device_control_reply(xcb_connection_t *conn,
       xcb_input_change_device_control_cookie_t cookie,
       xcb_generic_error_t **e);

✨ REQUEST ARGUMENTS ✨

  • conn β€” your XCB connection to X11. the whole reason we're here, the main character fr fr. πŸ’œ
  • control_id β€” TODO: NOT YET DOCUMENTED. yeah. the docs said "later" and later never came. 😭 we still list it tho, because it's literally a parameter you have to pass.
  • device_id β€” TODO: NOT YET DOCUMENTED. same energy, bestie. πŸ™ˆ
  • control β€” TODO: NOT YET DOCUMENTED. a whole pointer and the manpage is just standing there like 🧍
no shade to the XCB maintainers, they were busy, and the struct is right there if you wanna go read it yourself. we're just reporting the facts. πŸ’–

✨ REPLY FIELDS ✨

  • response_type β€” the type of this reply, and in this case it's XCB_INPUT_CHANGE_DEVICE_CONTROL. this field also lives in the xcb_generic_reply_t, which is lowkey the whole point: it's how you tell your replies apart from each other. vibe check for packets. πŸ”₯
  • sequence β€” the sequence number of the last request processed by the X11 server. the server's lil receipt number. 🧾
  • length β€” the length of the reply, in words. and a word is 4 bytes, so don't get it twisted. ⭐
  • xi_reply_type β€” TODO: NOT YET DOCUMENTED. 🌸
  • status β€” TODO: NOT YET DOCUMENTED. πŸ¦‹

✨ DESCRIPTION ✨

okay so… there is no description. the section exists, and it is empty. that's not me skipping it, that's genuinely all that's in there. it's giving minimalism. it's giving "the code is the documentation." we respect it. πŸ’…


✨ RETURN VALUE ✨

this hands you back an xcb_input_change_device_control_cookie_t. πŸͺ

and because it's a cookie, the errors don't show up here β€” you have to handle them when you call the reply function xcb_input_change_device_control_reply.

if you'd rather deal with errors in the event loop instead, use xcb_input_change_device_control_unchecked. go read xcb-requests(3) for the details on how that whole dance works. 🫢


✨ ERRORS ✨

This request does never generate any errors.

periodt. nothing to catch. relax. 😌


✨ SEE ALSO ✨

(also empty in the original β€” the section's there, the references aren't. we keep it real.) 🌈


✨ AUTHOR ✨

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


and that's the whole page, bestie!! πŸŽ€ you ate. go forth and change that device control. πŸ’–

X Version 11 Β· libxcb 1.17.0 β€” mwah, thanks for reading, ily, bye!! πŸ’œβœ¨πŸ¦‹