root/linux/X/types/level5 @ 1864

Revision 1864, 8.2 KB (checked in by stephan, 4 years ago)

Weitere Modifier ausgelagert um Kompatibilität zu anderen Layouts zu verbessern.
Dateien wurden gruppiert, aber die alten sicherheitshalber beibehalten.
Für die neuen Dateien muss noch die Makefile editiert werden.

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