scripts/update-keysyms: fix path to the include files after de1b6943d
[platform/upstream/libxkbcommon.git] / test / data / types / level5
1 default partial xkb_types "default" {
2
3     // Defines a type with an eight-level shift, similar to the three-level
4     // type used for iso9995, but it lets the Shift key behave "normally".
5
6     virtual_modifiers LevelThree,ScrollLock,LevelFive;
7
8     type "EIGHT_LEVEL" {
9         modifiers = Shift+LevelThree+LevelFive;
10         map[None] = Level1;
11         map[Shift] = Level2;
12         map[LevelThree] = Level3;
13         map[Shift+LevelThree] = Level4;
14         map[LevelFive] = Level5;
15         map[Shift+LevelFive] = Level6;
16         map[LevelThree+LevelFive] = Level7;
17         map[Shift+LevelThree+LevelFive] = Level8;
18         level_name[Level1] = "Base";
19         level_name[Level2] = "Shift";
20         level_name[Level3] = "Alt Base";
21         level_name[Level4] = "Shift Alt";
22         level_name[Level5] = "X";
23         level_name[Level6] = "X Shift";
24         level_name[Level7] = "X Alt Base";
25         level_name[Level8] = "X Shift Alt";
26     };
27
28     type "EIGHT_LEVEL_ALPHABETIC" {
29         modifiers = Shift+Lock+LevelThree+LevelFive;
30         map[None] = Level1;
31         map[Shift] = Level2;
32         map[Lock]  = Level2;
33         map[LevelThree] = Level3;
34         map[Shift+LevelThree] = Level4;
35         map[Lock+LevelThree] =  Level4;
36         map[Lock+Shift+LevelThree] = Level3;
37
38         map[LevelFive] = Level5;
39         map[Shift+LevelFive] = Level6;
40         map[Lock+LevelFive]  = Level6;
41         map[LevelThree+LevelFive] = Level7;
42         map[Shift+LevelThree+LevelFive] = Level8;
43         map[Lock+LevelThree+LevelFive] =  Level8;
44         map[Lock+Shift+LevelThree+LevelFive] = Level7;
45
46         level_name[Level1] = "Base";
47         level_name[Level2] = "Shift";
48         level_name[Level3] = "Alt Base";
49         level_name[Level4] = "Shift Alt";
50         level_name[Level5] = "X";
51         level_name[Level6] = "X Shift";
52         level_name[Level7] = "X Alt Base";
53         level_name[Level8] = "X Shift Alt";
54     };
55
56     type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" {
57       // Level5-Lock is implemented by using NumLock, because a real modifier
58       // is required.
59
60         modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
61
62         map[None]                                    = Level1;
63         map[Shift]                                   = Level2;
64         map[LevelThree]                              = Level3;
65         map[LevelThree+Shift]                        = Level4;
66
67         map[LevelFive]                               = Level5;
68         map[LevelFive+Shift]                         = Level6;
69         map[LevelFive+LevelThree]                    = Level7;
70         map[LevelFive+LevelThree+Shift]              = Level8;
71
72         map[NumLock]                                 = Level5;
73         map[NumLock+Shift]                           = Level6;
74         map[NumLock+LevelThree]                      = Level7;
75         map[NumLock+LevelThree+Shift]                = Level8;
76
77         map[NumLock+LevelFive]                       = Level1;
78         map[NumLock+LevelFive+Shift]                 = Level2;
79         map[NumLock+LevelFive+LevelThree]            = Level3;
80         map[NumLock+LevelFive+LevelThree+Shift]      = Level4;
81
82         // Lock has no effect
83         map[Lock]                                    = Level1;
84         map[Lock+Shift]                              = Level2;
85         map[Lock+LevelThree]                         = Level3;
86         map[Lock+LevelThree+Shift]                   = Level4;
87
88         map[Lock+LevelFive]                          = Level5;
89         map[Lock+LevelFive+Shift]                    = Level6;
90         map[Lock+LevelFive+LevelThree]               = Level7;
91         map[Lock+LevelFive+LevelThree+Shift]         = Level8;
92
93         map[Lock+NumLock]                            = Level5;
94         map[Lock+NumLock+Shift]                      = Level6;
95         map[Lock+NumLock+LevelThree]                 = Level7;
96         map[Lock+NumLock+LevelThree+Shift]           = Level8;
97
98         map[Lock+NumLock+LevelFive]                  = Level1;
99         map[Lock+NumLock+LevelFive+Shift]            = Level2;
100         map[Lock+NumLock+LevelFive+LevelThree]       = Level3;
101         map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4;
102
103         preserve[LevelFive+Shift] = Shift;
104         preserve[NumLock+Shift] = Shift;
105         preserve[Lock+LevelFive+Shift] = Shift;
106         preserve[Lock+NumLock+Shift] = Shift;
107
108         level_name[Level1] = "Base";
109         level_name[Level2] = "Shift";
110         level_name[Level3] = "Alt Base";
111         level_name[Level4] = "Shift Alt";
112         level_name[Level5] = "X";
113         level_name[Level6] = "X Shift";
114         level_name[Level7] = "X Alt Base";
115         level_name[Level8] = "X Shift Alt";
116     };
117
118     type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" {
119       // Level5-Lock is implemented by using NumLock, because a real modifier
120       // is required.
121
122         modifiers = Shift + Lock + LevelThree + NumLock + LevelFive;
123
124         map[None]                                    = Level1;
125         map[Shift]                                   = Level2;
126         map[LevelThree]                              = Level3;
127         map[LevelThree+Shift]                        = Level4;
128
129         map[LevelFive]                               = Level5;
130         map[LevelFive+Shift]                         = Level6;
131         map[LevelFive+LevelThree]                    = Level7;
132         map[LevelFive+LevelThree+Shift]              = Level8;
133
134         map[NumLock]                                 = Level5;
135         map[NumLock+Shift]                           = Level6;
136         map[NumLock+LevelThree]                      = Level7;
137         map[NumLock+LevelThree+Shift]                = Level8;
138
139         map[NumLock+LevelFive]                       = Level1;
140         map[NumLock+LevelFive+Shift]                 = Level2;
141         map[NumLock+LevelFive+LevelThree]            = Level3;
142         map[NumLock+LevelFive+LevelThree+Shift]      = Level4;
143
144         // Lock interchanges Level1 and Level2
145         map[Lock]                                    = Level2;
146         map[Lock+Shift]                              = Level1;
147         map[Lock+LevelThree]                         = Level3;
148         map[Lock+LevelThree+Shift]                   = Level4;
149
150         map[Lock+LevelFive]                          = Level5;
151         map[Lock+LevelFive+Shift]                    = Level6;
152         map[Lock+LevelFive+LevelThree]               = Level7;
153         map[Lock+LevelFive+LevelThree+Shift]         = Level8;
154
155         map[Lock+NumLock]                            = Level5;
156         map[Lock+NumLock+Shift]                      = Level6;
157         map[Lock+NumLock+LevelThree]                 = Level7;
158         map[Lock+NumLock+LevelThree+Shift]           = Level8;
159
160         map[Lock+NumLock+LevelFive]                  = Level2;
161         map[Lock+NumLock+LevelFive+Shift]            = Level1;
162         map[Lock+NumLock+LevelFive+LevelThree]       = Level4;
163         map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3;
164
165         preserve[LevelFive+Shift] = Shift;
166         preserve[NumLock+Shift] = Shift;
167
168         level_name[Level1] = "Base";
169         level_name[Level2] = "Shift";
170         level_name[Level3] = "Alt Base";
171         level_name[Level4] = "Shift Alt";
172         level_name[Level5] = "X";
173         level_name[Level6] = "X Shift";
174         level_name[Level7] = "X Alt Base";
175         level_name[Level8] = "X Shift Alt";
176     };
177
178     type "EIGHT_LEVEL_SEMIALPHABETIC" {
179         modifiers = Shift+Lock+LevelThree+LevelFive;
180         map[None] = Level1;
181         map[Shift] = Level2;
182         map[Lock]  = Level2;
183         map[LevelThree] = Level3;
184         map[Shift+LevelThree] = Level4;
185         map[Lock+LevelThree] =  Level3;
186         map[Lock+Shift+LevelThree] = Level4;
187
188         map[LevelFive] = Level5;
189         map[Shift+LevelFive] = Level6;
190         map[Lock+LevelFive]  = Level6;
191         map[Lock+Shift+LevelFive]  = Level6;
192         map[LevelThree+LevelFive] = Level7;
193         map[Shift+LevelThree+LevelFive] = Level8;
194         map[Lock+LevelThree+LevelFive] =  Level7;
195         map[Lock+Shift+LevelThree+LevelFive] = Level8;
196
197         preserve[Lock+LevelThree] = Lock;
198         preserve[Lock+Shift+LevelThree] = Lock;
199         preserve[Lock+LevelFive] = Lock;
200         preserve[Lock+Shift+LevelFive] = Lock;
201         preserve[Lock+LevelThree+LevelFive] = Lock;
202         preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
203
204         level_name[Level1] = "Base";
205         level_name[Level2] = "Shift";
206         level_name[Level3] = "Alt Base";
207         level_name[Level4] = "Shift Alt";
208         level_name[Level5] = "X";
209         level_name[Level6] = "X Shift";
210         level_name[Level7] = "X Alt Base";
211         level_name[Level8] = "X Shift Alt";
212     };
213
214 };