plucky (3) XkbActionCtrls.3.gz

Provided by: libx11-doc_1.8.10-2_all bug

NAME

       XkbActionCtrls - Returns the ctrls fields of act converted to an unsigned int

SYNOPSIS

       unsigned int XkbActionCtrls (XkbCtrlsAction act);

ARGUMENTS

       act    action from which to extract controls

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
                            disables  any  controls specified in the
                            ctrls  fields  that  were  not   already
                            disabled 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
                            disables controls.
       XkbSA_LockNoUnlock   If  set,  and   the   action   type   is
                            XkbSA_LockControls,   the   server  only
                            enables controls.

       The XkbSA_SetControls action implements a key that enables a boolean control when pressed and disables it
       when  released.  The  XkbSA_LockControls  action  is  used to implement a key that toggles the state of a
       boolean control each time it is pressed and released. The XkbSA_LockNoLock and  XkbSA_LockNoUnlock  flags
       allow modifying the toggling behavior to only unlock or only lock the boolean control.

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

       XkbActionCtrls returns the ctrls fields of act converted to an unsigned int.

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;