default partial xkb_types "default" {

 
 

 virtual_modifiers LevelThree;

 type "FOUR_LEVEL" {
 modifiers = Shift+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Shift Alt";
 };

 type "FOUR_LEVEL_ALPHABETIC" {
 modifiers = Shift+Lock+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[Lock] = Level2;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[Lock+LevelThree] = Level4;
 map[Lock+Shift+LevelThree] = Level3;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Shift Alt";
 };

 type "FOUR_LEVEL_SEMIALPHABETIC" {
 modifiers = Shift+Lock+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[Lock] = Level2;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[Lock+LevelThree] = Level3;
 map[Lock+Shift+LevelThree] = Level4;
 preserve[Lock+LevelThree] = Lock;
 preserve[Lock+Shift+LevelThree] = Lock;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Shift Alt";
 };

 
 
 
 type "FOUR_LEVEL_MIXED_KEYPAD" {
 modifiers = Shift+NumLock+LevelThree;
 map[None] = Level1;
 map[Shift+NumLock] = Level1;
 map[NumLock] = Level2;
 map[Shift] = Level2;
 map[LevelThree] = Level3;
 map[NumLock+LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[Shift+NumLock+LevelThree] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Number";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Shift Alt";
 };

 
 type "FOUR_LEVEL_X" {
 modifiers = Shift+LevelThree+Control+Alt;
 map[None] = Level1;
 map[LevelThree] = Level2;
 map[Shift+LevelThree] = Level3;
 map[Control+Alt] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Alt Base";
 level_name[Level3] = "Shift Alt";
 level_name[Level4] = "Ctrl+Alt";
 };






 type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" {
 modifiers = Shift+Lock+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[Lock] = Level4;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[Lock+LevelThree] = Level3;
 map[Lock+Shift+LevelThree] = Level3;
 preserve[Lock]= Lock;
 preserve[Lock+LevelThree]= Lock;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "AltGr Base";
 level_name[Level4] = "Shift AltGr";
 };
















 type "FOUR_LEVEL_PLUS_LOCK" {
 modifiers = Shift+Lock+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[Lock] = Level5;
 map[Lock+Shift] = Level2;
 map[Lock+LevelThree] = Level3;
 map[Lock+Shift+LevelThree] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Shift Alt";
 level_name[Level5] = "Lock";
 };
};


partial xkb_types "keypad" {
 virtual_modifiers LevelThree;

 type "FOUR_LEVEL_KEYPAD" {
 modifiers = Shift+NumLock+LevelThree;
 map[None] = Level1;
 map[Shift] = Level2;
 map[NumLock] = Level2;
 map[Shift+NumLock] = Level1;
 map[LevelThree] = Level3;
 map[Shift+LevelThree] = Level4;
 map[NumLock+LevelThree] = Level4;
 map[Shift+NumLock+LevelThree] = Level3;
 level_name[Level1] = "Base";
 level_name[Level2] = "Number";
 level_name[Level3] = "Alt Base";
 level_name[Level4] = "Alt Number";
 };
};
