1 // $Xorg: pc,v 1.3 2000/08/17 19:54:48 cpqbld Exp $
4 partial default xkb_types "default" {
6 // Some types that are necessary
7 // for a full implementation of
8 // a PC compatible keyboard.
10 virtual_modifiers LevelThree;
11 virtual_modifiers LAlt;
12 virtual_modifiers RAlt;
13 virtual_modifiers RControl;
14 virtual_modifiers LControl;
16 type "PC_CONTROL_LEVEL2" {
19 map[Control] = Level2;
20 level_name[Level1] = "Base";
21 level_name[Level2] = "Control";
24 type "PC_LCONTROL_LEVEL2" {
27 map[LControl] = Level2;
28 level_name[Level1] = "Base";
29 level_name[Level2] = "LControl";
32 type "PC_RCONTROL_LEVEL2" {
35 map[RControl] = Level2;
36 level_name[Level1] = "Base";
37 level_name[Level2] = "RControl";
40 type "PC_ALT_LEVEL2" {
44 level_name[Level1] = "Base";
45 level_name[Level2] = "Alt";
48 type "PC_LALT_LEVEL2" {
52 level_name[Level1] = "Base";
53 level_name[Level2] = "LAlt";
56 type "PC_RALT_LEVEL2" {
60 level_name[Level1] = "Base";
61 level_name[Level2] = "RAlt";
65 modifiers = Control+Alt;
66 map[Control+Alt] = Level2;
67 level_name[Level1] = "Base";
68 level_name[Level2] = "Ctrl+Alt";
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;
82 map[Lock+Shift] = Level1;
86 map[LevelThree] = Level3;
87 map[Lock+Shift+LevelThree] = Level3;
88 map[Shift+LevelThree] = Level4;
89 map[Lock+LevelThree] = Level4;
91 map[Control] = Level5;
92 map[Lock+Shift+Control] = Level5;
93 map[Shift+Control] = Level6;
94 map[Lock+Control] = Level6;
96 map[LevelThree+Control] = Level7;
97 map[Lock+Shift+LevelThree+Control] = Level7;
98 map[Shift+LevelThree+Control] = Level8;
99 map[Lock+LevelThree+Control] = Level8;
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";