dwww Home | Manual pages | Find package

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 *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, XkbSetControls 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 se-
       lect  controls  for  modification and to enable and disable the control.
       Note that the same mask bit is used to specify general modifications  to
       the  parameters 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 en-
       abled or disabled.

                               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 compatible  version
       of  Xkb, or the Xkb extension has not been properly initialized, XkbSet-
       Controls returns False. Otherwise, it sends the request to the X  server
       and returns True.

       Note that changes to attributes of controls in the XkbControlsRec struc-
       ture  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  Re-
       peatKeys  control  is  enabled  (that  is,  the X server's equivalent of
       xkb->ctrls has XkbRepeatKeyMask set in enabled_ctrls).  It is  permissi-
       ble  to modify the attributes of a control in one call to XkbSetControls
       and enable the control in a subsequent  call.  See  XkbChangeEnabledCon-
       trols for more information on enabling and disabling controls.

       Note  that the enabled_ctrls field is itself a control - the EnabledCon-
       trols 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 XkbSetControls.

       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 ini-
                      tialized.

DIAGNOSTICS
       BadAlloc       Unable to allocate storage

       BadMatch       A compatible version of Xkb  was  not  available  in  the
                      server  or an argument has correct type and range, but is
                      otherwise invalid

SEE ALSO
       XkbChangeEnabledControls(3), XkbFreeControls(3)

X Version 11                     libX11 1.8.12                XkbSetControls(3)

Generated by dwww version 1.16 on Sat Oct 3 07:39:42 CEST 2026.