more fair comment
[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 or previous sequential keyboard group 
88 // (depending on which shift is pressed first - right or left, 
89 // correspongingly)
90 partial modifier_keys 
91 xkb_symbols "shift_toggle" {
92     key <LFSH>  {       [       Shift_L,        ISO_Prev_Group ]        };
93     key <RTSH>  {       [       Shift_R,        ISO_Next_Group ]        };
94 };
95
96 // using the group(ctrl_shift_toggle) map, pressing:
97 //     Control_L+Shift_L locks the previous group
98 //     Control_R+Shift_R locks the next group
99 // If you have two groups and group wrap is enabled, the effect is
100 // indistinguishable.
101 partial modifier_keys 
102 xkb_symbols "ctrl_shift_toggle" {
103     key <LFSH> {
104         type="PC_BREAK",
105         symbols[Group1]= [ Shift_L,     ISO_Prev_Group ]
106     };
107     key <RTSH> {
108         type="PC_BREAK",
109         symbols[Group1]= [ Shift_R,     ISO_Next_Group ]
110     };
111     key <LCTL>  {       [       Control_L,      ISO_Prev_Group ]        };
112     key <RCTL>  {       [       Control_R,      ISO_Next_Group ]        };
113 };
114
115 // using the group(caps_toggle) map, pressing:
116 //     Caps Lock toggles groups
117 //     Shift+Caps Lock toggles caps lock
118 partial modifier_keys
119 xkb_symbols "caps_toggle" {
120     include "capslock(grouplock)"
121 };
122
123 // using the group(shift_caps_toggle) map, pressing:
124 //     Shift+Caps Lock toggles group
125 partial modifier_keys
126 xkb_symbols "shift_caps_toggle" {
127     key <CAPS> {        [  Caps_Lock,           ISO_Next_Group  ]       };
128 };
129
130 // using the group(ctrl_alt_toggle) map, pressing:
131 //     Control_L+Alt_L locks the previous group
132 //     Control_R+Alt_R locks the next group
133 // If you have two groups and group wrap is enabled, the effect is
134 // indistinguishable.
135 partial modifier_keys 
136 xkb_symbols "ctrl_alt_toggle" {
137     virtual_modifiers Alt;
138     key <LALT> {
139         type="PC_BREAK",
140         symbols[Group1]= [ NoSymbol,    ISO_Prev_Group ],
141         virtualMods= Alt
142     };
143     key <RALT> {
144         type="PC_BREAK",
145         symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
146         virtualMods= Alt
147     };
148     key <LCTL> {
149         type="PC_SYSRQ",
150         symbols[Group1]= [ Control_L,   ISO_Prev_Group ]
151     };
152     key <RCTL> {
153         type="PC_SYSRQ",
154         symbols[Group1]= [ Control_R,   ISO_Next_Group ]
155     };
156 };
157
158 // using the group(alt_shift_toggle) map, pressing:
159 //     Shift_L+Alt_L locks the previous group
160 //     Shift_R+Alt_R locks the next group
161 // If you have two groups and group wrap is enabled, the effect is
162 // indistinguishable.
163 partial modifier_keys 
164 xkb_symbols "alt_shift_toggle" {
165     virtual_modifiers Alt;
166     key <LALT> {
167         symbols[Group1]= [ NoSymbol,    ISO_Prev_Group ],
168         virtualMods= Alt
169     };
170     key <RALT> {
171         symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
172         virtualMods= Alt
173     };
174     key <LFSH> {
175         type="PC_SYSRQ",
176         symbols[Group1]= [ Shift_L,     ISO_Prev_Group ]
177     };
178     key <RTSH> {
179         type="PC_SYSRQ",
180         symbols[Group1]= [ Shift_R,     ISO_Next_Group ]
181     };
182 };
183
184 // using the group(menu_toggle) map, pressing:
185 //     Menu key toggles groups
186 //     Shift+Menu acts as Menu
187 partial modifier_keys
188 xkb_symbols "menu_toggle" {
189     key <MENU> {        [  ISO_Next_Group,       Menu   ]       };
190 };
191
192 // using the group(lwin_toggle) map, pressing the left Windows' logo key
193 // toggles groups.  If you use this map, you would declare you keyboard
194 // as pc101 or pc102 instead of pc104 or pc105.
195 partial modifier_keys
196 xkb_symbols "lwin_toggle" {
197   virtual_modifiers AltGr;
198   key <LWIN> {
199     virtualMods= AltGr,
200     symbols[Group1] = [ ISO_Next_Group ]
201     };
202 };
203
204 // using the group(rwin_toggle) map, pressing the right Windows' logo key
205 // toggles groups.  If you use this map, you would declare you keyboard
206 // as pc101 or pc102 instead of pc104 or pc105.
207 partial modifier_keys
208 xkb_symbols "rwin_toggle" {
209   virtual_modifiers AltGr;
210   key <RWIN> {
211     virtualMods= AltGr,
212     symbols[Group1] = [ ISO_Next_Group ]
213     };
214 };
215
216 // Both Ctrls pressed together toggle group
217 partial modifier_keys
218 xkb_symbols "ctrls_toggle" {
219   virtual_modifiers AltGr;
220     key <LCTL> {
221         type="PC_BREAK",
222         symbols[Group1]= [ NoSymbol,    ISO_Next_Group ]
223     };
224     key <RCTL> {
225         type="PC_BREAK",
226         symbols[Group1]= [ NoSymbol,    ISO_Next_Group ]
227     };
228 };
229
230 // Both Alts pressed together toggle group
231 partial modifier_keys
232 xkb_symbols "alts_toggle" {
233   virtual_modifiers AltGr;
234     key <LALT> {
235         type="PC_SYSRQ",
236         symbols[Group1]= [ NoSymbol,    ISO_Prev_Group ],
237         virtualMods= Alt
238     };
239     key <RALT> {
240         type="PC_SYSRQ",
241         symbols[Group1]= [ NoSymbol,    ISO_Next_Group ],
242         virtualMods= Alt
243     };
244 };
245
246 // Left Shift key toggles group
247 partial modifier_keys
248 xkb_symbols "lshift_toggle" {
249   virtual_modifiers AltGr;
250     key <LFSH>  {       
251         symbols[Group1]= [      ISO_Next_Group  ],
252         virtualMods= AltGr
253     };
254 };
255
256 // Right Shift key toggles group
257 partial modifier_keys
258 xkb_symbols "rshift_toggle" {
259   virtual_modifiers AltGr;
260     key <RTSH>  {       
261         symbols[Group1]= [      ISO_Next_Group  ],
262         virtualMods= AltGr
263     };
264 };
265
266 // Left Alt key toggles group
267 partial modifier_keys
268 xkb_symbols "lalt_toggle" {
269   virtual_modifiers AltGr;
270     key <LALT>  {       
271         symbols[Group1]= [      ISO_Next_Group  ],
272         virtualMods= AltGr
273     };
274 };
275
276 // Left Ctrl key toggles group
277 partial modifier_keys
278 xkb_symbols "lctrl_toggle" {
279   virtual_modifiers AltGr;
280     key <LCTL>  {       
281         symbols[Group1]= [      ISO_Next_Group  ],
282         virtualMods= AltGr
283     };
284 };
285
286 // Right Ctrl key toggles group
287 partial modifier_keys
288 xkb_symbols "rctrl_toggle" {
289   virtual_modifiers AltGr;
290     key <RCTL>  {       
291         symbols[Group1]= [      ISO_Next_Group  ],
292         virtualMods= AltGr
293     };
294 };