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

STRUCTURES

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