group revision c067fea9
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
123c067fea9Sghen// using the group(rctrl_rshift_toggle) map, pressing:
124c067fea9Sghen//     Control_R+Shift_R locks the next group
125c067fea9Sghen// If you have two groups and group wrap is enabled, the effect is
126c067fea9Sghen// indistinguishable.
127c067fea9Sghenpartial modifier_keys
128c067fea9Sghenxkb_symbols "rctrl_rshift_toggle" {
129c067fea9Sghen    key <RTSH> {
130c067fea9Sghen    type[Group1]="PC_CONTROL_LEVEL2",
131c067fea9Sghen    symbols[Group1]= [ Shift_R, ISO_Next_Group ]
132c067fea9Sghen    };
133c067fea9Sghen    key <RCTL>  {   [   Control_R,  ISO_Next_Group ]    };
134c067fea9Sghen};
135c067fea9Sghen
136154daed1Smrg// using the group(shift_caps_toggle) map, pressing:
137154daed1Smrg//     Shift+Caps Lock toggles group
138154daed1Smrgpartial modifier_keys
139154daed1Smrgxkb_symbols "shift_caps_toggle" {
140154daed1Smrg    key	<CAPS> {	[  Caps_Lock,		ISO_Next_Group	]	};
141154daed1Smrg};
142154daed1Smrg
143154daed1Smrg// using the group(shift_caps_switch) map, pressing:
144154daed1Smrg// Caps Lock selects the first group
145154daed1Smrg// Shift+Caps Lock selects the last group
146154daed1Smrgpartial modifier_keys
147154daed1Smrgxkb_symbols "shift_caps_switch" {
148154daed1Smrg    key <CAPS> { [ ISO_First_Group, ISO_Last_Group ] };
149154daed1Smrg};
150154daed1Smrg
151c067fea9Sghen// using the group(win_menu_switch) map, pressing:
152c067fea9Sghen// LWIN selects the first group
153c067fea9Sghen// RWIN or MENU selects the last group
154c067fea9Sghenpartial modifier_keys
155c067fea9Sghenxkb_symbols "win_menu_switch" {
156c067fea9Sghen    virtual_modifiers AltGr;
157c067fea9Sghen    key <LWIN> {
158c067fea9Sghen        virtualMods= AltGr,
159c067fea9Sghen        symbols[Group1] = [ ISO_First_Group ]
160c067fea9Sghen    };
161c067fea9Sghen    key <MENU> {
162c067fea9Sghen        virtualMods= AltGr,
163c067fea9Sghen        symbols[Group1] = [ ISO_Last_Group ]
164c067fea9Sghen    };
165c067fea9Sghen    key <RWIN> {
166c067fea9Sghen        virtualMods= AltGr,
167c067fea9Sghen        symbols[Group1] = [ ISO_Last_Group ]
168c067fea9Sghen    };
169c067fea9Sghen};
170c067fea9Sghen
171c067fea9Sghen// using the group(lctrl_rctrl_switch) map, pressing:
172c067fea9Sghen// Left Control selects the first group
173c067fea9Sghen// Right Control selects the last group
174c067fea9Sghenpartial modifier_keys
175c067fea9Sghenxkb_symbols "lctrl_rctrl_switch" {
176c067fea9Sghen    virtual_modifiers AltGr;
177c067fea9Sghen    key <LCTL> {
178c067fea9Sghen        virtualMods= AltGr,
179c067fea9Sghen        symbols[Group1] = [ ISO_First_Group ]
180c067fea9Sghen    };
181c067fea9Sghen    key <RCTL> {
182c067fea9Sghen        virtualMods= AltGr,
183c067fea9Sghen        symbols[Group1] = [ ISO_Last_Group ]
184c067fea9Sghen    };
185c067fea9Sghen};
186c067fea9Sghen
187154daed1Smrg// using the group(ctrl_alt_toggle) map, pressing:
188154daed1Smrg//     Control_L+Alt_L locks the previous group
189154daed1Smrg//     Control_R+Alt_R locks the next group
190154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
191154daed1Smrg// indistinguishable.
192154daed1Smrgpartial modifier_keys 
193154daed1Smrgxkb_symbols "ctrl_alt_toggle" {
194154daed1Smrg    virtual_modifiers Alt;
195154daed1Smrg    key <LALT> {
196154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
197154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
198154daed1Smrg	virtualMods= Alt
199154daed1Smrg    };
200154daed1Smrg    key <RALT> {
201154daed1Smrg	type[Group1]="PC_CONTROL_LEVEL2",
202154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
203154daed1Smrg	virtualMods= Alt
204154daed1Smrg    };
205154daed1Smrg    key <LCTL> {
206154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
207154daed1Smrg	symbols[Group1]= [ Control_L,	ISO_Prev_Group ]
208154daed1Smrg    };
209154daed1Smrg    key <RCTL> {
210154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
211154daed1Smrg	symbols[Group1]= [ Control_R,	ISO_Next_Group ]
212154daed1Smrg    };
213154daed1Smrg};
214154daed1Smrg
215154daed1Smrg// using the group(alt_shift_toggle) map, pressing:
216154daed1Smrg//     Shift_L+Alt_L locks the previous group
217154daed1Smrg//     Shift_R+Alt_R locks the next group
218154daed1Smrg// If you have two groups and group wrap is enabled, the effect is
219154daed1Smrg// indistinguishable.
220154daed1Smrgpartial modifier_keys 
221154daed1Smrgxkb_symbols "alt_shift_toggle" {
222154daed1Smrg    virtual_modifiers Alt;
223154daed1Smrg    key <LALT> {
224154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
225154daed1Smrg	virtualMods= Alt
226154daed1Smrg    };
227154daed1Smrg    key <RALT> {
228154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
229154daed1Smrg	virtualMods= Alt
230154daed1Smrg    };
231154daed1Smrg    key <LFSH> {
232154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
233154daed1Smrg	symbols[Group1]= [ Shift_L,	ISO_Prev_Group ]
234154daed1Smrg    };
235154daed1Smrg    key <RTSH> {
236154daed1Smrg	type[Group1]="PC_ALT_LEVEL2",
237154daed1Smrg	symbols[Group1]= [ Shift_R,	ISO_Next_Group ]
238154daed1Smrg    };
239154daed1Smrg};
240154daed1Smrg
241154daed1Smrg// using the group(menu_toggle) map, pressing:
242154daed1Smrg//     Menu key toggles groups
243154daed1Smrg//     Shift+Menu acts as Menu
244154daed1Smrgpartial modifier_keys
245154daed1Smrgxkb_symbols "menu_toggle" {
246154daed1Smrg    key	<MENU> {	[  ISO_Next_Group,	 Menu	]	};
247154daed1Smrg};
248154daed1Smrg
249154daed1Smrg// using the group(lwin_toggle) map, pressing the left Windows' logo key
250154daed1Smrg// toggles groups.  If you use this map, you would declare you keyboard
251154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105.
252154daed1Smrgpartial modifier_keys
253154daed1Smrgxkb_symbols "lwin_toggle" {
254154daed1Smrg  virtual_modifiers AltGr;
255154daed1Smrg  key <LWIN> {
256154daed1Smrg    virtualMods= AltGr,
257154daed1Smrg    symbols[Group1] = [ ISO_Next_Group ]
258154daed1Smrg    };
259154daed1Smrg};
260154daed1Smrg
261154daed1Smrg// using the group(rwin_toggle) map, pressing the right Windows' logo key
262154daed1Smrg// toggles groups.  If you use this map, you would declare you keyboard
263154daed1Smrg// as pc101 or pc102 instead of pc104 or pc105.
264154daed1Smrgpartial modifier_keys
265154daed1Smrgxkb_symbols "rwin_toggle" {
266154daed1Smrg  virtual_modifiers AltGr;
267154daed1Smrg  key <RWIN> {
268154daed1Smrg    virtualMods= AltGr,
269154daed1Smrg    symbols[Group1] = [ ISO_Next_Group ]
270154daed1Smrg    };
271154daed1Smrg};
272154daed1Smrg
273154daed1Smrg// Both Ctrls pressed together toggle group
274154daed1Smrgpartial modifier_keys
275154daed1Smrgxkb_symbols "ctrls_toggle" {
276154daed1Smrg  virtual_modifiers LControl, RControl;
277154daed1Smrg    key <LCTL> {
278154daed1Smrg	type[Group1]="PC_RCONTROL_LEVEL2",
279154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
280154daed1Smrg	virtualMods= LControl
281154daed1Smrg    };
282154daed1Smrg    key <RCTL> {
283154daed1Smrg	type[Group1]="PC_LCONTROL_LEVEL2",
284154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
285154daed1Smrg	virtualMods= RControl
286154daed1Smrg    };
287154daed1Smrg};
288154daed1Smrg
289154daed1Smrg// Both Alts pressed together toggle group
290154daed1Smrgpartial modifier_keys
291154daed1Smrgxkb_symbols "alts_toggle" {
292154daed1Smrg  virtual_modifiers LAlt, RAlt;
293154daed1Smrg    key <LALT> {
294154daed1Smrg	type[Group1]="PC_RALT_LEVEL2",
295154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Prev_Group ],
296154daed1Smrg	virtualMods= LAlt
297154daed1Smrg    };
298154daed1Smrg    key <RALT> {
299154daed1Smrg	type[Group1]="PC_LALT_LEVEL2",
300154daed1Smrg	symbols[Group1]= [ NoSymbol,	ISO_Next_Group ],
301154daed1Smrg	virtualMods= RAlt
302154daed1Smrg    };
303154daed1Smrg};
304154daed1Smrg
305154daed1Smrg// Left Shift key toggles group
306154daed1Smrgpartial modifier_keys
307154daed1Smrgxkb_symbols "lshift_toggle" {
308154daed1Smrg  virtual_modifiers AltGr;
309154daed1Smrg    key <LFSH>	{	
310154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
311154daed1Smrg	virtualMods= AltGr
312154daed1Smrg    };
313154daed1Smrg};
314154daed1Smrg
315154daed1Smrg// Right Shift key toggles group
316154daed1Smrgpartial modifier_keys
317154daed1Smrgxkb_symbols "rshift_toggle" {
318154daed1Smrg  virtual_modifiers AltGr;
319154daed1Smrg    key <RTSH>	{	
320154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
321154daed1Smrg	virtualMods= AltGr
322154daed1Smrg    };
323154daed1Smrg};
324154daed1Smrg
325154daed1Smrg// Left Alt key toggles group
326154daed1Smrgpartial modifier_keys
327154daed1Smrgxkb_symbols "lalt_toggle" {
328154daed1Smrg  virtual_modifiers AltGr;
329154daed1Smrg    key <LALT>	{	
330154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
331154daed1Smrg	virtualMods= AltGr
332154daed1Smrg    };
333154daed1Smrg};
334154daed1Smrg
335154daed1Smrg// Left Ctrl key toggles group
336154daed1Smrgpartial modifier_keys
337154daed1Smrgxkb_symbols "lctrl_toggle" {
338154daed1Smrg  virtual_modifiers AltGr;
339154daed1Smrg    key <LCTL>	{	
340154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
341154daed1Smrg	virtualMods= AltGr
342154daed1Smrg    };
343154daed1Smrg};
344154daed1Smrg
345154daed1Smrg// Right Ctrl key toggles group
346154daed1Smrgpartial modifier_keys
347154daed1Smrgxkb_symbols "rctrl_toggle" {
348154daed1Smrg  virtual_modifiers AltGr;
349154daed1Smrg    key <RCTL>	{	
350154daed1Smrg	symbols[Group1]= [	ISO_Next_Group	],
351154daed1Smrg	virtualMods= AltGr
352154daed1Smrg    };
353154daed1Smrg};
354154daed1Smrg
355154daed1Smrg// using the group(alt_caps_toggle) map, pressing:
356154daed1Smrg//     Alt+Caps Lock toggles group
357154daed1Smrg//     Caps Lock toggles caps lock
358154daed1Smrgpartial modifier_keys
359154daed1Smrgxkb_symbols "alt_caps_toggle" {
360154daed1Smrg    key        <CAPS> {
361154daed1Smrg       type="PC_ALT_LEVEL2",
362154daed1Smrg       symbols[Group1]= [  Caps_Lock,  ISO_Next_Group]
363154daed1Smrg    };
364154daed1Smrg};
365154daed1Smrg
366154daed1Smrgpartial hidden modifier_keys
367154daed1Smrgxkb_symbols "olpc" {
368154daed1Smrg  key <I219>  { [ ISO_Next_Group, ISO_Prev_Group ] };
369154daed1Smrg};
370154daed1Smrg
371c067fea9Sghenpartial modifier_keys
372c067fea9Sghenxkb_symbols "alt_space_toggle" {
373c067fea9Sghen    key <SPCE> {
374c067fea9Sghen    type[Group1]="PC_ALT_LEVEL2",
375c067fea9Sghen    symbols[Group1]= [ space,   ISO_Next_Group ]
376c067fea9Sghen    };
377c067fea9Sghen};
378c067fea9Sghen
379c067fea9Sghen// using the group(sclk_toggle) map, pressing the Scroll Lock key
380c067fea9Sghen// toggles groups.
381c067fea9Sghenpartial modifier_keys
382c067fea9Sghenxkb_symbols "sclk_toggle" {
383c067fea9Sghen  virtual_modifiers AltGr;
384c067fea9Sghen  key <SCLK> {
385c067fea9Sghen    virtualMods= AltGr,
386c067fea9Sghen    symbols[Group1] = [ ISO_Next_Group ]
387c067fea9Sghen    };
388c067fea9Sghen};
389c067fea9Sghen
390