XkbChangeDeviceInfo(3)

πŸ’– XkbChangeDeviceInfo(3) πŸ’–

okay bestie, welcome to the XKB FUNCTIONS manual page, section 3 β€” this is the one about XkbChangeDeviceInfo. It’s giving β€œtell the server what changed on this device” energy, and honestly? iconic. πŸ¦‹

🌸 NAME 🌸

XkbChangeDeviceInfo β€” update the server’s description of a device with the changes noted in an XkbDeviceChangesRec. πŸ’…

✨ SYNOPSIS ✨

       Bool XkbChangeDeviceInfo (Display *dpy, XkbDeviceInfoPtr device_info,
              XkbDeviceChangesPtr changes);

πŸ’… ARGUMENTS πŸ’…

  • dpy β€” connection to X server. literally the link to the server, bestie. πŸ”Œ
  • device_info β€” local copy of device state and configuration. your lil local snapshot, periodt. 🫢
  • changes β€” note specifying changes in device_info. the receipt of what’s different. 🧾

πŸ¦‹ DESCRIPTION πŸ¦‹

XkbChangeDeviceInfo updates the server’s description of the device specified in device_info->device_spec with the changes specified in changes and contained in device_info. The update is made by an XkbSetDeviceInfo request.

No cap: it’s taking your local info plus the tracked changes and updating that server-side description via that request. ✨

πŸŽ€ STRUCTURES πŸŽ€

You can track changes to an Xkb extension device by listening for XkbDeviceExtensionNotify events and accumulating the changes in an XkbDeviceChangesRec structure. Then the changes noted in the structure can be used in subsequent operations to update either a server configuration or a local copy of an Xkb extension device configuration. 🌈

The changes structure is defined as follows β€” copy this exactly, bestie, because structs do not play:

       typedef struct _XkbDeviceChanges {
           unsigned int         changed;        /* bits indicating what has changed */
           unsigned short       first_btn;      /* number of first button which changed, if any */
           unsigned short       num_btns;       /* number of buttons that have changed */
           XkbDeviceLedChangesRec leds;
       } XkbDeviceChangesRec,*XkbDeviceChangesPtr;

πŸ”₯ SEE ALSO πŸ”₯


That’s the whole vibe check from the footer: X Version 11, libX11 1.8.14, and this page is XkbChangeDeviceInfo(3). mwah, bye bestie πŸ’œπŸŽ€

πŸ“¦ where this page comes from