group revision 1.1.1.2 1 // $XKeyboardConfig$
2 // $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
3 // using the group(switch) map, the right alt key temporarily chooses
4 // the second keyboard group (until it is released).
5 //
6 // $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $
7 partial modifier_keys
8 xkb_symbols "switch" {
9 key <RALT> {
10 symbols[Group1]= [ Mode_switch, Multi_key ],
11 virtualMods= AltGr
12 };
13 };
14
15 // using the group(lswitch) map, the left alt key temporarily chooses
16 // the second keyboard group (until it is released).
17 //
18 partial modifier_keys
19 xkb_symbols "lswitch" {
20 key <LALT> {
21 symbols[Group1]= [ Mode_switch, Multi_key ],
22 virtualMods= AltGr
23 };
24 };
25
26
27 // using the group(win_switch) map, both Windows'logo keys temporarily
28 // choose the second keyboard group (until release). If you use this
29 // map, you would declare you keyboard as pc101 or pc102 instead of
30 // pc104 or pc105.
31 partial modifier_keys
32 xkb_symbols "win_switch" {
33 include "group(lwin_switch)"
34 include "group(rwin_switch)"
35 };
36
37 // using the group(lwin_switch) map, the left Windows' logo key
38 // temporarily chooses the second keyboard group (until it is
39 // released). If you use this map, you would declare you keyboard as
40 // pc101 or pc102 instead of pc104 or pc105.
41 partial modifier_keys
42 xkb_symbols "lwin_switch" {
43 key <LWIN> {
44 symbols[Group1] = [ Mode_switch, Multi_key ],
45 virtualMods= AltGr
46 };
47 };
48
49 // using the group(rwin_switch) map, the right Windows' logo key
50 // temporarily chooses the second keyboard group (until it is
51 // released). If you use this map, you would declare you keyboard as
52 // pc101 or pc102 instead of pc104 or pc105.
53 partial modifier_keys
54 xkb_symbols "rwin_switch" {
55 key <RWIN> {
56 symbols[Group1] = [ Mode_switch, Multi_key ],
57 virtualMods= AltGr
58 };
59 };
60
61 // Right Ctrl key temporary chooses the second keyboard group.
62 // Needed mainly for Canadian keyboard
63 partial modifier_keys
64 xkb_symbols "rctrl_switch" {
65 key <RCTL> {
66 symbols[Group1]= [ Mode_switch ]
67 };
68 };
69
70 // using the group(toggle) map, pressing the right alt key switches to
71 // the next sequential group (until the next explicit group change).
72 partial modifier_keys
73 xkb_symbols "toggle" {
74 virtual_modifiers AltGr;
75 key <RALT> {
76 symbols[Group1]= [ ISO_Next_Group ],
77 virtualMods= AltGr
78 };
79 };
80
81 // using the group(shifts_toggle) map, pressing both shift keys together
82 // locks the next or previous sequential keyboard group
83 // (depending on which shift is pressed first - right or left,
84 // correspongingly)
85 partial modifier_keys
86 xkb_symbols "shifts_toggle" {
87 key <LFSH> { [ Shift_L, ISO_Prev_Group ] };
88 key <RTSH> { [ Shift_R, ISO_Next_Group ] };
89 };
90
91 // using the group(ctrl_shift_toggle) map, pressing:
92 // Control_L+Shift_L locks the previous group
93 // Control_R+Shift_R locks the next group
94 // If you have two groups and group wrap is enabled, the effect is
95 // indistinguishable.
96 partial modifier_keys
97 xkb_symbols "ctrl_shift_toggle" {
98 key <LFSH> {
99 type[Group1]="PC_CONTROL_LEVEL2",
100 symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
101 };
102 key <RTSH> {
103 type[Group1]="PC_CONTROL_LEVEL2",
104 symbols[Group1]= [ Shift_R, ISO_Next_Group ]
105 };
106 key <LCTL> { [ Control_L, ISO_Prev_Group ] };
107 key <RCTL> { [ Control_R, ISO_Next_Group ] };
108 };
109
110 // using the group(lctrl_lshift_toggle) map, pressing:
111 // Control_L+Shift_L locks the next group
112 // If you have two groups and group wrap is enabled, the effect is
113 // indistinguishable.
114 partial modifier_keys
115 xkb_symbols "lctrl_lshift_toggle" {
116 key <LFSH> {
117 type[Group1]="PC_CONTROL_LEVEL2",
118 symbols[Group1]= [ Shift_L, ISO_Next_Group ]
119 };
120 key <LCTL> { [ Control_L, ISO_Next_Group ] };
121 };
122
123 // using the group(shift_caps_toggle) map, pressing:
124 // Shift+Caps Lock toggles group
125 partial modifier_keys
126 xkb_symbols "shift_caps_toggle" {
127 key <CAPS> { [ Caps_Lock, ISO_Next_Group ] };
128 };
129
130 // using the group(shift_caps_switch) map, pressing:
131 // Caps Lock selects the first group
132 // Shift+Caps Lock selects the last group
133 partial modifier_keys
134 xkb_symbols "shift_caps_switch" {
135 key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
136 };
137
138 // using the group(ctrl_alt_toggle) map, pressing:
139 // Control_L+Alt_L locks the previous group
140 // Control_R+Alt_R locks the next group
141 // If you have two groups and group wrap is enabled, the effect is
142 // indistinguishable.
143 partial modifier_keys
144 xkb_symbols "ctrl_alt_toggle" {
145 virtual_modifiers Alt;
146 key <LALT> {
147 type[Group1]="PC_CONTROL_LEVEL2",
148 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
149 virtualMods= Alt
150 };
151 key <RALT> {
152 type[Group1]="PC_CONTROL_LEVEL2",
153 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
154 virtualMods= Alt
155 };
156 key <LCTL> {
157 type[Group1]="PC_ALT_LEVEL2",
158 symbols[Group1]= [ Control_L, ISO_Prev_Group ]
159 };
160 key <RCTL> {
161 type[Group1]="PC_ALT_LEVEL2",
162 symbols[Group1]= [ Control_R, ISO_Next_Group ]
163 };
164 };
165
166 // using the group(alt_shift_toggle) map, pressing:
167 // Shift_L+Alt_L locks the previous group
168 // Shift_R+Alt_R locks the next group
169 // If you have two groups and group wrap is enabled, the effect is
170 // indistinguishable.
171 partial modifier_keys
172 xkb_symbols "alt_shift_toggle" {
173 virtual_modifiers Alt;
174 key <LALT> {
175 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
176 virtualMods= Alt
177 };
178 key <RALT> {
179 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
180 virtualMods= Alt
181 };
182 key <LFSH> {
183 type[Group1]="PC_ALT_LEVEL2",
184 symbols[Group1]= [ Shift_L, ISO_Prev_Group ]
185 };
186 key <RTSH> {
187 type[Group1]="PC_ALT_LEVEL2",
188 symbols[Group1]= [ Shift_R, ISO_Next_Group ]
189 };
190 };
191
192 // using the group(menu_toggle) map, pressing:
193 // Menu key toggles groups
194 // Shift+Menu acts as Menu
195 partial modifier_keys
196 xkb_symbols "menu_toggle" {
197 key <MENU> { [ ISO_Next_Group, Menu ] };
198 };
199
200 // using the group(lwin_toggle) map, pressing the left Windows' logo key
201 // toggles groups. If you use this map, you would declare you keyboard
202 // as pc101 or pc102 instead of pc104 or pc105.
203 partial modifier_keys
204 xkb_symbols "lwin_toggle" {
205 virtual_modifiers AltGr;
206 key <LWIN> {
207 virtualMods= AltGr,
208 symbols[Group1] = [ ISO_Next_Group ]
209 };
210 };
211
212 // using the group(rwin_toggle) map, pressing the right Windows' logo key
213 // toggles groups. If you use this map, you would declare you keyboard
214 // as pc101 or pc102 instead of pc104 or pc105.
215 partial modifier_keys
216 xkb_symbols "rwin_toggle" {
217 virtual_modifiers AltGr;
218 key <RWIN> {
219 virtualMods= AltGr,
220 symbols[Group1] = [ ISO_Next_Group ]
221 };
222 };
223
224 // Both Ctrls pressed together toggle group
225 partial modifier_keys
226 xkb_symbols "ctrls_toggle" {
227 virtual_modifiers LControl, RControl;
228 key <LCTL> {
229 type[Group1]="PC_RCONTROL_LEVEL2",
230 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
231 virtualMods= LControl
232 };
233 key <RCTL> {
234 type[Group1]="PC_LCONTROL_LEVEL2",
235 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
236 virtualMods= RControl
237 };
238 };
239
240 // Both Alts pressed together toggle group
241 partial modifier_keys
242 xkb_symbols "alts_toggle" {
243 virtual_modifiers LAlt, RAlt;
244 key <LALT> {
245 type[Group1]="PC_RALT_LEVEL2",
246 symbols[Group1]= [ NoSymbol, ISO_Prev_Group ],
247 virtualMods= LAlt
248 };
249 key <RALT> {
250 type[Group1]="PC_LALT_LEVEL2",
251 symbols[Group1]= [ NoSymbol, ISO_Next_Group ],
252 virtualMods= RAlt
253 };
254 };
255
256 // Left Shift key toggles group
257 partial modifier_keys
258 xkb_symbols "lshift_toggle" {
259 virtual_modifiers AltGr;
260 key <LFSH> {
261 symbols[Group1]= [ ISO_Next_Group ],
262 virtualMods= AltGr
263 };
264 };
265
266 // Right Shift key toggles group
267 partial modifier_keys
268 xkb_symbols "rshift_toggle" {
269 virtual_modifiers AltGr;
270 key <RTSH> {
271 symbols[Group1]= [ ISO_Next_Group ],
272 virtualMods= AltGr
273 };
274 };
275
276 // Left Alt key toggles group
277 partial modifier_keys
278 xkb_symbols "lalt_toggle" {
279 virtual_modifiers AltGr;
280 key <LALT> {
281 symbols[Group1]= [ ISO_Next_Group ],
282 virtualMods= AltGr
283 };
284 };
285
286 // Left Ctrl key toggles group
287 partial modifier_keys
288 xkb_symbols "lctrl_toggle" {
289 virtual_modifiers AltGr;
290 key <LCTL> {
291 symbols[Group1]= [ ISO_Next_Group ],
292 virtualMods= AltGr
293 };
294 };
295
296 // Right Ctrl key toggles group
297 partial modifier_keys
298 xkb_symbols "rctrl_toggle" {
299 virtual_modifiers AltGr;
300 key <RCTL> {
301 symbols[Group1]= [ ISO_Next_Group ],
302 virtualMods= AltGr
303 };
304 };
305
306 // using the group(alt_caps_toggle) map, pressing:
307 // Alt+Caps Lock toggles group
308 // Caps Lock toggles caps lock
309 partial modifier_keys
310 xkb_symbols "alt_caps_toggle" {
311 key <CAPS> {
312 type="PC_ALT_LEVEL2",
313 symbols[Group1]= [ Caps_Lock, ISO_Next_Group]
314 };
315 };
316
317 partial hidden modifier_keys
318 xkb_symbols "olpc" {
319 key <I219> { [ ISO_Next_Group, ISO_Prev_Group ] };
320 };
321
322