1. NAME

XkbSAActionSetCtrls - Sets the ctrls0 through ctrls3 fields of act from ctrls

2. SYNOPSIS

void XkbSAActionSetCtrls (XkbCtrlsAction act , unsigned int ctrls );

3. ARGUMENTS

  • - act
        action in which to set ctrls0-ctrls3
  • - ctrls
        value to set in ctrls0-ctrls3

4. 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.

c s
l l
l lw(4i).
Table 1 Controls Action Types
_
Type Effect
_
XkbSA_SetControls T{
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.
T}
XkbSA_LockControls T{
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.
.br
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.
.br
This action can cause XkbControlsNotify events.
T}

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

c s
l l
l lw(4i).
Table 2 Control Action Flags
_
Flag Meaning
_
XkbSA_LockNoLock T{
If set, and the action type is XkbSA_LockControls, the server only disables
controls.
T}
XkbSA_LockNoUnlock T{
If set, and the action type is XkbSA_LockControls, the server only enables
controls.
T}

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. XkbSAActionSetCtrls sets the ctrls0 through ctrls3 fields of act from ctrls.

5. STRUCTURES

 
Sélectionnez
    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;