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;
63 map[Control+Alt] = Level2;
64 level_name[Level1] = "Base";
65 level_name[Level2] = "Ctrl+Alt";
69 // Needed when you want part of your layout eight-level but can not use
70 // LevelFive as modifier, as this will take over right ctrl by default
71 // for all the layout and is too invasive for your average four-level user
72 // Needed to fix bug #9529
73 // FIXME Should really use RControl but it's seems not to be enabled by
74 // default and touching this requires a lot of testing
75 type "LOCAL_EIGHT_LEVEL" {
76 modifiers = Shift+Lock+LevelThree+Control;
79 map[Lock+Shift] = Level1;
83 map[LevelThree] = Level3;
84 map[Lock+Shift+LevelThree] = Level3;
85 map[Shift+LevelThree] = Level4;
86 map[Lock+LevelThree] = Level4;
88 map[Control] = Level5;
89 map[Lock+Shift+Control] = Level5;
90 map[Shift+Control] = Level6;
91 map[Lock+Control] = Level6;
93 map[LevelThree+Control] = Level7;
94 map[Lock+Shift+LevelThree+Control] = Level7;
95 map[Shift+LevelThree+Control] = Level8;
96 map[Lock+LevelThree+Control] = Level8;
98 level_name[Level1] = "Base";
99 level_name[Level2] = "Shift";
100 level_name[Level3] = "Level3";
101 level_name[Level4] = "Shift Level3";
102 level_name[Level5] = "Ctrl";
103 level_name[Level6] = "Shift Ctrl";
104 level_name[Level7] = "Level3 Ctrl";
105 level_name[Level8] = "Shift Level3 Ctrl";