Index of Section 3 Manual Pages
| Interix / SUA | XkbSetControls.3 | Interix / SUA |
XkbSetControls(3) XKB FUNCTIONS XkbSetControls(3)
NAME
XkbSetControls - Copies changes to the X server based on a
modified ctrls structure in a local copy of the keyboard
description
SYNOPSIS
Bool XkbSetControls ( display, which, xkb )
Display *display;
unsigned long which;
XkbDescPtr xkb;
ARGUMENTS
- display
connection to X server
- which
mask of controls requested
- xkb keyboard description for controls information
DESCRIPTION
For each bit that is set in the which parameter, XkbSet-
Controls sends the corresponding values from the
xkb->ctrls field to the server. Valid values for which are
any combination of the masks listed in Table 1 that have
"ok" in the which column.
Table 1 shows the actual values for the individual mask
bits used to select controls for modification and to
enable and disable the control. Note that the same mask
bit is used to specify general modifications to the param-
eters used to configure the control (which), and to enable
and disable the control (enabled_ctrls). The anomalies in
the table (no "ok" in column) are for controls that have
no configurable attributes; and for controls that are not
boolean controls and therefore cannot be enabled or dis-
abled.
Table 1 Controls Mask Bits
---------------------------------------------------------------------------
Mask Bit which or enabled Value
changed_ctrls _ctrls
---------------------------------------------------------------------------
XkbRepeatKeysMask ok ok (1L<<0)
XkbSlowKeysMask ok ok (1L<<1)
XkbBounceKeysMask ok ok (1L<<2)
XkbStickyKeysMask ok ok (1L<<3)
XkbMouseKeysMask ok ok (1L<<4)
XkbMouseKeysAccelMask ok ok (1L<<5)
XkbAccessXKeysMask ok ok (1L<<6)
XkbAccessXTimeoutMask ok ok (1L<<7)
XkbAccessXFeedbackMask ok ok (1L<<8)
XkbAudibleBellMask ok (1L<<9)
XkbOverlay1Mask ok (1L<<10)
XkbOverlay2Mask ok (1L<<11)
XkbIgnoreGroupLockMask ok (1L<<12)
XkbGroupsWrapMask ok (1L<<27)
XkbInternalModsMask ok (1L<<28)
XkbIgnoreLockModsMask ok (1L<<29)
XkbPerKeyRepeatMask ok (1L<<30)
XkbControlsEnabledMask ok (1L<<31)
XkbAccessXOptionsMask ok ok (XkbStickyKeysMask |
XkbAccessXFeedbackMask)
XkbAllBooleanCtrlsMask ok (0x00001FFF)
XkbAllControlsMask ok (0xF8001FFF)
If xkb->ctrls is NULL, the server does not support a com-
patible version of Xkb, or the Xkb extension has not been
properly initialized, XkbSetControls returns False. Other-
wise, it sends the request to the X server and returns
True.
Note that changes to attributes of controls in the XkbCon-
trolsRec structure are apparent only when the associated
control is enabled, although the corresponding values are
still updated in the X server. For example, the
repeat_delay and repeat_interval fields are ignored unless
the RepeatKeys control is enabled (that is, the X server's
equivalent of xkb->ctrls has XkbRepeatKeyMask set in
enabled_ctrls). It is permissible to modify the
attributes of a control in one call to XkbSetControls and
enable the control in a subsequent call. See XkbChangeEn-
abledControls for more information on enabling and dis-
abling controls.
Note that the enabled_ctrls field is itself a control -
the EnabledControls control. As such, to set a specific
configuration of enabled and disabled boolean controls,
you must set enabled_ctrls to the appropriate bits to
enable only the controls you want and disable all others,
then specify the XkbControlsEnabledMask in a call to Xkb-
SetControls.
Because this is somewhat awkward if all you want to do is
enable and disable controls, and not modify any of their
attributes, a convenience function is also provided for
this purpose, XkbChangeEnabledControls.
RETURN VALUES
True The XkbSetControls function returns True
when it sends the request to the X server.
False The XkbSetControls function returns False
when xkb->ctrls is NULL, the server does
not support a compatible version of Xkb, or
the Xkb extension has not been properly
initialized.
DIAGNOSTICS
BadAlloc Unable to allocate storage
BadMatch A compatible version of Xkb was not avail-
able in the server or an argument has cor-
rect type and range, but is otherwise
invalid
SEE ALSO
XkbChangeEnabledControls(3), XkbFreeControls(3)
X Version 11 libX11 1.1.5 XkbSetControls(3)