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