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

NAME

6       XkbChangeControls  -  Provides  a flexible method for updating the con‐
7       trols in a server to match those in the changed keyboard description
8

SYNOPSIS

10       Bool  XkbChangeControls  (Display   *dpy,   XkbDescPtr   xkb,   XkbCon‐
11              trolsChangesPtr changes);
12

ARGUMENTS

14       - dpy  connection to X server
15
16       - xkb  keyboard description with changed xkb->ctrls
17
18       - changes
19              which parts of xkb->ctrls have changed
20

DESCRIPTION

22       The  XkbControlsChangesRec structure allows applications to track modi‐
23       fications to an XkbControlsRec structure and thereby reduce the  amount
24       of traffic sent to the server. The same XkbControlsChangesRec structure
25       may be used in several successive modifications to the same XkbControl‐
26       sRec structure, then subsequently used to cause all of the changes, and
27       only the changes, to be propagated to the server.
28
29       The changed_ctrls field is a mask specifying which logical sets of data
30       in the controls structure have been modified. In this context, modified
31       means set, that is, if a value is set to the same value  it  previously
32       contained,  it  has still been modified, and is noted as changed. Valid
33       values for changed_ctrls are any combination of the masks listed in Ta‐
34       ble 1 that have "ok" in the changed_ctrls column. Setting a bit implies
35       the corresponding data fields from the  "Relevant  XkbControlsRec  Data
36       Fields" column in Table 1 have been modified. The enabled_ctrls_changes
37       field specifies which bits in the enabled_ctrls field have changed.  If
38       the number of keyboard groups has changed, the num_groups_changed field
39       is set to True.
40
41       Table 1 shows the actual values for the individual mask  bits  used  to
42       select controls for modification and to enable and disable the control.
43       Note that the same mask bit is used to specify general modifications to
44       the parameters used to configure the control (which), and to enable and
45       disable the control (enabled_ctrls). The anomalies  in  the  table  (no
46       "ok"  in column) are for controls that have no configurable attributes;
47       and for controls that are not boolean controls and therefore cannot  be
48       enabled or disabled.
49
50
51                                     Table 1 Xkb Controls
52       ──────────────────────────────────────────────────────────────────────────────────
53       Control           Control
54                         Selection         Relevant
55                         Mask (which       XkbControlsRec    Boolean Control
56                         parameter)        DataFields        enabled_ctrls bit   Section
57       ──────────────────────────────────────────────────────────────────────────────────
58       AccessXFeedback   XkbAccessX‐       ax_options:       XkbAccessX‐         10.6.3
59                         FeedbackMask        XkbAX_*FBMask   FeedbackMask
60       AccessXKeys                                           XkbAccessXKeys‐     10.6.1
61                                                             Mask
62
63
64
65
66
67       AccessXTimeout    XkbAccessX‐       ax_timeout        XkbAccessX‐         10.6.2
68                         TimeoutMask       axt_opts_mask     TimeoutMask
69                                           axt_opts_values
70                                           axt_ctrls_mask
71                                           axt_ctrls_val‐
72                                           ues
73       AudibleBell                                           XkbAudibleBell‐     9.2
74                                                             Mask
75       AutoReset                                                                 10.1.2
76       BounceKeys        XkbBounce‐        debounce_delay    XkbBounceKeysMask   10.6.7
77                         KeysMask
78       Detectable-                                                               10.3.3
79       Autorepeat
80       EnabledControls   XkbControls‐      enabled_ctrls     Non-Boolean         10.1.1
81                         EnabledMask                         Control
82       GroupsWrap        XkbGroupsWrap‐    groups_wrap       Non-Boolean         10.7.1
83                         Mask                                Control
84       IgnoreGroupLock                                       XkbIgnore‐          10.7.3
85                                                             GroupLockMask
86       IgnoreLockMods    XkbIgnore‐        ignore_lock       Non-Boolean         5.1
87                         LockModsMask                        Control
88       InternalMods      XkbInternal‐      internal          Non-Boolean         5.1
89                         ModsMask                            Control
90       MouseKeys         Xkb‐              mk_dflt_btn       XkbMouseKeysMask    10.5.1
91                         MouseKeysMask
92       MouseKeysAccel    XkbMouseKeys‐     mk_delay mk_in‐   XkbMouseKeys‐       10.5.2
93                         AccelMask         terval            AccelMask
94                                           mk_time_to_max
95                                           mk_max_speed
96                                           mk_curve
97       Overlay1                                              XkbOverlay1Mask     10.4
98       Overlay2                                              XkbOverlay2Mask     10.4
99       PerKeyRepeat      XkbPerKey‐        per_key_repeat    Non-Boolean         10.3.1
100                         RepeatMask                          Control
101       RepeatKeys        XkbRepeatKeys‐    repeat_delay      XkbRepeatKeysMask   10.3
102                         Mask
103                                                             repeat_interval
104       SlowKeys          XkbSlowKeysMask   slow_keys_delay   XkbSlowKeysMask     10.6.6
105       StickyKeys        XkbStickyKeys‐    ax_options:       XkbStickyKeysMask   10.6.8
106                         Mask                Xk‐
107                                           bAX_TwoKeysMask
108                                             XkbAX_Latch‐
109                                           ToLockMask
110
111       Table  2  shows  the actual values for the individual mask bits used to
112       select controls for modification and to enable and disable the control.
113       Note that the same mask bit is used to specify general modifications to
114       the parameters used to configure the control (which), and to enable and
115       disable  the  control  (enabled_ctrls).  The anomalies in the table (no
116       "ok" in column) are for controls that have no configurable  attributes;
117       and  for controls that are not boolean controls and therefore cannot be
118       enabled or disabled.
119
120
121                            Table 2 Controls Mask Bits
122       ──────────────────────────────────────────────────────────────────────
123       Mask Bit                 which or             Value
124                                changed    enabled
125                                _ctrls     _ctrls
126       ──────────────────────────────────────────────────────────────────────
127       XkbRepeatKeysMask        ok         ok        (1L<<0)
128       XkbSlowKeysMask          ok         ok        (1L<<1)
129       XkbBounceKeysMask        ok         ok        (1L<<2)
130       XkbStickyKeysMask        ok         ok        (1L<<3)
131       XkbMouseKeysMask         ok         ok        (1L<<4)
132
133       XkbMouseKeysAccelMask    ok         ok        (1L<<5)
134       XkbAccessXKeysMask       ok         ok        (1L<<6)
135       XkbAccessXTimeoutMask    ok         ok        (1L<<7)
136       XkbAccessXFeedbackMask   ok         ok        (1L<<8)
137       XkbAudibleBellMask                  ok        (1L<<9)
138       XkbOverlay1Mask                     ok        (1L<<10)
139       XkbOverlay2Mask                     ok        (1L<<11)
140       XkbIgnoreGroupLockMask              ok        (1L<<12)
141       XkbGroupsWrapMask        ok                   (1L<<27)
142       XkbInternalModsMask      ok                   (1L<<28)
143       XkbIgnoreLockModsMask    ok                   (1L<<29)
144       XkbPerKeyRepeatMask      ok                   (1L<<30)
145       XkbControlsEnabledMask   ok                   (1L<<31)
146       XkbAccessXOptionsMask    ok         ok        (XkbStickyKeysMask |
147                                                     XkbAccessXFeedbackMask)
148       XkbAllBooleanCtrlsMask              ok        (0x00001FFF)
149       XkbAllControlsMask       ok                   (0xF8001FFF)
150
151
152
153
154       If you have an Xkb description with controls that  have  been  modified
155       and  an XkbControlsChangesRec that describes the changes that have been
156       made, the XkbChangeControls function provides a flexible method for up‐
157       dating  the controls in a server to match those in the changed keyboard
158       description.
159
160       XkbChangeControls copies any controls fields specified by changes  from
161       the  keyboard description controls structure, xkb->ctrls, to the server
162       specified by dpy.
163

STRUCTURES

165       The XkbControlsChangesRec structure is defined as follows:
166
167       typedef struct _XkbControlsChanges {
168           unsigned int  changed_ctrls;         /∗ bits indicating changed control data
169       */
170           unsigned int  enabled_ctrls_changes; /∗ bits indicating enabled/disabled
171       controls */
172           Bool          num_groups_changed;    /∗ True if number of keyboard groups
173       changed */
174       } XkbControlsChangesRec,*XkbControlsChangesPtr;
175
176
177
178
179X Version 11                     libX11 1.7.0             XkbChangeControls(3)
Impressum