1 partial default xkb_types "default" {
3 // Some types that are necessary
4 // for a full implementation of
5 // a PC compatible keyboard.
7 virtual_modifiers LevelThree;
8 virtual_modifiers LAlt;
9 virtual_modifiers RAlt;
10 virtual_modifiers RControl;
11 virtual_modifiers LControl;
13 type "PC_CONTROL_LEVEL2" {
16 map[Control] = Level2;
17 level_name[Level1] = "Base";
18 level_name[Level2] = "Control";
21 type "PC_LCONTROL_LEVEL2" {
24 map[LControl] = Level2;
25 level_name[Level1] = "Base";
26 level_name[Level2] = "LControl";
29 type "PC_RCONTROL_LEVEL2" {
32 map[RControl] = Level2;
33 level_name[Level1] = "Base";
34 level_name[Level2] = "RControl";
37 type "PC_ALT_LEVEL2" {
41 level_name[Level1] = "Base";
42 level_name[Level2] = "Alt";
45 type "PC_LALT_LEVEL2" {
49 level_name[Level1] = "Base";
50 level_name[Level2] = "LAlt";
53 type "PC_RALT_LEVEL2" {
57 level_name[Level1] = "Base";
58 level_name[Level2] = "RAlt";
62 modifiers = Control+Alt+Shift+LevelThree;
65 map[LevelThree] = Level3;
66 map[Shift+LevelThree] = Level4;
67 map[Control+Alt] = Level5;
68 preserve[Shift] = Shift;
69 preserve[Shift+LevelThree] = Shift;
70 level_name[Level1] = "Base";
71 level_name[Level2] = "Shift";
72 level_name[Level3] = "Alt Base";
73 level_name[Level4] = "Shift Alt";
74 level_name[Level5] = "Ctrl+Alt";
78 // Needed when you want part of your layout eight-level but can not use
79 // LevelFive as modifier, as this will take over right ctrl by default
80 // for all the layout and is too invasive for your average four-level user
81 // Needed to fix bug #9529
82 // FIXME Should really use RControl but it's seems not to be enabled by
83 // default and touching this requires a lot of testing
84 type "LOCAL_EIGHT_LEVEL" {
85 modifiers = Shift+Lock+LevelThree+Control;
88 map[Lock+Shift] = Level1;
92 map[LevelThree] = Level3;
93 map[Lock+Shift+LevelThree] = Level3;
94 map[Shift+LevelThree] = Level4;
95 map[Lock+LevelThree] = Level4;
97 map[Control] = Level5;
98 map[Lock+Shift+Control] = Level5;
99 map[Shift+Control] = Level6;
100 map[Lock+Control] = Level6;
102 map[LevelThree+Control] = Level7;
103 map[Lock+Shift+LevelThree+Control] = Level7;
104 map[Shift+LevelThree+Control] = Level8;
105 map[Lock+LevelThree+Control] = Level8;
107 level_name[Level1] = "Base";
108 level_name[Level2] = "Shift";
109 level_name[Level3] = "Level3";
110 level_name[Level4] = "Shift Level3";
111 level_name[Level5] = "Ctrl";
112 level_name[Level6] = "Shift Ctrl";
113 level_name[Level7] = "Level3 Ctrl";
114 level_name[Level8] = "Shift Level3 Ctrl";