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

NAME

6       XkbActionSetCtrls  -  Sets the ctrls0 through ctrls3 fields of act from
7       ctrls
8

SYNOPSIS

10       void XkbActionSetCtrls (XkbCtrlsAction act, unsigned int ctrls);
11

ARGUMENTS

13       act    action in which to set ctrls0-ctrls3
14
15       ctrls  value to set in ctrls0-ctrls3
16

DESCRIPTION

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

STRUCTURES

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