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