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