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