---
name: "XkbChangeDeviceInfo"
section: "3"
platform: "linux"
package: "libx11"
version: "1.8.14-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/XkbChangeDeviceInfo"
---

# XkbChangeDeviceInfo(3)

Update the server's description of a device with the changes noted in an XkbDeviceChangesRec

## 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

- *device\_info*

  local copy of device state and configuration

- *changes*

  note specifying changes in device\_info

## 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.

## STRUCTURES

Changes to an Xkb extension device may be tracked by listening to XkbDeviceExtensionNotify events and accumulating the changes in an XkbDeviceChangesRec structure. The changes noted in the structure may then 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:

```
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

[**XkbSetDeviceInfo**(3)](/XkbSetDeviceInfo/3.md)
