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