You can configure the boolean controls to automatically be enabled or
disabled when a program exits. This capability is controlled via two masks
maintained in the X server on a per-client basis. There is no client-side Xkb
data structure corresponding to these masks. Whenever the client exits for
any reason, any boolean controls specified in the
auto-reset mask are set to the corresponding value from the
auto-reset values mask. This makes it
possible for clients to "clean up after themselves" automatically, even if
abnormally terminated. The bits used in the masks correspond to the
EnabledControls control bits.
For example, a client that replaces the keyboard bell with some other audible
cue might want to turn off the AudibleBell control to prevent the server from
also generating a sound and avoid cacophony. If the client were to exit
without resetting the AudibleBell control, the user would be left without any
feedback at all. Setting AudibleBell in both the auto-reset mask and
auto-reset values guarantees that the audible bell will be turned back on
when the client exits.
auto_values with the AutoReset control attributes for this particular client. It returns
True if successful, and False otherwise.