// Eliminate CapsLock, making it another Ctrl. partial modifier_keys xkb_symbols "nocaps" { replace key { [ Control_L ], type[group1] = "ONE_LEVEL" }; modifier_map Control { }; }; // Make the left Ctrl key a left Meta. xkb_symbols "lctrl_meta" { replace key { [ Meta_L ] }; modifier_map Mod4 { }; }; // Swap the functions of the CapsLock key and the left Ctrl key. partial modifier_keys xkb_symbols "swapcaps" { replace key { [ Control_L ], type[group1] = "ONE_LEVEL" }; replace key { [ Caps_Lock ] }; modifier_map Control { }; modifier_map Lock { }; }; // Make the left Ctrl key a left Hyper, // and the CapsLock key a left Control. partial modifier_keys xkb_symbols "hyper_capscontrol" { replace key { [ Control_L ], type[group1] = "ONE_LEVEL" }; replace key { [ Hyper_L ] }; modifier_map Control { }; modifier_map Mod4 { }; }; // Swap the functions of the CapsLock key and the left Ctrl key. // Pressing the left Ctrl key switches to the next group. partial modifier_keys xkb_symbols "grouptoggle_capscontrol" { include "ctrl(swapcaps)" include "group(lctrl_toggle)" }; // Move Ctrl to the leftmost key on the middle row and CapsLock to the // leftmost key on the bottom row. Only works if the geometry or keycodes // file has defined appropriate aliases for the keys in question. partial modifier_keys xkb_symbols "ac_ctrl" { replace key { [ Control_L ], type[group1] = "ONE_LEVEL" }; replace key { [ Caps_Lock ] }; modifier_map Control { }; modifier_map Lock { }; }; // Move Ctrl to the leftmost key on the bottom row and CapsLock to the // leftmost key on the middle row. Only works if the geometry or keycodes // file has defined appropriate aliases for the keys in question. partial modifier_keys xkb_symbols "aa_ctrl" { replace key { [ Control_L ] }; replace key { [ Caps_Lock ] }; modifier_map Control { }; modifier_map Lock { }; }; // Right Ctrl functions as another right Alt. partial modifier_keys xkb_symbols "rctrl_ralt" { key { [ Alt_R ] }; modifier_map Mod1 { }; }; // Menu key functions as another right Ctrl. partial modifier_keys xkb_symbols "menu_rctrl" { key { [ Control_R ] }; modifier_map Control { }; }; // Right Alt key functions as another right Ctrl. partial modifier_keys xkb_symbols "ralt_rctrl" { replace key { [ Control_R, Control_R ], type[group1] = "TWO_LEVEL" }; modifier_map Control { }; }; // Swap the functions of the left Alt key and the left Ctrl key. partial modifier_keys xkb_symbols "swap_lalt_lctl" { replace key { [ Control_L, Control_L ] }; replace key { [ Alt_L, Meta_L ] }; modifier_map Mod1 { }; modifier_map Control { }; }; // Swap the functions of the right Alt key and the right Ctrl key. partial modifier_keys xkb_symbols "swap_ralt_rctl" { replace key { [ Control_R, Control_R ] }; replace key { [ Alt_R, Meta_R ] }; modifier_map Mod1 { }; modifier_map Control { }; }; // Swap the functions of the left Win key and the left Ctrl key. partial modifier_keys xkb_symbols "swap_lwin_lctl" { replace key { [ Control_L ] }; replace key { [ Super_L ] }; modifier_map Mod4 { }; modifier_map Control { }; }; // Swap the functions of the right Win key and the right Ctrl key. partial modifier_keys xkb_symbols "swap_rwin_rctl" { replace key { [ Control_R ] }; replace key { [ Super_R ] }; modifier_map Mod4 { }; modifier_map Control { }; }; // Map Ctrl to the left Alt key, Alt to the left Win key, // and Super to the left Ctrl key. partial modifier_keys xkb_symbols "swap_lalt_lctl_lwin" { replace key { [ Control_L, Control_L ] }; replace key { [ Alt_L, Meta_L ] }; replace key { [ Super_L ] }; modifier_map Mod1 { }; modifier_map Mod4 { }; modifier_map Control { }; };