3 // these variants assign various XKB keycodes to ISO_Level3_Shift so that
4 // the third shift level can be reached
6 // $XFree86: xc/programs/xkbcomp/symbols/level3,v 1.7 2003/09/08 14:25:32 eich Exp $
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" {
14 type[Group1]="ONE_LEVEL",
15 symbols[Group1] = [ ISO_Level3_Shift ]
17 modifier_map Mod5 { ISO_Level3_Shift };
20 // Right Alt key never chooses 3rd level.
21 // This option attempts to undo the effect of a layout's
22 // including ralt_switch. You may also want to select another
23 // level3 option that maps the level3 shift to some other key.
25 xkb_symbols "ralt_alt" {
27 type[Group1]="TWO_LEVEL",
28 type[Group2]="TWO_LEVEL",
29 type[Group3]="TWO_LEVEL",
30 type[Group4]="TWO_LEVEL",
31 symbols[Group1] = [ Alt_R, Meta_R ],
32 symbols[Group2] = [ Alt_R, Meta_R ],
33 symbols[Group3] = [ Alt_R, Meta_R ],
34 symbols[Group4] = [ Alt_R, Meta_R ]
36 modifier_map Mod1 { <RALT> };
40 xkb_symbols "ralt_switch_multikey" {
42 type[Group1]="TWO_LEVEL",
43 symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
47 // special case or right Alt switch - for use with grp:alts_toggle
49 partial hidden modifier_keys
50 xkb_symbols "ralt_switch_for_alts_toggle" {
51 virtual_modifiers LAlt, AlGr;
53 type[Group1]="PC_RALT_LEVEL2",
54 symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
58 type[Group1]="PC_ALT_LEVEL2",
59 symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
62 modifier_map Mod5 { ISO_Level3_Shift };
65 // using the level(alt_switch) map, either Alt key temporarily chooses
66 // the third shift level. (Mostly be used to imitate Mac OS functionality.)
68 xkb_symbols "alt_switch" {
69 include "level3(lalt_switch)"
70 include "level3(ralt_switch)"
74 xkb_symbols "lalt_switch" {
76 type[Group1]="ONE_LEVEL",
77 symbols[Group1] = [ ISO_Level3_Shift ]
79 modifier_map Mod5 { <LALT> };
82 // using the level(switch) map, the right Control key temporarily
83 // chooses the third shift level (until it is released).
85 xkb_symbols "switch" {
87 type[Group1]="ONE_LEVEL",
88 symbols[Group1] = [ ISO_Level3_Shift ]
90 modifier_map Mod5 { ISO_Level3_Shift };
93 // using the level(menu_switch) map, the Menu key temporarily
94 // chooses the third shift level (until it is released).
96 xkb_symbols "menu_switch" {
98 type[Group1]="ONE_LEVEL",
99 symbols[Group1] = [ ISO_Level3_Shift ]
101 modifier_map Mod5 { ISO_Level3_Shift };
104 // using the level3(win_switch) map, the either Windows' logo key
105 // temporarily chooses the third shift level.
106 partial modifier_keys
107 xkb_symbols "win_switch" {
108 include "level3(lwin_switch)"
109 include "level3(rwin_switch)"
112 // using the level3(lwin_switch) map, the left Windows' logo key
113 // temporarily chooses the third shift level.
114 partial modifier_keys
115 xkb_symbols "lwin_switch" {
117 type[Group1]="ONE_LEVEL",
118 symbols[Group1] = [ ISO_Level3_Shift ]
120 modifier_map Mod5 { ISO_Level3_Shift };
123 // using the level(rwin_switch) map, the right Windows' logo key
124 // temporarily chooses the third shift level. If you use this map,
125 // you should define your keyboard as pc101 or pc102 instead of pc104
127 partial modifier_keys
128 xkb_symbols "rwin_switch" {
130 type[Group1]="ONE_LEVEL",
131 symbols[Group1] = [ ISO_Level3_Shift ]
133 modifier_map Mod5 { ISO_Level3_Shift };
136 // using the level3(enter_switch) map, the Enter key on the keypad
137 // temporarily chooses the third shift level. This is especially
138 // useful for Mac laptops which miss the right Alt key.
139 partial modifier_keys
140 xkb_symbols "enter_switch" {
142 type[Group1]="ONE_LEVEL",
143 symbols[Group1] = [ ISO_Level3_Shift ]
145 modifier_map Mod5 { ISO_Level3_Shift };
148 partial modifier_keys
149 xkb_symbols "caps_switch" {
151 type[Group1]="ONE_LEVEL",
152 symbols[Group1] = [ ISO_Level3_Shift ]
154 modifier_map Mod5 { ISO_Level3_Shift };
157 partial modifier_keys
158 xkb_symbols "bksl_switch" {
160 type[Group1]="ONE_LEVEL",
161 symbols[Group1] = [ ISO_Level3_Shift ]
163 modifier_map Mod5 { ISO_Level3_Shift };
166 partial modifier_keys
167 xkb_symbols "lsgt_switch" {
169 type[Group1]="ONE_LEVEL",
170 symbols[Group1] = [ ISO_Level3_Shift ]
172 modifier_map Mod5 { ISO_Level3_Shift };
175 partial modifier_keys
176 xkb_symbols "caps_switch_latch" {
178 type[Group1]="THREE_LEVEL",
179 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
181 modifier_map Mod5 { ISO_Level3_Shift };
184 partial modifier_keys
185 xkb_symbols "bksl_switch_latch" {
187 type[Group1]="THREE_LEVEL",
188 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
190 modifier_map Mod5 { ISO_Level3_Shift };
193 partial modifier_keys
194 xkb_symbols "lsgt_switch_latch" {
196 type[Group1]="THREE_LEVEL",
197 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
199 modifier_map Mod5 { ISO_Level3_Shift };