level3 revision 1.1.1.10 1 // These partial variants assign ISO_Level3_Shift to various XKB keycodes
2 // so that the third shift level can be reached.
3
4 // The default behaviour:
5 // the right Alt key (AltGr) chooses the third symbol engraved on a key.
6 default partial modifier_keys
7 xkb_symbols "ralt_switch" {
8 key <RALT> {
9 type[Group1]="ONE_LEVEL",
10 symbols[Group1] = [ ISO_Level3_Shift ]
11 };
12 };
13
14 // The right Alt key never chooses the third level.
15 // This option attempts to undo the effect of a layout's inclusion of
16 // 'ralt_switch'. You may want to also select another level3 option
17 // to map the level3 shift to some other key.
18 partial modifier_keys
19 xkb_symbols "ralt_alt" {
20 key <RALT> {
21 type[Group1]="TWO_LEVEL",
22 symbols[Group1] = [ Alt_R, Meta_R ]
23 };
24 modifier_map Mod1 { <RALT> };
25 };
26
27 // The right Alt key (while pressed) chooses the third shift level,
28 // and Compose is mapped to its second level.
29 partial modifier_keys
30 xkb_symbols "ralt_switch_multikey" {
31 key <RALT> {
32 type[Group1]="TWO_LEVEL",
33 symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
34 };
35 };
36
37 // Either Alt key (while pressed) chooses the third shift level.
38 // (To be used mostly to imitate Mac OS functionality.)
39 partial modifier_keys
40 xkb_symbols "alt_switch" {
41 include "level3(lalt_switch)"
42 include "level3(ralt_switch)"
43 };
44
45 // The left Alt key (while pressed) chooses the third shift level.
46 partial modifier_keys
47 xkb_symbols "lalt_switch" {
48 key <LALT> {
49 type[Group1]="ONE_LEVEL",
50 symbols[Group1] = [ ISO_Level3_Shift ]
51 };
52 };
53
54 // The right Ctrl key (while pressed) chooses the third shift level.
55 partial modifier_keys
56 xkb_symbols "switch" {
57 key <RCTL> {
58 type[Group1]="ONE_LEVEL",
59 symbols[Group1] = [ ISO_Level3_Shift ]
60 };
61 };
62
63 // The Menu key (while pressed) chooses the third shift level.
64 partial modifier_keys
65 xkb_symbols "menu_switch" {
66 key <MENU> {
67 type[Group1]="ONE_LEVEL",
68 symbols[Group1] = [ ISO_Level3_Shift ]
69 };
70 };
71
72 // Either Win key (while pressed) chooses the third shift level.
73 partial modifier_keys
74 xkb_symbols "win_switch" {
75 include "level3(lwin_switch)"
76 include "level3(rwin_switch)"
77 };
78
79 // The left Win key (while pressed) chooses the third shift level.
80 partial modifier_keys
81 xkb_symbols "lwin_switch" {
82 key <LWIN> {
83 type[Group1]="ONE_LEVEL",
84 symbols[Group1] = [ ISO_Level3_Shift ]
85 };
86 };
87
88 // The right Win key (while pressed) chooses the third shift level.
89 partial modifier_keys
90 xkb_symbols "rwin_switch" {
91 key <RWIN> {
92 type[Group1]="ONE_LEVEL",
93 symbols[Group1] = [ ISO_Level3_Shift ]
94 };
95 };
96
97 // The Enter key on the kepypad (while pressed) chooses the third shift level.
98 // (This is especially useful for Mac laptops which miss the right Alt key.)
99 partial modifier_keys
100 xkb_symbols "enter_switch" {
101 key <KPEN> {
102 type[Group1]="ONE_LEVEL",
103 symbols[Group1] = [ ISO_Level3_Shift ]
104 };
105 };
106
107 // The CapsLock key (while pressed) chooses the third shift level.
108 partial modifier_keys
109 xkb_symbols "caps_switch" {
110 key <CAPS> {
111 type[Group1]="ONE_LEVEL",
112 symbols[Group1] = [ ISO_Level3_Shift ]
113 };
114 };
115
116 // The Backslash key (while pressed) chooses the third shift level.
117 partial modifier_keys
118 xkb_symbols "bksl_switch" {
119 key <BKSL> {
120 type[Group1]="ONE_LEVEL",
121 symbols[Group1] = [ ISO_Level3_Shift ]
122 };
123 };
124
125 // The Less/Greater key (while pressed) chooses the third shift level.
126 partial modifier_keys
127 xkb_symbols "lsgt_switch" {
128 key <LSGT> {
129 type[Group1]="ONE_LEVEL",
130 symbols[Group1] = [ ISO_Level3_Shift ]
131 };
132 };
133
134 // The CapsLock key (while pressed) chooses the third shift level,
135 // and latches when pressed together with another third-level chooser.
136 partial modifier_keys
137 xkb_symbols "caps_switch_latch" {
138 key <CAPS> {
139 type[Group1]="THREE_LEVEL",
140 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
141 };
142 };
143
144 // The Backslash key (while pressed) chooses the third shift level,
145 // and latches when pressed together with another third-level chooser.
146 partial modifier_keys
147 xkb_symbols "bksl_switch_latch" {
148 key <BKSL> {
149 type[Group1]="THREE_LEVEL",
150 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
151 };
152 };
153
154 // The Less/Greater key (while pressed) chooses the third shift level,
155 // and latches when pressed together with another third-level chooser.
156 partial modifier_keys
157 xkb_symbols "lsgt_switch_latch" {
158 key <LSGT> {
159 type[Group1]="THREE_LEVEL",
160 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
161 };
162 };
163
164 // Number key 4 chooses third shift level when pressed in isolation.
165 partial modifier_keys
166 xkb_symbols "4_switch_isolated" {
167 override key <AE04> {
168 symbols[Group1] = [ ISO_Level3_Shift ]
169 };
170 };
171
172 // Number key 9 chooses third shift level when pressed in isolation.
173 partial modifier_keys
174 xkb_symbols "9_switch_isolated" {
175 override key <AE09> {
176 symbols[Group1] = [ ISO_Level3_Shift ]
177 };
178 };
179