1XkbSetIndicatorMap(3) XKB FUNCTIONS XkbSetIndicatorMap(3)
2
3
4
6 XkbSetIndicatorMap - Downloads the changes to the server based on modi‐
7 fications to a local copy of the keyboard description which will update
8 the maps for one or more indicators
9
11 Bool XkbSetIndicatorMap (Display *dpy, unsigned int which, XkbDescPtr
12 desc);
13
15 dpy connection to the X server
16
17 which mask of indicators to change
18
19 desc keyboard description from which the maps are taken
20
22 This section discusses the effects of explicitly changing indicators
23 depending upon different settings in the indicator map. See Tables 1
24 and Table 2 for information on the effects of the indicator map fields
25 when explicit changes are made.
26
27
28 Table 1 XkbIndicatorMapRec which_groups and groups,
29 Indicator Drives Keyboard
30 ────────────────────────────────────────────────────────────────
31 which_groups New State Effect on Keyboard Group State
32 ────────────────────────────────────────────────────────────────
33 XkbIM_UseNone On or Off No effect
34 XkbIM_UseBase On or Off No effect
35 XkbIM_UseLatched On The groups field is treated as
36 a group mask. The keyboard
37 group latch is changed to the
38 lowest numbered group speci‐
39 fied in groups; if groups is
40 empty, the keyboard group
41 latch is changed to zero.
42 XkbIM_UseLatched Off The groups field is treated as
43 a group mask. If the indicator
44 is explicitly extinguished,
45 keyboard group latch is
46 changed to the lowest numbered
47 group not specified in groups;
48 if groups is zero, the key‐
49 board group latch is set to
50 the index of the highest legal
51 keyboard group.
52 XkbIM_UseLocked or
53 XkbIM_UseEffective On If the groups mask is empty,
54 group is not changed; other‐
55 wise, the locked keyboard
56 group is changed to the lowest
57 numbered group specified in
58 groups.
59 XkbIM_UseLocked or
60 XkbIM_UseEffective Off Locked keyboard group is
61 changed to the lowest numbered
62 group that is not specified in
63 the groups mask, or to Group1
64 if the groups mask contains
65 all keyboard groups.
66
67
68
69
70 Table 2 XkbIndicatorMapRec which_mods and mods,
71 Indicator Drives Keyboard
72 ─────────────────────────────────────────────────────────────────
73 which_mods New State Effect on Keyboard Modifiers
74 ─────────────────────────────────────────────────────────────────
75 XkbIM_UseNone or
76 XkbIM_UseBase On or Off No Effect
77 XkbIM_UseLatched On Any modifiers specified in the
78 mask field of mods are added
79 to the latched modifiers.
80 XkbIM_UseLatched Off Any modifiers specified in the
81 mask field of mods are removed
82 from the latched modifiers.
83 XkbIM_UseLocked,
84 XkbIM_UseCompat, or
85 XkbIM_UseEffective On Any modifiers specified in the
86 mask field of mods are added
87 to the locked modifiers.
88 XkbIM_UseLocked Off Any modifiers specified in the
89 mask field of mods are removed
90 from the locked modifiers.
91 XkbIM_UseCompat or
92 XkbIM_UseEffective Off Any modifiers specified in the
93 mask field of mods are removed
94 from both the locked and
95 latched modifiers.
96
97 If XkbIM_LEDDrivesKB is set and XkbIM_NoExplicit is not, and if you
98 call a function that updates the server's image of the indicator map
99 (such as XkbSetIndicatorMap or XkbSetNamedIndicator), Xkb changes the
100 keyboard state and controls to reflect the other fields of the indica‐
101 tor map. If you attempt to explicitly change the value of an indicator
102 for which XkbIM_LEDDrivesKB is absent or for which XkbIM_NoExplicit is
103 present, keyboard state or controls are unaffected.
104
105 If neither XkbIM_NoAutomatic nor XkbIM_NoExplicit is set in an indica‐
106 tor map, Xkb honors any request to change the state of the indicator,
107 but the new state might be immediately superseded by automatic changes
108 to the indicator state if the keyboard state or controls change.
109
110 The effects of changing an indicator that drives the keyboard are cumu‐
111 lative; it is possible for a single change to affect keyboard group,
112 modifiers, and controls simultaneously.
113
114 If you change an indicator for which both the XkbIM_LEDDrivesKB and Xk‐
115 bIM_NoAutomatic flags are specified, Xkb applies the keyboard changes
116 specified in the other indicator map fields and changes the indicator
117 to reflect the state that was explicitly requested. The indicator re‐
118 mains in the new state until it is explicitly changed again.
119
120 If the XkbIM_NoAutomatic flag is not set and XkbIM_LEDDrivesKB is set,
121 Xkb applies the changes specified in the other indicator map fields and
122 sets the state of the indicator to the values specified by the indica‐
123 tor map. Note that it is possible in this case for the indicator to end
124 up in a different state than the one that was explicitly requested. For
125 example, Xkb does not extinguish an indicator with which_mods of Xk‐
126 bIM_UseBase and mods of Shift if, at the time Xkb processes the request
127 to extinguish the indicator, one of the Shift keys is physically de‐
128 pressed.
129
130 If you explicitly light an indicator for which XkbIM_LEDDrivesKB is
131 set, Xkb enables all of the boolean controls specified in the ctrls
132 field of its indicator map. Explicitly extinguishing such an indicator
133 causes Xkb to disable all of the boolean controls specified in ctrls.
134
135 For each bit set in the which parameter, XkbSetIndicatorMap sends the
136 corresponding indicator map from the desc parameter to the server.
137
139 XkbSetNamedIndicator(3)
140
141
142
143X Version 11 libX11 1.8.7 XkbSetIndicatorMap(3)