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] = "AltGr";
 level_name[Level4] = "Shift AltGr";
 };

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

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

 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] = "Shift/Numlock";
 level_name[Level3] = "AltGr";
 level_name[Level4] = "Shift/Numlock AltGr";
 };

 
 
 
 type "FOUR_LEVEL_MIXED_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] = Level3;
 map[Shift+NumLock+LevelThree] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Number";
 level_name[Level3] = "AltGr";
 level_name[Level4] = "Shift AltGr";
 };

 
 type "FOUR_LEVEL_X" {
 modifiers = Shift + LevelThree + Control + Alt;
 map[None] = Level1;
 map[Shift] = Level1;
 map[LevelThree] = Level2;
 map[Shift+LevelThree] = Level3;
 map[Control+Alt] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "AltGr";
 level_name[Level3] = "Shift AltGr";
 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[Shift+Lock+LevelThree] = Level3;
 preserve[Lock] = Lock;
 preserve[Lock+LevelThree] = Lock;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "AltGr";
 level_name[Level4] = "Caps / 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[Shift+Lock] = Level2;
 map[Lock+LevelThree] = Level3;
 map[Shift+Lock+LevelThree] = Level4;
 level_name[Level1] = "Base";
 level_name[Level2] = "Shift";
 level_name[Level3] = "AltGr";
 level_name[Level4] = "Shift AltGr";
 level_name[Level5] = "Lock";
 };
};
