xref: /aosp_15_r20/external/libxkbcommon/test/data/symbols/level3 (revision 2b949d0487e80d67f1fda82db69e101e761f8064)
1*2b949d04SAndroid Build Coastguard Worker// These partial variants assign ISO_Level3_Shift to various XKB keycodes
2*2b949d04SAndroid Build Coastguard Worker// so that the third shift level can be reached.
3*2b949d04SAndroid Build Coastguard Worker
4*2b949d04SAndroid Build Coastguard Worker// The default behaviour:
5*2b949d04SAndroid Build Coastguard Worker// the right Alt key (AltGr) chooses the third symbol engraved on a key.
6*2b949d04SAndroid Build Coastguard Workerdefault partial modifier_keys
7*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ralt_switch" {
8*2b949d04SAndroid Build Coastguard Worker  key <RALT> {
9*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
10*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
11*2b949d04SAndroid Build Coastguard Worker  };
12*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
13*2b949d04SAndroid Build Coastguard Worker};
14*2b949d04SAndroid Build Coastguard Worker
15*2b949d04SAndroid Build Coastguard Worker// Ensure a mapping to a real modifier for LevelThree.
16*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
17*2b949d04SAndroid Build Coastguard Workerxkb_symbols "modifier_mapping" {
18*2b949d04SAndroid Build Coastguard Worker  replace key <LVL3> {
19*2b949d04SAndroid Build Coastguard Worker    type[Group1] = "ONE_LEVEL",
20*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
21*2b949d04SAndroid Build Coastguard Worker  };
22*2b949d04SAndroid Build Coastguard Worker  modifier_map Mod5 { <LVL3> };
23*2b949d04SAndroid Build Coastguard Worker};
24*2b949d04SAndroid Build Coastguard Worker
25*2b949d04SAndroid Build Coastguard Worker// The right Alt key never chooses the third level.
26*2b949d04SAndroid Build Coastguard Worker// This option attempts to undo the effect of a layout's inclusion of
27*2b949d04SAndroid Build Coastguard Worker// 'ralt_switch'.  You may want to also select another level3 option
28*2b949d04SAndroid Build Coastguard Worker// to map the level3 shift to some other key.
29*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
30*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ralt_alt" {
31*2b949d04SAndroid Build Coastguard Worker  key <RALT> {
32*2b949d04SAndroid Build Coastguard Worker    type[Group1]="TWO_LEVEL",
33*2b949d04SAndroid Build Coastguard Worker    type[Group2]="TWO_LEVEL",
34*2b949d04SAndroid Build Coastguard Worker    type[Group3]="TWO_LEVEL",
35*2b949d04SAndroid Build Coastguard Worker    type[Group4]="TWO_LEVEL",
36*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ Alt_R, Meta_R ],
37*2b949d04SAndroid Build Coastguard Worker    symbols[Group2] = [ Alt_R, Meta_R ],
38*2b949d04SAndroid Build Coastguard Worker    symbols[Group3] = [ Alt_R, Meta_R ],
39*2b949d04SAndroid Build Coastguard Worker    symbols[Group4] = [ Alt_R, Meta_R ]
40*2b949d04SAndroid Build Coastguard Worker  };
41*2b949d04SAndroid Build Coastguard Worker  modifier_map Mod1 { <RALT> };
42*2b949d04SAndroid Build Coastguard Worker};
43*2b949d04SAndroid Build Coastguard Worker
44*2b949d04SAndroid Build Coastguard Worker// The right Alt key (while pressed) chooses the third shift level,
45*2b949d04SAndroid Build Coastguard Worker// and Compose is mapped to its second level.
46*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
47*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ralt_switch_multikey" {
48*2b949d04SAndroid Build Coastguard Worker  key <RALT> {
49*2b949d04SAndroid Build Coastguard Worker    type[Group1]="TWO_LEVEL",
50*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
51*2b949d04SAndroid Build Coastguard Worker  };
52*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
53*2b949d04SAndroid Build Coastguard Worker};
54*2b949d04SAndroid Build Coastguard Worker
55*2b949d04SAndroid Build Coastguard Worker// A special case of the right-Alt switch -- for use with grp:alts_toggle.
56*2b949d04SAndroid Build Coastguard Workerhidden partial modifier_keys
57*2b949d04SAndroid Build Coastguard Workerxkb_symbols "ralt_switch_for_alts_toggle" {
58*2b949d04SAndroid Build Coastguard Worker  virtual_modifiers LAlt, AltGr;
59*2b949d04SAndroid Build Coastguard Worker  key <LALT> {
60*2b949d04SAndroid Build Coastguard Worker    type[Group1]="PC_RALT_LEVEL2",
61*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
62*2b949d04SAndroid Build Coastguard Worker    virtualMods= LAlt
63*2b949d04SAndroid Build Coastguard Worker  };
64*2b949d04SAndroid Build Coastguard Worker  key <RALT> {
65*2b949d04SAndroid Build Coastguard Worker    type[Group1]="PC_ALT_LEVEL2",
66*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
67*2b949d04SAndroid Build Coastguard Worker    virtualMods= AltGr
68*2b949d04SAndroid Build Coastguard Worker  };
69*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
70*2b949d04SAndroid Build Coastguard Worker};
71*2b949d04SAndroid Build Coastguard Worker
72*2b949d04SAndroid Build Coastguard Worker// Either Alt key (while pressed) chooses the third shift level.
73*2b949d04SAndroid Build Coastguard Worker// (To be used mostly to imitate Mac OS functionality.)
74*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
75*2b949d04SAndroid Build Coastguard Workerxkb_symbols "alt_switch" {
76*2b949d04SAndroid Build Coastguard Worker  include "level3(lalt_switch)"
77*2b949d04SAndroid Build Coastguard Worker  include "level3(ralt_switch)"
78*2b949d04SAndroid Build Coastguard Worker};
79*2b949d04SAndroid Build Coastguard Worker
80*2b949d04SAndroid Build Coastguard Worker// The left Alt key (while pressed) chooses the third shift level.
81*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
82*2b949d04SAndroid Build Coastguard Workerxkb_symbols "lalt_switch" {
83*2b949d04SAndroid Build Coastguard Worker  key <LALT> {
84*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
85*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
86*2b949d04SAndroid Build Coastguard Worker  };
87*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
88*2b949d04SAndroid Build Coastguard Worker};
89*2b949d04SAndroid Build Coastguard Worker
90*2b949d04SAndroid Build Coastguard Worker// The right Ctrl key (while pressed) chooses the third shift level.
91*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
92*2b949d04SAndroid Build Coastguard Workerxkb_symbols "switch" {
93*2b949d04SAndroid Build Coastguard Worker  key <RCTL> {
94*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
95*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
96*2b949d04SAndroid Build Coastguard Worker  };
97*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
98*2b949d04SAndroid Build Coastguard Worker};
99*2b949d04SAndroid Build Coastguard Worker
100*2b949d04SAndroid Build Coastguard Worker// The Menu key (while pressed) chooses the third shift level.
101*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
102*2b949d04SAndroid Build Coastguard Workerxkb_symbols "menu_switch" {
103*2b949d04SAndroid Build Coastguard Worker  key <MENU> {
104*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
105*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
106*2b949d04SAndroid Build Coastguard Worker  };
107*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
108*2b949d04SAndroid Build Coastguard Worker};
109*2b949d04SAndroid Build Coastguard Worker
110*2b949d04SAndroid Build Coastguard Worker// Either Win key (while pressed) chooses the third shift level.
111*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
112*2b949d04SAndroid Build Coastguard Workerxkb_symbols "win_switch" {
113*2b949d04SAndroid Build Coastguard Worker  include "level3(lwin_switch)"
114*2b949d04SAndroid Build Coastguard Worker  include "level3(rwin_switch)"
115*2b949d04SAndroid Build Coastguard Worker};
116*2b949d04SAndroid Build Coastguard Worker
117*2b949d04SAndroid Build Coastguard Worker// The left Win key (while pressed) chooses the third shift level.
118*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
119*2b949d04SAndroid Build Coastguard Workerxkb_symbols "lwin_switch" {
120*2b949d04SAndroid Build Coastguard Worker  key <LWIN> {
121*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
122*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
123*2b949d04SAndroid Build Coastguard Worker  };
124*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
125*2b949d04SAndroid Build Coastguard Worker};
126*2b949d04SAndroid Build Coastguard Worker
127*2b949d04SAndroid Build Coastguard Worker// The right Win key (while pressed) chooses the third shift level.
128*2b949d04SAndroid Build Coastguard Worker// (When using this map, you should set your keyboard as pc101 or pc102
129*2b949d04SAndroid Build Coastguard Worker// instead of pc104 or pc105.)
130*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
131*2b949d04SAndroid Build Coastguard Workerxkb_symbols "rwin_switch" {
132*2b949d04SAndroid Build Coastguard Worker  key <RWIN> {
133*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
134*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
135*2b949d04SAndroid Build Coastguard Worker  };
136*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
137*2b949d04SAndroid Build Coastguard Worker};
138*2b949d04SAndroid Build Coastguard Worker
139*2b949d04SAndroid Build Coastguard Worker// The Enter key on the kepypad (while pressed) chooses the third shift level.
140*2b949d04SAndroid Build Coastguard Worker// (This is especially useful for Mac laptops which miss the right Alt key.)
141*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
142*2b949d04SAndroid Build Coastguard Workerxkb_symbols "enter_switch" {
143*2b949d04SAndroid Build Coastguard Worker  key <KPEN> {
144*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
145*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
146*2b949d04SAndroid Build Coastguard Worker  };
147*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
148*2b949d04SAndroid Build Coastguard Worker};
149*2b949d04SAndroid Build Coastguard Worker
150*2b949d04SAndroid Build Coastguard Worker// The CapsLock key (while pressed) chooses the third shift level.
151*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
152*2b949d04SAndroid Build Coastguard Workerxkb_symbols "caps_switch" {
153*2b949d04SAndroid Build Coastguard Worker  key <CAPS> {
154*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
155*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
156*2b949d04SAndroid Build Coastguard Worker  };
157*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
158*2b949d04SAndroid Build Coastguard Worker};
159*2b949d04SAndroid Build Coastguard Worker
160*2b949d04SAndroid Build Coastguard Worker// The Backslash key (while pressed) chooses the third shift level.
161*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
162*2b949d04SAndroid Build Coastguard Workerxkb_symbols "bksl_switch" {
163*2b949d04SAndroid Build Coastguard Worker  key <BKSL> {
164*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
165*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
166*2b949d04SAndroid Build Coastguard Worker  };
167*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
168*2b949d04SAndroid Build Coastguard Worker};
169*2b949d04SAndroid Build Coastguard Worker
170*2b949d04SAndroid Build Coastguard Worker// The Less/Greater key (while pressed) chooses the third shift level.
171*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
172*2b949d04SAndroid Build Coastguard Workerxkb_symbols "lsgt_switch" {
173*2b949d04SAndroid Build Coastguard Worker  key <LSGT> {
174*2b949d04SAndroid Build Coastguard Worker    type[Group1]="ONE_LEVEL",
175*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
176*2b949d04SAndroid Build Coastguard Worker  };
177*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
178*2b949d04SAndroid Build Coastguard Worker};
179*2b949d04SAndroid Build Coastguard Worker
180*2b949d04SAndroid Build Coastguard Worker// The CapsLock key (while pressed) chooses the third shift level,
181*2b949d04SAndroid Build Coastguard Worker// and latches when pressed together with another third-level chooser.
182*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
183*2b949d04SAndroid Build Coastguard Workerxkb_symbols "caps_switch_latch" {
184*2b949d04SAndroid Build Coastguard Worker  key <CAPS> {
185*2b949d04SAndroid Build Coastguard Worker    type[Group1]="THREE_LEVEL",
186*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
187*2b949d04SAndroid Build Coastguard Worker  };
188*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
189*2b949d04SAndroid Build Coastguard Worker};
190*2b949d04SAndroid Build Coastguard Worker
191*2b949d04SAndroid Build Coastguard Worker// The Backslash key (while pressed) chooses the third shift level,
192*2b949d04SAndroid Build Coastguard Worker// and latches when pressed together with another third-level chooser.
193*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
194*2b949d04SAndroid Build Coastguard Workerxkb_symbols "bksl_switch_latch" {
195*2b949d04SAndroid Build Coastguard Worker  key <BKSL> {
196*2b949d04SAndroid Build Coastguard Worker    type[Group1]="THREE_LEVEL",
197*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
198*2b949d04SAndroid Build Coastguard Worker  };
199*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
200*2b949d04SAndroid Build Coastguard Worker};
201*2b949d04SAndroid Build Coastguard Worker
202*2b949d04SAndroid Build Coastguard Worker// The Less/Greater key (while pressed) chooses the third shift level,
203*2b949d04SAndroid Build Coastguard Worker// and latches when pressed together with another third-level chooser.
204*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
205*2b949d04SAndroid Build Coastguard Workerxkb_symbols "lsgt_switch_latch" {
206*2b949d04SAndroid Build Coastguard Worker  key <LSGT> {
207*2b949d04SAndroid Build Coastguard Worker    type[Group1]="THREE_LEVEL",
208*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
209*2b949d04SAndroid Build Coastguard Worker  };
210*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
211*2b949d04SAndroid Build Coastguard Worker};
212*2b949d04SAndroid Build Coastguard Worker
213*2b949d04SAndroid Build Coastguard Worker// Number key 4 chooses third shift level when pressed in isolation.
214*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
215*2b949d04SAndroid Build Coastguard Workerxkb_symbols "4_switch_isolated" {
216*2b949d04SAndroid Build Coastguard Worker  override key <AE04> {
217*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
218*2b949d04SAndroid Build Coastguard Worker  };
219*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
220*2b949d04SAndroid Build Coastguard Worker};
221*2b949d04SAndroid Build Coastguard Worker
222*2b949d04SAndroid Build Coastguard Worker// Number key 9 chooses third shift level when pressed in isolation.
223*2b949d04SAndroid Build Coastguard Workerpartial modifier_keys
224*2b949d04SAndroid Build Coastguard Workerxkb_symbols "9_switch_isolated" {
225*2b949d04SAndroid Build Coastguard Worker  override key <AE09> {
226*2b949d04SAndroid Build Coastguard Worker    symbols[Group1] = [ ISO_Level3_Shift ]
227*2b949d04SAndroid Build Coastguard Worker  };
228*2b949d04SAndroid Build Coastguard Worker  include "level3(modifier_mapping)"
229*2b949d04SAndroid Build Coastguard Worker};
230