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