group revision 1.1.1.12 1 1.1.1.12 mrg // The right Alt key (while pressed) chooses the next group.
2 1.1.1.6 mrg partial modifier_keys
3 1.1 mrg xkb_symbols "switch" {
4 1.1.1.12 mrg key <RALT> {[ Mode_switch, Multi_key ]};
5 1.1 mrg };
6 1.1 mrg
7 1.1.1.12 mrg // The left Alt key (while pressed) chooses the next group.
8 1.1.1.6 mrg partial modifier_keys
9 1.1 mrg xkb_symbols "lswitch" {
10 1.1.1.12 mrg key <LALT> {[ Mode_switch, Multi_key ]};
11 1.1 mrg };
12 1.1 mrg
13 1.1.1.12 mrg // The left Win key (while pressed) chooses the next group.
14 1.1 mrg partial modifier_keys
15 1.1.1.12 mrg xkb_symbols "lwin_switch" {
16 1.1.1.12 mrg key <LWIN> {[ Mode_switch, Multi_key ]};
17 1.1 mrg };
18 1.1 mrg
19 1.1.1.12 mrg // The right Win key (while pressed) chooses the next group.
20 1.1 mrg partial modifier_keys
21 1.1.1.12 mrg xkb_symbols "rwin_switch" {
22 1.1.1.12 mrg key <RWIN> {[ Mode_switch, Multi_key ]};
23 1.1 mrg };
24 1.1 mrg
25 1.1.1.12 mrg // Either Win key (while pressed) chooses the next group.
26 1.1 mrg partial modifier_keys
27 1.1.1.12 mrg xkb_symbols "win_switch" {
28 1.1.1.12 mrg include "group(lwin_switch)"
29 1.1.1.12 mrg include "group(rwin_switch)"
30 1.1 mrg };
31 1.1 mrg
32 1.1.1.12 mrg // The Menu key (while pressed) chooses the next group,
33 1.1.1.11 mrg // while Shift+Menu acts as Menu.
34 1.1.1.11 mrg partial modifier_keys
35 1.1.1.11 mrg xkb_symbols "menu_switch" {
36 1.1.1.12 mrg key <MENU> {[ Mode_switch, Menu ]};
37 1.1.1.11 mrg };
38 1.1.1.11 mrg
39 1.1.1.12 mrg // The right Ctrl key (while pressed) chooses the next group.
40 1.1 mrg partial modifier_keys
41 1.1 mrg xkb_symbols "rctrl_switch" {
42 1.1.1.12 mrg key <RCTL> {[ Mode_switch ]};
43 1.1.1.12 mrg };
44 1.1.1.12 mrg
45 1.1.1.12 mrg // The Caps_Lock key (while pressed) chooses the next group,
46 1.1.1.12 mrg // while Alt+Caps_Lock toggles CapsLock.
47 1.1.1.12 mrg partial modifier_keys
48 1.1.1.12 mrg xkb_symbols "caps_switch" {
49 1.1.1.12 mrg key <CAPS> {[ Mode_switch, Caps_Lock ], type[group1] = "PC_ALT_LEVEL2" };
50 1.1 mrg };
51 1.1 mrg
52 1.1.1.6 mrg // Pressing the right Alt key switches to the next group.
53 1.1.1.6 mrg partial modifier_keys
54 1.1 mrg xkb_symbols "toggle" {
55 1.1.1.12 mrg key <RALT> {[ ISO_Next_Group ]};
56 1.1.1.12 mrg };
57 1.1.1.12 mrg
58 1.1.1.12 mrg // Pressing the left Alt key switches to the next group.
59 1.1.1.12 mrg partial modifier_keys
60 1.1.1.12 mrg xkb_symbols "lalt_toggle" {
61 1.1.1.12 mrg key <LALT> {[ ISO_Next_Group ]};
62 1.1 mrg };
63 1.1 mrg
64 1.1.1.6 mrg // Pressing both Shift keys switches to the next or previous group
65 1.1.1.6 mrg // (depending on which Shift is pressed first).
66 1.1.1.6 mrg partial modifier_keys
67 1.1 mrg xkb_symbols "shifts_toggle" {
68 1.1.1.12 mrg key <LFSH> {[ Shift_L, ISO_Prev_Group ]};
69 1.1.1.12 mrg key <RTSH> {[ Shift_R, ISO_Next_Group ]};
70 1.1 mrg };
71 1.1 mrg
72 1.1.1.12 mrg // Pressing Caps_Lock switches to the next group,
73 1.1.1.12 mrg // while Shift+Caps_Lock toggles CapsLock.
74 1.1.1.12 mrg partial modifier_keys
75 1.1.1.12 mrg xkb_symbols "caps_toggle" {
76 1.1.1.12 mrg key <CAPS> {[ ISO_Next_Group, Caps_Lock ], type[group1] = "TWO_LEVEL" };
77 1.1.1.12 mrg };
78 1.1.1.12 mrg
79 1.1.1.12 mrg // Pressing Shift+Caps_Lock switches to the next group,
80 1.1.1.12 mrg // while plain Caps_Lock toggles CapsLock.
81 1.1 mrg partial modifier_keys
82 1.1 mrg xkb_symbols "shift_caps_toggle" {
83 1.1.1.12 mrg key <CAPS> {[ Caps_Lock, ISO_Next_Group ], type[group1] = "TWO_LEVEL" };
84 1.1 mrg };
85 1.1 mrg
86 1.1.1.12 mrg // Pressing Alt+Space switches to the next group.
87 1.1 mrg partial modifier_keys
88 1.1.1.12 mrg xkb_symbols "alt_space_toggle" {
89 1.1.1.12 mrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
90 1.1 mrg };
91 1.1 mrg
92 1.1.1.12 mrg // Pressing Win+Space switches to the next group.
93 1.1.1.7 mrg partial modifier_keys
94 1.1.1.7 mrg xkb_symbols "win_space_toggle" {
95 1.1.1.12 mrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_SUPER_LEVEL2" };
96 1.1.1.12 mrg };
97 1.1.1.12 mrg
98 1.1.1.12 mrg // Pressing Ctrl+Space switches to the next group.
99 1.1.1.12 mrg partial modifier_keys
100 1.1.1.12 mrg xkb_symbols "ctrl_space_toggle" {
101 1.1.1.12 mrg key <SPCE> {[ space, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
102 1.1.1.12 mrg };
103 1.1.1.12 mrg
104 1.1.1.12 mrg
105 1.1.1.12 mrg // Pressing Caps_Lock selects the first group,
106 1.1.1.12 mrg // pressing Shift+Caps_Lock selects the second group.
107 1.1.1.12 mrg partial modifier_keys
108 1.1.1.12 mrg xkb_symbols "caps_select" {
109 1.1.1.12 mrg key <CAPS> {[ ISO_First_Group, ISO_Last_Group ], type[group1] = "TWO_LEVEL" };
110 1.1.1.7 mrg };
111 1.1.1.7 mrg
112 1.1.1.6 mrg // Pressing the left Win key selects the first group,
113 1.1.1.12 mrg // pressing the right Win key or the Menu key selects the second group.
114 1.1.1.3 ghen partial modifier_keys
115 1.1.1.12 mrg xkb_symbols "win_menu_select" {
116 1.1.1.12 mrg key <LWIN> {[ ISO_First_Group ]};
117 1.1.1.12 mrg key <RWIN> {[ ISO_Last_Group ]};
118 1.1.1.12 mrg key <MENU> {[ ISO_Last_Group ]};
119 1.1.1.3 ghen };
120 1.1.1.3 ghen
121 1.1.1.6 mrg // Pressing the left Ctrl key selects the first group,
122 1.1.1.12 mrg // pressing the right Ctrl key selects the second group.
123 1.1.1.3 ghen partial modifier_keys
124 1.1.1.12 mrg xkb_symbols "ctrl_select" {
125 1.1.1.12 mrg key <LCTL> {[ ISO_First_Group ]};
126 1.1.1.12 mrg key <RCTL> {[ ISO_Last_Group ]};
127 1.1.1.3 ghen };
128 1.1.1.3 ghen
129 1.1.1.5 mrg
130 1.1.1.5 mrg //
131 1.1.1.5 mrg // CTRL-SHIFT toggle section
132 1.1.1.5 mrg //
133 1.1.1.6 mrg partial modifier_keys
134 1.1.1.5 mrg xkb_symbols "lctrl_lshift_toggle" {
135 1.1.1.12 mrg key <LFSH> {[ Shift_L, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
136 1.1.1.12 mrg key <LCTL> {[ Control_L, ISO_Next_Group ]};
137 1.1.1.5 mrg };
138 1.1.1.5 mrg
139 1.1.1.6 mrg partial modifier_keys
140 1.1.1.5 mrg xkb_symbols "lctrl_lshift_toggle_rev" {
141 1.1.1.12 mrg key <LFSH> {[ Shift_L, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
142 1.1.1.12 mrg key <LCTL> {[ Control_L, ISO_Prev_Group ]};
143 1.1.1.5 mrg };
144 1.1.1.5 mrg
145 1.1.1.5 mrg partial modifier_keys
146 1.1.1.5 mrg xkb_symbols "rctrl_rshift_toggle" {
147 1.1.1.12 mrg key <RTSH> {[ Shift_R, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
148 1.1.1.12 mrg key <RCTL> {[ Control_R, ISO_Next_Group ]};
149 1.1.1.5 mrg };
150 1.1.1.5 mrg
151 1.1.1.6 mrg partial modifier_keys
152 1.1.1.5 mrg xkb_symbols "ctrl_shift_toggle" {
153 1.1.1.5 mrg include "group(lctrl_lshift_toggle)"
154 1.1.1.5 mrg include "group(rctrl_rshift_toggle)"
155 1.1.1.5 mrg };
156 1.1.1.5 mrg
157 1.1.1.6 mrg partial modifier_keys
158 1.1.1.5 mrg xkb_symbols "ctrl_shift_toggle_bidir" {
159 1.1.1.5 mrg include "group(lctrl_lshift_toggle_rev)"
160 1.1.1.5 mrg include "group(rctrl_rshift_toggle)"
161 1.1.1.5 mrg };
162 1.1.1.5 mrg
163 1.1.1.5 mrg
164 1.1.1.5 mrg //
165 1.1.1.5 mrg // CTRL-ALT toggle section
166 1.1.1.5 mrg //
167 1.1.1.5 mrg partial modifier_keys
168 1.1.1.5 mrg xkb_symbols "lctrl_lalt_toggle" {
169 1.1.1.12 mrg key <LALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
170 1.1.1.12 mrg key <LCTL> {[ Control_L, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
171 1.1.1.5 mrg };
172 1.1.1.5 mrg
173 1.1.1.5 mrg partial modifier_keys
174 1.1.1.5 mrg xkb_symbols "lctrl_lalt_toggle_rev" {
175 1.1.1.12 mrg key <LALT> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
176 1.1.1.12 mrg key <LCTL> {[ Control_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" };
177 1.1.1.5 mrg };
178 1.1.1.5 mrg
179 1.1.1.5 mrg partial modifier_keys
180 1.1.1.5 mrg xkb_symbols "rctrl_ralt_toggle" {
181 1.1.1.12 mrg key <RALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
182 1.1.1.12 mrg key <RCTL> {[ Control_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
183 1.1 mrg };
184 1.1 mrg
185 1.1.1.6 mrg partial modifier_keys
186 1.1.1.5 mrg xkb_symbols "ctrl_alt_toggle" {
187 1.1.1.5 mrg include "group(lctrl_lalt_toggle)"
188 1.1.1.5 mrg include "group(rctrl_ralt_toggle)"
189 1.1.1.5 mrg };
190 1.1.1.5 mrg
191 1.1.1.6 mrg partial modifier_keys
192 1.1.1.5 mrg xkb_symbols "ctrl_alt_toggle_bidir" {
193 1.1.1.5 mrg include "group(lctrl_lalt_toggle_rev)"
194 1.1.1.5 mrg include "group(rctrl_ralt_toggle)"
195 1.1.1.5 mrg };
196 1.1.1.5 mrg
197 1.1.1.5 mrg
198 1.1.1.5 mrg //
199 1.1.1.5 mrg // ALT-SHIFT toggle section
200 1.1.1.5 mrg //
201 1.1.1.5 mrg partial modifier_keys
202 1.1.1.5 mrg xkb_symbols "lalt_lshift_toggle" {
203 1.1.1.12 mrg key <LALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "TWO_LEVEL" };
204 1.1.1.12 mrg key <LFSH> {[ Shift_L, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
205 1.1.1.5 mrg };
206 1.1.1.5 mrg
207 1.1.1.5 mrg partial modifier_keys
208 1.1.1.5 mrg xkb_symbols "lalt_lshift_toggle_rev" {
209 1.1.1.12 mrg key <LALT> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "TWO_LEVEL" };
210 1.1.1.12 mrg key <LFSH> {[ Shift_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" };
211 1.1.1.5 mrg };
212 1.1.1.5 mrg
213 1.1.1.5 mrg partial modifier_keys
214 1.1.1.5 mrg xkb_symbols "ralt_rshift_toggle" {
215 1.1.1.12 mrg key <RALT> {[ NoSymbol, ISO_Next_Group ], type[group1] = "TWO_LEVEL" };
216 1.1.1.12 mrg key <RTSH> {[ Shift_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
217 1.1 mrg };
218 1.1 mrg
219 1.1.1.6 mrg partial modifier_keys
220 1.1.1.5 mrg xkb_symbols "alt_shift_toggle" {
221 1.1.1.5 mrg include "group(lalt_lshift_toggle)"
222 1.1.1.5 mrg include "group(ralt_rshift_toggle)"
223 1.1.1.5 mrg };
224 1.1.1.5 mrg
225 1.1.1.6 mrg partial modifier_keys
226 1.1.1.5 mrg xkb_symbols "alt_shift_toggle_bidir" {
227 1.1.1.5 mrg include "group(lalt_lshift_toggle_rev)"
228 1.1.1.5 mrg include "group(ralt_rshift_toggle)"
229 1.1.1.5 mrg };
230 1.1.1.5 mrg
231 1.1.1.5 mrg
232 1.1.1.6 mrg // Pressing the Menu key switches to the next group,
233 1.1.1.6 mrg // while Shift+Menu acts as Menu.
234 1.1 mrg partial modifier_keys
235 1.1 mrg xkb_symbols "menu_toggle" {
236 1.1.1.12 mrg key <MENU> {[ ISO_Next_Group, Menu ]};
237 1.1 mrg };
238 1.1 mrg
239 1.1.1.6 mrg // Pressing the left Win key switches to the next group.
240 1.1 mrg partial modifier_keys
241 1.1 mrg xkb_symbols "lwin_toggle" {
242 1.1.1.12 mrg key <LWIN> {[ ISO_Next_Group ]};
243 1.1 mrg };
244 1.1 mrg
245 1.1.1.6 mrg // Pressing the right Win key switches to the next group.
246 1.1 mrg partial modifier_keys
247 1.1 mrg xkb_symbols "rwin_toggle" {
248 1.1.1.12 mrg key <RWIN> {[ ISO_Next_Group ]};
249 1.1 mrg };
250 1.1 mrg
251 1.1.1.6 mrg // Pressing both Ctrl keys switches to the next or previous group
252 1.1.1.6 mrg // (depending on which Ctrl is pressed first).
253 1.1 mrg partial modifier_keys
254 1.1 mrg xkb_symbols "ctrls_toggle" {
255 1.1.1.12 mrg key <LCTL> {[ NoSymbol, ISO_Prev_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
256 1.1.1.12 mrg key <RCTL> {[ NoSymbol, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
257 1.1 mrg };
258 1.1 mrg
259 1.1.1.12 mrg // Pressing both Alt keys switches to the next or previous group
260 1.1.1.6 mrg // (depending on which Alt is pressed first).
261 1.1 mrg partial modifier_keys
262 1.1 mrg xkb_symbols "alts_toggle" {
263 1.1.1.12 mrg key <LALT> {[ Alt_L, ISO_Prev_Group ], type[group1] = "PC_ALT_LEVEL2" };
264 1.1.1.12 mrg key <RALT> {[ Alt_R, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
265 1.1.1.12 mrg };
266 1.1.1.12 mrg
267 1.1.1.12 mrg // Pressing Alt plus AltGr switches to the next or previous group
268 1.1.1.12 mrg // (depending on which one is pressed first).
269 1.1.1.12 mrg partial modifier_keys
270 1.1.1.12 mrg xkb_symbols "alt_altgr_toggle" {
271 1.1.1.12 mrg key <LALT> {[ Alt_L, Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
272 1.1.1.12 mrg type[group1] = "FOUR_LEVEL" };
273 1.1.1.12 mrg key <RALT> {[ ISO_Level3_Shift, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
274 1.1 mrg };
275 1.1 mrg
276 1.1.1.6 mrg // Pressing the left Shift key switches to the next group.
277 1.1 mrg partial modifier_keys
278 1.1 mrg xkb_symbols "lshift_toggle" {
279 1.1.1.12 mrg key <LFSH> {[ ISO_Next_Group ]};
280 1.1 mrg };
281 1.1 mrg
282 1.1.1.6 mrg // Pressing the right Shift key switches to the next group.
283 1.1 mrg partial modifier_keys
284 1.1 mrg xkb_symbols "rshift_toggle" {
285 1.1.1.12 mrg key <RTSH> {[ ISO_Next_Group ]};
286 1.1 mrg };
287 1.1 mrg
288 1.1.1.6 mrg // Pressing the left Ctrl key switches to the next group.
289 1.1 mrg partial modifier_keys
290 1.1 mrg xkb_symbols "lctrl_toggle" {
291 1.1.1.12 mrg key <LCTL> {[ ISO_Next_Group ]};
292 1.1 mrg };
293 1.1 mrg
294 1.1.1.6 mrg // Pressing the right Ctrl key switches to the next group.
295 1.1 mrg partial modifier_keys
296 1.1 mrg xkb_symbols "rctrl_toggle" {
297 1.1.1.12 mrg key <RCTL> {[ ISO_Next_Group ]};
298 1.1 mrg };
299 1.1 mrg
300 1.1.1.6 mrg // Pressing Alt+Caps_Lock switches to the next group,
301 1.1.1.12 mrg // while pressing Caps_Lock alone toggles CapsLock.
302 1.1 mrg partial modifier_keys
303 1.1 mrg xkb_symbols "alt_caps_toggle" {
304 1.1.1.12 mrg key <CAPS> {[ Caps_Lock, ISO_Next_Group ], type[group1] = "PC_ALT_LEVEL2" };
305 1.1 mrg };
306 1.1 mrg
307 1.1.1.8 mrg hidden partial modifier_keys
308 1.1 mrg xkb_symbols "olpc" {
309 1.1.1.12 mrg key <I219> {[ ISO_Next_Group, ISO_Prev_Group ]};
310 1.1 mrg };
311 1.1 mrg
312 1.1.1.12 mrg // Pressing the Scroll Lock key switches to the next group.
313 1.1.1.3 ghen partial modifier_keys
314 1.1.1.3 ghen xkb_symbols "sclk_toggle" {
315 1.1.1.12 mrg key <SCLK> {[ ISO_Next_Group ]};
316 1.1.1.3 ghen };
317 1.1.1.3 ghen
318 1.1.1.12 mrg // Pressing Ctrl + the left Win key selects the first group,
319 1.1.1.12 mrg // pressing Ctrl + the Menu key selects the second group.
320 1.1.1.4 mrg partial modifier_keys
321 1.1.1.4 mrg xkb_symbols "lctrl_lwin_rctrl_menu" {
322 1.1.1.12 mrg key <LWIN> {[ Super_L, ISO_First_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
323 1.1.1.12 mrg key <MENU> {[ Menu, ISO_Last_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
324 1.1.1.6 mrg };
325 1.1.1.9 snj
326 1.1.1.12 mrg // Pressing Ctrl + the left Win key switches to the next group.
327 1.1.1.9 snj partial modifier_keys
328 1.1.1.9 snj xkb_symbols "lctrl_lwin_toggle" {
329 1.1.1.12 mrg key <LWIN> {[ Super_L, ISO_Next_Group ], type[group1] = "PC_CONTROL_LEVEL2" };
330 1.1.1.9 snj };
331