





default partial modifier_keys
xkb_symbols "ralt_switch" {
 key <RALT> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};





partial modifier_keys
xkb_symbols "ralt_alt" {
 key <RALT> { 
 type[Group1]="TWO_LEVEL",
 type[Group2]="TWO_LEVEL",
 type[Group3]="TWO_LEVEL",
 type[Group4]="TWO_LEVEL",
 symbols[Group1] = [ Alt_R, Meta_R ], 
 symbols[Group2] = [ Alt_R, Meta_R ], 
 symbols[Group3] = [ Alt_R, Meta_R ], 
 symbols[Group4] = [ Alt_R, Meta_R ]
 };
 modifier_map Mod1 { <RALT> };
};

partial modifier_keys
xkb_symbols "ralt_switch_multikey" {
 key <RALT> {
 type[Group1]="TWO_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift, Multi_key ]
 };
};



partial hidden modifier_keys
xkb_symbols "ralt_switch_for_alts_toggle" {
 virtual_modifiers LAlt, AlGr;
 key <LALT> {
 type[Group1]="PC_RALT_LEVEL2",
 symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ],
 virtualMods= LAlt
 };
 key <RALT> {
 type[Group1]="PC_ALT_LEVEL2",
 symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ],
 virtualMods= AltGr
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};



partial modifier_keys
xkb_symbols "alt_switch" {
 include "level3(lalt_switch)"
 include "level3(ralt_switch)"
};

partial modifier_keys
xkb_symbols "lalt_switch" {
 key <LALT> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { <LALT> };
};



partial modifier_keys
xkb_symbols "switch" {
 key <RCTL> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};



partial modifier_keys
xkb_symbols "menu_switch" {
 key <MENU> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};



partial modifier_keys
xkb_symbols "win_switch" {
 include "level3(lwin_switch)"
 include "level3(rwin_switch)"
};



partial modifier_keys
xkb_symbols "lwin_switch" {
 key <LWIN> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};





partial modifier_keys
xkb_symbols "rwin_switch" {
 key <RWIN> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};




partial modifier_keys
xkb_symbols "enter_switch" {
 key <KPEN> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "caps_switch" {
 key <CAPS> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "bksl_switch" {
 key <BKSL> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "lsgt_switch" {
 key <LSGT> {
 type[Group1]="ONE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "caps_switch_latch" {
 key <CAPS> {
 type[Group1]="THREE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "bksl_switch_latch" {
 key <BKSL> {
 type[Group1]="THREE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};

partial modifier_keys
xkb_symbols "lsgt_switch_latch" {
 key <LSGT> {
 type[Group1]="THREE_LEVEL",
 symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ]
 };
 modifier_map Mod5 { ISO_Level3_Shift };
};
