improving build process
[xorg/xkeyboard-config] / types / level5
1 // $XKeyboardConfig$
2 // $XFree86: xc/programs/xkbcomp/types/extra,v 1.3 2002/11/26 02:14:02 dawes Exp $
3
4 partial 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_SEMIALPHABETIC" {
60         modifiers = Shift+Lock+LevelThree+LevelFive;
61         map[None] = Level1;
62         map[Shift] = Level2;
63         map[Lock]  = Level2;
64         map[LevelThree] = Level3;
65         map[Shift+LevelThree] = Level4;
66         map[Lock+LevelThree] =  Level3;
67         map[Lock+Shift+LevelThree] = Level4;
68
69         map[LevelFive] = Level5;
70         map[Shift+LevelFive] = Level6;
71         map[Lock+LevelFive]  = Level6;
72         map[LevelThree+LevelFive] = Level7;
73         map[Shift+LevelThree+LevelFive] = Level8;
74         map[Lock+LevelThree+LevelFive] =  Level7;
75         map[Lock+Shift+LevelThree+LevelFive] = Level8;
76
77         preserve[Lock+LevelThree] = Lock;
78         preserve[Lock+Shift+LevelThree] = Lock;
79         preserve[Lock+LevelFive] = Lock;
80         preserve[Lock+Shift+LevelFive] = Lock;
81         preserve[Lock+LevelThree+LevelFive] = Lock;
82         preserve[Lock+Shift+LevelThree+LevelFive] = Lock;
83
84         level_name[Level1] = "Base";
85         level_name[Level2] = "Shift";
86         level_name[Level3] = "Alt Base";
87         level_name[Level4] = "Shift Alt";
88         level_name[Level5] = "X";
89         level_name[Level6] = "X Shift";
90         level_name[Level7] = "X Alt Base";
91         level_name[Level8] = "X Shift Alt";
92     };
93
94 };
95