ralt_switch_for_alts_toggle declare RAlt as AltGr for proper level3 switching
[xorg/xkeyboard-config] / symbols / level3
1 // $XKeyboardConfig$
2
3 // these variants assign various XKB keycodes to ISO_Level3_Shift so that
4 // the third shift level can be reached
5 //
6 // $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
7 //
8
9 // the default behavior is for the right Alt key (AltGr) to generate the
10 // third engraved symbol
11 default partial modifier_keys
12 xkb_symbols "ralt_switch" {
13   key <RALT> {
14     type[Group1]="ONE_LEVEL",
15     symbols[Group1] = [ ISO_Level3_Shift ]
16     };
17   modifier_map Mod5   { ISO_Level3_Shift };
18 };
19
20 // special case or right Alt switch - for use with grp:alts_toggle
21 //
22 partial hidden modifier_keys
23 xkb_symbols "ralt_switch_for_alts_toggle" {
24   key <LALT> {
25     type[Group1]="PC_SYSRQ",
26     symbols[Group1] = [ Alt_L,  ISO_Prev_Group,  ISO_Prev_Group ]
27   };
28   key <RALT> {
29     type[Group1]="PC_SYSRQ",
30     symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
31     virtualMods= AltGr
32   };
33   modifier_map Mod5   { ISO_Level3_Shift };
34 };
35
36 // using the level(alt_switch) map, either Alt key temporarily chooses
37 // the third shift level.  (Mostly be used to imitate Mac OS functionality.)
38 partial modifier_keys
39 xkb_symbols "alt_switch" {
40   include "level3(lalt_switch)"
41   include "level3(ralt_switch)"
42 };
43
44 partial modifier_keys
45 xkb_symbols "lalt_switch" {
46   key <LALT> {
47     type[Group1]="ONE_LEVEL",
48     symbols[Group1] = [ ISO_Level3_Shift ]
49     };
50   modifier_map Mod5   { ISO_Level3_Shift };
51 };
52
53 // using the level(switch) map, the right Control key temporarily
54 // chooses the third shift level (until it is released).
55 partial modifier_keys
56 xkb_symbols "switch" {
57   key <RCTL> {
58     type[Group1]="ONE_LEVEL",
59     symbols[Group1] = [ ISO_Level3_Shift ]
60     };
61   modifier_map Mod5   { ISO_Level3_Shift };
62 };
63
64 // using the level(menu_switch) map, the Menu key temporarily
65 // chooses the third shift level (until it is released).
66 partial modifier_keys
67 xkb_symbols "menu_switch" {
68   key <MENU> {
69     type[Group1]="ONE_LEVEL",
70     symbols[Group1] = [ ISO_Level3_Shift ]
71     };
72   modifier_map Mod5   { ISO_Level3_Shift };
73 };
74
75 // using the level(win_switch) map, the either Windows' logo key
76 // temporarily chooses the third shift level.  If you use this map,
77 // you should define your keyboard as pc101 or pc102 instead of pc104
78 // or pc105.
79 partial modifier_keys
80 xkb_symbols "win_switch" {
81   include "level3(lwin_switch)"
82   include "level3(rwin_switch)"
83 };
84
85 // using the level(lwin_switch) map, the left Windows' logo key
86 // temporarily chooses the third shift level.  If you use this map,
87 // you should define your keyboard as pc101 or pc102 instead of pc104
88 // or pc105.
89 partial modifier_keys
90 xkb_symbols "lwin_switch" {
91   key <LWIN> {
92     type[Group1]="ONE_LEVEL",
93     symbols[Group1] = [ ISO_Level3_Shift ]
94     };
95   modifier_map Mod5   { ISO_Level3_Shift };
96 };
97
98 // using the level(rwin_switch) map, the right Windows' logo key
99 // temporarily chooses the third shift level.  If you use this map,
100 // you should define your keyboard as pc101 or pc102 instead of pc104
101 // or pc105.
102 partial modifier_keys
103 xkb_symbols "rwin_switch" {
104   key <RWIN> {
105     type[Group1]="ONE_LEVEL",
106     symbols[Group1] = [ ISO_Level3_Shift ]
107     };
108   modifier_map Mod5   { ISO_Level3_Shift };
109 };