1XkbChangeControls(3) XKB FUNCTIONS XkbChangeControls(3)
2
3
4
6 XkbChangeControls - Provides a flexible method for updating the con‐
7 trols in a server to match those in the changed keyboard description
8
10 Bool XkbChangeControls (Display *dpy, XkbDescPtr xkb, XkbCon‐
11 trolsChangesPtr changes);
12
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
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
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
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.8.1 XkbChangeControls(3)