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
115        used to configure the control (which), and to enable and  disable  the
116       control (enabled_ctrls). The anomalies in the table (no "ok" in column)
117       are for controls that have no configurable attributes; and for controls
118       that  are  not boolean controls and therefore cannot be enabled or dis‐
119       abled.
120
121
122                            Table 2 Controls Mask Bits
123       ──────────────────────────────────────────────────────────────────────
124       Mask Bit                 which or             Value
125                                changed    enabled
126                                _ctrls     _ctrls
127       ──────────────────────────────────────────────────────────────────────
128       XkbRepeatKeysMask        ok         ok        (1L<<0)
129       XkbSlowKeysMask          ok         ok        (1L<<1)
130       XkbBounceKeysMask        ok         ok        (1L<<2)
131       XkbStickyKeysMask        ok         ok        (1L<<3)
132
133       XkbMouseKeysMask         ok         ok        (1L<<4)
134       XkbMouseKeysAccelMask    ok         ok        (1L<<5)
135       XkbAccessXKeysMask       ok         ok        (1L<<6)
136       XkbAccessXTimeoutMask    ok         ok        (1L<<7)
137       XkbAccessXFeedbackMask   ok         ok        (1L<<8)
138       XkbAudibleBellMask                  ok        (1L<<9)
139       XkbOverlay1Mask                     ok        (1L<<10)
140       XkbOverlay2Mask                     ok        (1L<<11)
141       XkbIgnoreGroupLockMask              ok        (1L<<12)
142       XkbGroupsWrapMask        ok                   (1L<<27)
143       XkbInternalModsMask      ok                   (1L<<28)
144       XkbIgnoreLockModsMask    ok                   (1L<<29)
145       XkbPerKeyRepeatMask      ok                   (1L<<30)
146       XkbControlsEnabledMask   ok                   (1L<<31)
147       XkbAccessXOptionsMask    ok         ok        (XkbStickyKeysMask |
148                                                     XkbAccessXFeedbackMask)
149       XkbAllBooleanCtrlsMask              ok        (0x00001FFF)
150       XkbAllControlsMask       ok                   (0xF8001FFF)
151
152       If you have an Xkb description with controls that  have  been  modified
153       and  an XkbControlsChangesRec that describes the changes that have been
154       made, the XkbChangeControls function provides a flexible method for up‐
155       dating  the controls in a server to match those in the changed keyboard
156       description.
157
158       XkbChangeControls copies any controls fields specified by changes  from
159       the  keyboard description controls structure, xkb->ctrls, to the server
160       specified by dpy.
161

STRUCTURES

163       The XkbControlsChangesRec structure is defined as follows:
164
165       typedef struct _XkbControlsChanges {
166           unsigned int  changed_ctrls;         /* bits indicating changed control data */
167           unsigned int  enabled_ctrls_changes; /* bits indicating enabled/disabled controls */
168           Bool          num_groups_changed;    /* True if number of keyboard groups changed */
169       } XkbControlsChangesRec,*XkbControlsChangesPtr;
170
171

SEE ALSO

173       XkbChangeControls(3),   XkbChangeDeviceInfo(3),    XkbChangeEnabledCon‐
174       trols(3),  XkbChangeIndicators(3),  XkbChangeMap(3), XkbChangeNames(3),
175       XkbChangeTypesOfKey(3)
176
177
178
179
180
181
182X Version 11                     libX11 1.7.2             XkbChangeControls(3)
Impressum