dwww Home | Manual pages | Find package

XkbActionSetCtrls(3)             XKB FUNCTIONS             XkbActionSetCtrls(3)

NAME
       XkbActionSetCtrls  -  Sets  the ctrls0 through ctrls3 fields of act from
       ctrls

SYNOPSIS

       void XkbActionSetCtrls (XkbCtrlsAction act, unsigned int ctrls);

ARGUMENTS
       act    action in which to set ctrls0-ctrls3

       ctrls  value to set in ctrls0-ctrls3

DESCRIPTION
       Actions associated with the XkbCtrlsAction structure change the state of
       the boolean controls.

       The type field can have any one of the values shown in Table 1.

                       Table 1 Controls Action Types
       ──────────────────────────────────────────────────────────────
       Type                 Effect
       ──────────────────────────────────────────────────────────────
       XkbSA_SetControls    A key press enables any boolean controls
                            specified in the ctrls fields that  were
                            not  already  enabled at the time of the
                            key press.  A key release  disables  any
                            controls enabled by the key press.  This
                            action   can   cause   XkbControlsNotify
                            events.
       XkbSA_LockControls   If the XkbSA_LockNoLock bit is  not  set
                            in  the flags field, a key press enables
                            any  controls  specified  in  the  ctrls
                            fields  that were not already enabled at
                            the time of the key press.
                            If the XkbSA_LockNoUnlock bit is not set
                            in the flags field, a key  release  dis-
                            ables  any  controls  specified  in  the
                            ctrls fields that were not already  dis-
                            abled at the time of the key press.
                            This  action can cause XkbControlsNotify
                            events.

       The flags field is composed of the bitwise inclusive  OR  of  the  masks
       shown in Table 2.

                       Table 2 Control Action Flags
       ──────────────────────────────────────────────────────────────
       Flag                 Meaning
       ──────────────────────────────────────────────────────────────
       XkbSA_LockNoLock     If   set,   and   the   action  type  is
                            XkbSA_LockControls, the server only dis-
                            ables controls.
       XkbSA_LockNoUnlock   If  set,  and   the   action   type   is
                            XkbSA_LockControls,  the server only en-
                            ables controls.

       The XkbSA_SetControls action implements a key  that  enables  a  boolean
       control  when  pressed and disables it when released. The XkbSA_LockCon-
       trols action is used to implement a key that  toggles  the  state  of  a
       boolean  control  each  time  it is pressed and released. The XkbSA_Loc-
       kNoLock and XkbSA_LockNoUnlock flags allow modifying the toggling behav-
       ior to only unlock or only lock the boolean control.

       The ctrls0, ctrls1, ctrls2, and ctrls3 fields represent the boolean con-
       trols in the enabled_ctrls field of the controls structure. Xkb  macros,
       to convert between the two formats.

       XkbActionSetCtrls  sets  the  ctrls0  through  ctrls3 fields of act from
       ctrls.

STRUCTURES
           typedef struct _XkbCtrlsAction {
               unsigned char    type;    /* XkbSA_SetControls, XkbSA_LockControls */
               unsigned char    flags;   /* with type, controls enabling and disabling of controls */
               unsigned char    ctrls3;  /* ctrls0 through ctrls3 represent the boolean controls */
               unsigned char    ctrls2;  /* ctrls0 through ctrls3 represent the boolean controls */
               unsigned char    ctrls1;  /* ctrls0 through ctrls3 represent the boolean controls */
               unsigned char    ctrls0;  /* ctrls0 through ctrls3 represent the boolean controls */
           } XkbCtrlsAction;

X Version 11                     libX11 1.8.12             XkbActionSetCtrls(3)

Generated by dwww version 1.16 on Sat Oct 3 07:36:56 CEST 2026.