1XkbActionCtrls(3)                XKB FUNCTIONS               XkbActionCtrls(3)
2
3
4

NAME

6       XkbActionCtrls  -  Returns  the ctrls fields of act converted to an un‐
7       signed int
8

SYNOPSIS

10       unsigned int XkbActionCtrls (XkbCtrlsAction act);
11

ARGUMENTS

13       - act  action from which to extract controls
14

DESCRIPTION

16       Actions associated with the XkbCtrlsAction structure change  the  state
17       of the boolean controls.
18
19       The type field can have any one of the values shown in Table 1.
20
21
22                       Table 1 Controls Action Types
23       ──────────────────────────────────────────────────────────────
24       Type                 Effect
25       ──────────────────────────────────────────────────────────────
26       XkbSA_SetControls    A key press enables any boolean controls
27                            specified in the ctrls fields that  were
28                            not  already  enabled at the time of the
29                            key press.  A key release  disables  any
30                            controls enabled by the key press.  This
31                            action   can   cause   XkbControlsNotify
32                            events.
33       XkbSA_LockControls   If  the  XkbSA_LockNoLock bit is not set
34                            in the flags field, a key press  enables
35                            any  controls  specified  in  the  ctrls
36                            fields that were not already enabled  at
37                            the time of the key press.
38                            If the XkbSA_LockNoUnlock bit is not set
39                            in the flags field, a key  release  dis‐
40                            ables  any  controls  specified  in  the
41                            ctrls fields that were not already  dis‐
42                            abled at the time of the key press.
43                            This  action can cause XkbControlsNotify
44                            events.
45
46       The flags field is composed of the bitwise inclusive OR  of  the  masks
47       shown in Table 2.
48
49
50                       Table 2 Control Action Flags
51       ──────────────────────────────────────────────────────────────
52       Flag                 Meaning
53       ──────────────────────────────────────────────────────────────
54       XkbSA_LockNoLock     If   set,   and   the   action  type  is
55                            XkbSA_LockControls, the server only dis‐
56                            ables controls.
57       XkbSA_LockNoUnlock   If   set,   and   the   action  type  is
58                            XkbSA_LockControls, the server only  en‐
59                            ables controls.
60
61       The  XkbSA_SetControls  action  implements a key that enables a boolean
62       control when pressed and disables it when released. The  XkbSA_LockCon‐
63       trols  action  is  used  to implement a key that toggles the state of a
64       boolean control each time it is pressed and  released.  The  XkbSA_Loc‐
65       kNoLock  and  XkbSA_LockNoUnlock flags allow modifying the toggling be‐
66       havior to only unlock or only lock the boolean control.
67
68       The ctrls0, ctrls1, ctrls2, and ctrls3  fields  represent  the  boolean
69       controls  in  the  enabled_ctrls  field  of the controls structure. Xkb
70       macros, to convert between the two formats.
71
72       XkbActionCtrls returns the ctrls fields of act converted to an unsigned
73       int.
74

STRUCTURES

76           typedef struct _XkbCtrlsAction {
77               unsigned char    type;    /* XkbSA_SetControls, XkbSA_LockControls */
78               unsigned char    flags;   /* with type, controls enabling and disabling
79       of controls */
80               unsigned char    ctrls3;  /* ctrls0 through ctrls3 represent the boolean
81       controls */
82               unsigned char    ctrls2;  /* ctrls0 through ctrls3 represent the boolean
83       controls */
84               unsigned char    ctrls1;  /* ctrls0 through ctrls3 represent the boolean
85       controls */
86               unsigned char    ctrls0;  /* ctrls0 through ctrls3 represent the boolean
87       controls */
88           } XkbCtrlsAction;
89
90
91
92X Version 11                    libX11 1.7.3.1               XkbActionCtrls(3)
Impressum