xkb_types "custom" { virtual_modifiers Hyper,NumLock,Alt,LevelThree,LAlt,RAlt,RControl,LControl,ScrollLock,LevelFive,AltGr,Meta,Super,Mode_switch; type "ALPHABETIC" { modifiers= Shift; map[Shift]= Level2; level_name[Level1]= "Base"; level_name[Level2]= "Caps"; }; type "ONE_LEVEL" { modifiers = none; level_name[Level1] = "Any"; }; type "SHIFTABLE_TWO_LEVEL" { modifiers = Shift; map[Shift] = Level2; level_name[Level1] = "Base"; level_name[Level2] = "Shift"; }; type "CTRL_ALT" { modifiers = Control+Alt; map[Control] = Level2; preserve[Control] = Control; map[Alt] = Level3; preserve[Alt] = Alt; map[Control+Alt] = Level4; level_name[Level1] = "Base"; level_name[Level2] = "Ctrl"; level_name[Level3] = "Alt"; level_name[Level4] = "Ctrl_Alt"; }; //# For F keys and virtual terminals type "CTRL_AND_ALT" { modifiers = Control+Alt; map[Control+Alt] = Level2; level_name[Level1] = "Base"; level_name[Level2] = "Ctrl+Alt"; }; //# Keyboard mouse keys type "ALPHABETIC_WITH_MOUSE" { modifiers = Shift+Mode_switch; map[Shift] = Level2; map[Mode_switch] = Level3; level_name[Level1] = "Base"; level_name[Level2] = "Caps"; level_name[Level3] = "Mouse"; }; };