DOKK / manpages / debian 10 / libx11-doc / XkbSetAutoResetControls.3.en
XkbSetAutoResetControls(3) XKB FUNCTIONS XkbSetAutoResetControls(3)

XkbSetAutoResetControls - Changes the current values of the AutoReset control attributes

Bool XkbSetAutoResetControls (Display *dpy, unsigned int changes, unsigned int *auto_ctrls, unsigned int *auto_values);

connection to X server
controls for which to change auto-reset values
controls from changes that should auto reset
1 bit => auto-reset on

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.
libX11 1.6.7 X Version 11