group revision 154daed1
1154daed1Smrg// $XKeyboardConfig: xkeyboard-config/symbols/group,v 1.14 2008-04-07 21:28:16 svu Exp $
2154daed1Smrg// $Xorg: group,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
3154daed1Smrg// using the group(switch) map, the right alt key temporarily chooses 
4154daed1Smrg// the second keyboard group (until it is released).
5154daed1Smrg//
6154daed1Smrg// $XFree86: xc/programs/xkbcomp/symbols/group,v 3.9 2003/12/30 13:26:25 pascal Exp $
7154daed1Smrgpartial modifier_keys 
8154daed1Smrgxkb_symbols "switch" {
9154daed1Smrg    key <RALT>	{ 	
10154daed1Smrg	symbols[Group1]= [	Mode_switch, Multi_key 	],
11154daed1Smrg	virtualMods= AltGr
12154daed1Smrg    };
13154daed1Smrg};
14154daed1Smrg
15154daed1Smrg// using the group(lswitch) map, the left alt key temporarily chooses
16154daed1Smrg// the second keyboard group (until it is released).
17154daed1Smrg//
18154daed1Smrgpartial modifier_keys 
19154daed1Smrgxkb_symbols "lswitch" {
20154daed1Smrg    key <LALT>	{ 	
21154daed1Smrg	symbols[Group1]= [	Mode_switch, Multi_key 	],
22154daed1Smrg	virtualMods= AltGr
23154daed1Smrg    };
24154daed1Smrg};
25154daed1Smrg
26154daed1Smrg
27154daed1Smrg// using the group(win_switch) map, both Windows'logo keys temporarily
28154daed1Smrg// choose the second keyboard group (until release).  If you use this
29154daed1Smrg// map, you would declare you keyboard as pc101 or pc102 instead of
30154daed1Smrg// pc104 or pc105.
31154daed1Smrgpartial modifier_keys
32154daed1Smrgxkb_symbols "win_switch" {
33154daed1Smrg  key <LWIN> {
34154daed1Smrg    symbols[Group1] = [ Mode_switch, Multi_key ],
35154daed1Smrg    virtualMods= AltGr
36154daed1Smrg    };
37154daed1Smrg  key <RWIN> {
38154daed1Smrg    symbols[Group1] = [ Mode_switch, Multi_key ],
39154daed1Smrg    virtualMods= AltGr
40154daed1Smrg    };
41154daed1Smrg};
42154daed1Smrg
43154daed1Smrg// using the group(lwin_switch) map, the left Windows' logo key
44154daed1Smrg// temporarily chooses the second keyboard group (until it is
45154daed1Smrg// released).  If you use this map, you would declare you keyboard as
46154daed1Smrg// pc101 or pc102 instead of pc104 or pc105.
47154daed1Smrgpartial modifier_keys
48154daed1Smrgxkb_symbols "lwin_switch" {
49154daed1Smrg  key <LWIN> {
50154daed1Smrg    symbols[Group1] = [ Mode_switch, Multi_key ],
51154daed1Smrg    virtualMods= AltGr
52154daed1Smrg    };
53154daed1Smrg};
54154daed1Smrg
55154daed1Smrg// using the group(rwin_switch) map, the right Windows' logo key
56154daed1Smrg// temporarily chooses the second keyboard group (until it is
57154daed1Smrg// released).  If you use this map, you would declare you keyboard as
58154daed1Smrg// pc101 or pc102 instead of pc104 or pc105.
59154daed1Smrgpartial modifier_keys
60154daed1Smrgxkb_symbols "rwin_switch" {
61154daed1Smrg  key <RWIN> {
62154daed1Smrg    symbols[Group1] = [ Mode_switch, Multi_key ],
63154daed1Smrg    virtualMods= AltGr
64154daed1Smrg    };
65154daed1Smrg};
66154daed1Smrg
67154daed1Smrg// Right Ctrl key temporary chooses the second keyboard group.
68154daed1Smrg// Needed mainly for Canadian keyboard
69154daed1Smrgpartial modifier_keys
70154daed1Smrgxkb_symbols "rctrl_switch" {
71154daed1Smrg    key <RCTL>  {
72154daed1Smrg        symbols[Group1]= [ Mode_switch ]
73154daed1Smrg    };
74154daed1Smrg};
75154daed1Smrg
76154daed1Smrg// using the group(toggle) map, pressing the right alt key switches to
77154daed1Smrg// the next sequential group (until the next explicit group change).
78154daed1Smrgpartial modifier_keys 
79154daed1Smrgxkb_symbols "toggle" {
80154daed1Smrg    virtual_modifiers AltGr;
81154daed1Smrg    key <RALT>	{	
82154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
83154daed1Smrg	virtualMods= AltGr
84154daed1Smrg    };
85154daed1Smrg};
86154daed1Smrg
87154daed1Smrg// using the group(shifts_toggle) map, pressing both shift keys together
88154daed1Smrg// locks the next or previous sequential keyboard group 
89154daed1Smrg// (depending on which shift is pressed first - right or left, 
90154daed1Smrg// correspongingly)
91154daed1Smrgpartial modifier_keys 
92154daed1Smrgxkb_symbols "shifts_toggle" {
93154daed1Smrg    key <LFSH>	{	[	Shift_L,	ISO_Prev_Group ]	};
94154daed1Smrg    key <RTSH>	{	[	Shift_R,	ISO_Next_Group ]	};
95154daed1Smrg};
96154daed1Smrg
97154daed1Smrg// using the group(ctrl_shift_toggle) map, pressing:
98154daed1Smrg//     Control_L+Shift_L locks the previous group
99154daed1Smrg//     Control_R+Shift_R locks the next group
100154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
101154daed1Smrg// indistinguishable.
102154daed1Smrgpartial modifier_keys 
103154daed1Smrgxkb_symbols "ctrl_shift_toggle" {
104154daed1Smrg    key <LFSH> {
105154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
106154daed1Smrg	symbols[Group1]= [ Shift_L,	ISO_Prev_Group ]
107154daed1Smrg    };
108154daed1Smrg    key <RTSH> {
109154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
110154daed1Smrg	symbols[Group1]= [ Shift_R,	ISO_Next_Group ]
111154daed1Smrg    };
112154daed1Smrg    key <LCTL>	{	[	Control_L,	ISO_Prev_Group ]	};
113154daed1Smrg    key <RCTL>	{	[	Control_R,	ISO_Next_Group ]	};
114154daed1Smrg};
115154daed1Smrg
116154daed1Smrg// using the group(lctrl_lshift_toggle) map, pressing:
117154daed1Smrg//     Control_L+Shift_L locks the next group
118154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
119154daed1Smrg// indistinguishable.
120154daed1Smrgpartial modifier_keys 
121154daed1Smrgxkb_symbols "lctrl_lshift_toggle" {
122154daed1Smrg    key <LFSH> {
123154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
124154daed1Smrg	symbols[Group1]= [ Shift_L,	ISO_Next_Group ]
125154daed1Smrg    };
126154daed1Smrg    key <LCTL>	{	[	Control_L,	ISO_Next_Group ]	};
127154daed1Smrg};
128154daed1Smrg
129154daed1Smrg// using the group(caps_toggle) map, pressing:
130154daed1Smrg//     Caps Lock toggles groups
131154daed1Smrg//     Shift+Caps Lock toggles caps lock
132154daed1Smrgpartial modifier_keys
133154daed1Smrgxkb_symbols "caps_toggle" {
134154daed1Smrg    include "capslock(grouplock)"
135154daed1Smrg};
136154daed1Smrg
137154daed1Smrg// using the group(shift_caps_toggle) map, pressing:
138154daed1Smrg//     Shift+Caps Lock toggles group
139154daed1Smrgpartial modifier_keys
140154daed1Smrgxkb_symbols "shift_caps_toggle" {
141154daed1Smrg    key	<CAPS> {	[  Caps_Lock,		ISO_Next_Group	]	};
142154daed1Smrg};
143154daed1Smrg
144154daed1Smrg// using the group(shift_caps_switch) map, pressing:
145154daed1Smrg// Caps Lock selects the first group
146154daed1Smrg// Shift+Caps Lock selects the last group
147154daed1Smrgpartial modifier_keys
148154daed1Smrgxkb_symbols "shift_caps_switch" {
149154daed1Smrg    key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
150154daed1Smrg};
151154daed1Smrg
152154daed1Smrg// using the group(ctrl_alt_toggle) map, pressing:
153154daed1Smrg//     Control_L+Alt_L locks the previous group
154154daed1Smrg//     Control_R+Alt_R locks the next group
155154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
156154daed1Smrg// indistinguishable.
157154daed1Smrgpartial modifier_keys 
158154daed1Smrgxkb_symbols "ctrl_alt_toggle" {
159154daed1Smrg    virtual_modifiers Alt;
160154daed1Smrg    key <LALT> {
161154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
162154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
163154daed1Smrg	virtualMods= Alt
164154daed1Smrg    };
165154daed1Smrg    key <RALT> {
166154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
167154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
168154daed1Smrg	virtualMods= Alt
169154daed1Smrg    };
170154daed1Smrg    key <LCTL> {
171154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
172154daed1Smrg	symbols[Group1]= [ Control_L,	ISO_Prev_Group ]
173154daed1Smrg    };
174154daed1Smrg    key <RCTL> {
175154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
176154daed1Smrg	symbols[Group1]= [ Control_R,	ISO_Next_Group ]
177154daed1Smrg    };
178154daed1Smrg};
179154daed1Smrg
180154daed1Smrg// using the group(alt_shift_toggle) map, pressing:
181154daed1Smrg//     Shift_L+Alt_L locks the previous group
182154daed1Smrg//     Shift_R+Alt_R locks the next group
183154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
184154daed1Smrg// indistinguishable.
185154daed1Smrgpartial modifier_keys 
186154daed1Smrgxkb_symbols "alt_shift_toggle" {
187154daed1Smrg    virtual_modifiers Alt;
188154daed1Smrg    key <LALT> {
189154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
190154daed1Smrg	virtualMods= Alt
191154daed1Smrg    };
192154daed1Smrg    key <RALT> {
193154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
194154daed1Smrg	virtualMods= Alt
195154daed1Smrg    };
196154daed1Smrg    key <LFSH> {
197154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
198154daed1Smrg	symbols[Group1]= [ Shift_L,	ISO_Prev_Group ]
199154daed1Smrg    };
200154daed1Smrg    key <RTSH> {
201154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
202154daed1Smrg	symbols[Group1]= [ Shift_R,	ISO_Next_Group ]
203154daed1Smrg    };
204154daed1Smrg};
205154daed1Smrg
206154daed1Smrg// using the group(menu_toggle) map, pressing:
207154daed1Smrg//     Menu key toggles groups
208154daed1Smrg//     Shift+Menu acts as Menu
209154daed1Smrgpartial modifier_keys
210154daed1Smrgxkb_symbols "menu_toggle" {
211154daed1Smrg    key	<MENU> {	[  ISO_Next_Group,	 Menu	]	};
212154daed1Smrg};
213154daed1Smrg
214154daed1Smrg// using the group(lwin_toggle) map, pressing the left Windows' logo key
215154daed1Smrg// toggles groups.  If you use this map, you would declare you keyboard
216154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105.
217154daed1Smrgpartial modifier_keys
218154daed1Smrgxkb_symbols "lwin_toggle" {
219154daed1Smrg  virtual_modifiers AltGr;
220154daed1Smrg  key <LWIN> {
221154daed1Smrg    virtualMods= AltGr,
222154daed1Smrg    symbols[Group1] = [ ISO_Next_Group ]
223154daed1Smrg    };
224154daed1Smrg};
225154daed1Smrg
226154daed1Smrg// using the group(rwin_toggle) map, pressing the right Windows' logo key
227154daed1Smrg// toggles groups.  If you use this map, you would declare you keyboard
228154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105.
229154daed1Smrgpartial modifier_keys
230154daed1Smrgxkb_symbols "rwin_toggle" {
231154daed1Smrg  virtual_modifiers AltGr;
232154daed1Smrg  key <RWIN> {
233154daed1Smrg    virtualMods= AltGr,
234154daed1Smrg    symbols[Group1] = [ ISO_Next_Group ]
235154daed1Smrg    };
236154daed1Smrg};
237154daed1Smrg
238154daed1Smrg// Both Ctrls pressed together toggle group
239154daed1Smrgpartial modifier_keys
240154daed1Smrgxkb_symbols "ctrls_toggle" {
241154daed1Smrg  virtual_modifiers LControl, RControl;
242154daed1Smrg    key <LCTL> {
243154daed1Smrg	type[Group1]="PC_RCONTROL_LEVEL2",
244154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
245154daed1Smrg	virtualMods= LControl
246154daed1Smrg    };
247154daed1Smrg    key <RCTL> {
248154daed1Smrg	type[Group1]="PC_LCONTROL_LEVEL2",
249154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
250154daed1Smrg	virtualMods= RControl
251154daed1Smrg    };
252154daed1Smrg};
253154daed1Smrg
254154daed1Smrg// Both Alts pressed together toggle group
255154daed1Smrgpartial modifier_keys
256154daed1Smrgxkb_symbols "alts_toggle" {
257154daed1Smrg  virtual_modifiers LAlt, RAlt;
258154daed1Smrg    key <LALT> {
259154daed1Smrg	type[Group1]="PC_RALT_LEVEL2",
260154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
261154daed1Smrg	virtualMods= LAlt
262154daed1Smrg    };
263154daed1Smrg    key <RALT> {
264154daed1Smrg	type[Group1]="PC_LALT_LEVEL2",
265154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
266154daed1Smrg	virtualMods= RAlt
267154daed1Smrg    };
268154daed1Smrg};
269154daed1Smrg
270154daed1Smrg// Left Shift key toggles group
271154daed1Smrgpartial modifier_keys
272154daed1Smrgxkb_symbols "lshift_toggle" {
273154daed1Smrg  virtual_modifiers AltGr;
274154daed1Smrg    key <LFSH>	{	
275154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
276154daed1Smrg	virtualMods= AltGr
277154daed1Smrg    };
278154daed1Smrg};
279154daed1Smrg
280154daed1Smrg// Right Shift key toggles group
281154daed1Smrgpartial modifier_keys
282154daed1Smrgxkb_symbols "rshift_toggle" {
283154daed1Smrg  virtual_modifiers AltGr;
284154daed1Smrg    key <RTSH>	{	
285154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
286154daed1Smrg	virtualMods= AltGr
287154daed1Smrg    };
288154daed1Smrg};
289154daed1Smrg
290154daed1Smrg// Left Alt key toggles group
291154daed1Smrgpartial modifier_keys
292154daed1Smrgxkb_symbols "lalt_toggle" {
293154daed1Smrg  virtual_modifiers AltGr;
294154daed1Smrg    key <LALT>	{	
295154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
296154daed1Smrg	virtualMods= AltGr
297154daed1Smrg    };
298154daed1Smrg};
299154daed1Smrg
300154daed1Smrg// Left Ctrl key toggles group
301154daed1Smrgpartial modifier_keys
302154daed1Smrgxkb_symbols "lctrl_toggle" {
303154daed1Smrg  virtual_modifiers AltGr;
304154daed1Smrg    key <LCTL>	{	
305154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
306154daed1Smrg	virtualMods= AltGr
307154daed1Smrg    };
308154daed1Smrg};
309154daed1Smrg
310154daed1Smrg// Right Ctrl key toggles group
311154daed1Smrgpartial modifier_keys
312154daed1Smrgxkb_symbols "rctrl_toggle" {
313154daed1Smrg  virtual_modifiers AltGr;
314154daed1Smrg    key <RCTL>	{	
315154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
316154daed1Smrg	virtualMods= AltGr
317154daed1Smrg    };
318154daed1Smrg};
319154daed1Smrg
320154daed1Smrg// using the group(alt_caps_toggle) map, pressing:
321154daed1Smrg//     Alt+Caps Lock toggles group
322154daed1Smrg//     Caps Lock toggles caps lock
323154daed1Smrgpartial modifier_keys
324154daed1Smrgxkb_symbols "alt_caps_toggle" {
325154daed1Smrg    key        <CAPS> {
326154daed1Smrg       type="PC_ALT_LEVEL2",
327154daed1Smrg       symbols[Group1]= [  Caps_Lock,  ISO_Next_Group]
328154daed1Smrg    };
329154daed1Smrg};
330154daed1Smrg
331154daed1Smrgpartial hidden modifier_keys
332154daed1Smrgxkb_symbols "olpc" {
333154daed1Smrg  key <I219>  { [ ISO_Next_Group, ISO_Prev_Group ] };
334154daed1Smrg};
335154daed1Smrg
336