improving build process
[xorg/xkeyboard-config] / types / pc
1 // $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
2 // 
3
4 partial default xkb_types "default" {
5
6     // Some types that are necessary
7     // for a full implementation of
8     // a PC compatible keyboard.
9     virtual_modifiers Alt;
10     virtual_modifiers LevelThree;
11     virtual_modifiers LAlt;
12     virtual_modifiers RAlt;
13     virtual_modifiers RControl;
14     virtual_modifiers LControl;
15
16     type "PC_CONTROL_LEVEL2" {
17         modifiers = Control;
18         map[None] = Level1;
19         map[Control] = Level2;
20         level_name[Level1] = "Base";
21         level_name[Level2] = "Control";
22     };
23
24     type "PC_LCONTROL_LEVEL2" {
25         modifiers = LControl;
26         map[None] = Level1;
27         map[LControl] = Level2;
28         level_name[Level1] = "Base";
29         level_name[Level2] = "LControl";
30     };
31
32     type "PC_RCONTROL_LEVEL2" {
33         modifiers = RControl;
34         map[None] = Level1;
35         map[RControl] = Level2;
36         level_name[Level1] = "Base";
37         level_name[Level2] = "RControl";
38     };
39
40     type "PC_ALT_LEVEL2" {
41         modifiers = Alt;
42         map[None] = Level1;
43         map[Alt] = Level2;
44         level_name[Level1] = "Base";
45         level_name[Level2] = "Alt";
46     };
47
48     type "PC_LALT_LEVEL2" {
49         modifiers = LAlt;
50         map[None] = Level1;
51         map[LAlt] = Level2;
52         level_name[Level1] = "Base";
53         level_name[Level2] = "LAlt";
54     };
55
56     type "PC_RALT_LEVEL2" {
57         modifiers = RAlt;
58         map[None] = Level1;
59         map[RAlt] = Level2;
60         level_name[Level1] = "Base";
61         level_name[Level2] = "RAlt";
62     };
63
64     type "CTRL+ALT" {
65         modifiers = Control+Alt;
66         map[Control+Alt] = Level2;
67         level_name[Level1] = "Base";
68         level_name[Level2] = "Ctrl+Alt";
69     };
70
71    // Local eight level
72    // Needed when you want part of your layout eight-level but can not use
73    // LevelFive as modifier, as this will take over right ctrl by default
74    // for all the layout and is too invasive for your average four-level user
75    // Needed to fix bug #9529
76    // FIXME Should really use RControl but it's seems not to be enabled by
77    // default and touching this requires a lot of testing
78    type "LOCAL_EIGHT_LEVEL" {
79         modifiers = Shift+Lock+LevelThree+Control;
80
81         map[None]       = Level1;
82         map[Lock+Shift] = Level1;
83         map[Shift] = Level2;
84         map[Lock]  = Level2;
85
86         map[LevelThree]            = Level3;
87         map[Lock+Shift+LevelThree] = Level3;
88         map[Shift+LevelThree] = Level4;
89         map[Lock+LevelThree]  = Level4;
90
91         map[Control]            = Level5;
92         map[Lock+Shift+Control] = Level5;
93         map[Shift+Control] = Level6;
94         map[Lock+Control]  = Level6;
95
96         map[LevelThree+Control]            = Level7;
97         map[Lock+Shift+LevelThree+Control] = Level7;
98         map[Shift+LevelThree+Control] = Level8;
99         map[Lock+LevelThree+Control]  = Level8;
100
101         level_name[Level1] = "Base";
102         level_name[Level2] = "Shift";
103         level_name[Level3] = "Level3";
104         level_name[Level4] = "Shift Level3";
105         level_name[Level5] = "Ctrl";
106         level_name[Level6] = "Shift Ctrl";
107         level_name[Level7] = "Level3 Ctrl";
108         level_name[Level8] = "Shift Level3 Ctrl";
109     };
110
111 };