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

# XkbSetAutoResetControls(3)

Changes the current values of the AutoReset control attributes

## NAME

XkbSetAutoResetControls - Changes the current values of the AutoReset control attributes

## SYNOPSIS

**Bool XkbSetAutoResetControls** **(Display \****dpy***,** **unsigned int** *changes***,** **unsigned int \****auto\_ctrls***,** **unsigned int \****auto\_values***);**

## ARGUMENTS

- *dpy*

  connection to X server

- *changes*

  controls for which to change auto-reset values

- *auto\_ctrls*

  controls from changes that should auto reset

- *auto\_values*

  1 bit =\> auto-reset on

## DESCRIPTION

*XkbSetAutoResetControls* changes the auto-reset status and associated auto-reset values for the controls selected by *changes.* For any control selected by *changes,* if the corresponding bit is set in *auto\_ctrls,* the control is configured to auto-reset when the client exits. If the corresponding bit in *auto\_values* is on, the control is turned on when the client exits; if zero, the control is turned off when the client exits. For any control selected by *changes,* if the corresponding bit is not set in *auto\_ctrls,* the control is configured to not reset when the client exits.

For example:

```
To leave the auto-reset controls for StickyKeys the way they are:
	ok = XkbSetAutoResetControls(dpy, 0, 0, 0);
To change the auto-reset controls so that StickyKeys are unaffected when the
client exits:
	ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, 0, 0);
To change the auto-reset controls so that StickyKeys are turned off when the
client exits:
	ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask, 0);
To change the auto-reset controls so that StickyKeys are turned on when the
client exits:
	ok = XkbSetAutoResetControls(dpy, XkbStickyKeysMask, XkbStickyKeysMask,
XkbStickyKeysMask);
```

*XkbSetAutoResetControls* backfills *auto\_ctrls* and *auto\_values* with the auto-reset controls for this particular client. Note that all of the bits are valid in the returned values, not just the ones selected in the *changes* mask.
