// eliminate the caps lock key completely (replace with control)
partial modifier_keys 
xkb_symbols "nocaps" {
    replace key <CAPS>	{  [ Control_L, Control_L ] };
    modifier_map  Control { <CAPS>, <LCTL> };
};

// replace left control with Meta
xkb_symbols "lctrl_meta" {
    replace key <LCTL>	{  [ Meta_L ] };
};

// swap the caps lock key with the left control key
partial modifier_keys 
xkb_symbols "swapcaps" {
    replace key <CAPS>	{  [ Control_L ] };
    replace key <LCTL>	{  [ Caps_Lock ] };
};

// moves the control key to the middle row and the caps lock
// to 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 "ctrl_ac" {
    replace key <AC00>	{  [ Control_L ] };
    replace key <AA00>	{  [ Caps_Lock ] };
};

// Moves the control key to the bottom row and the caps lock
// to 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 "ctrl_aa" {
    replace key <AA00>	{  [ Control_L ] };
    replace key <AC00>	{  [ Caps_Lock ] };
};

// Right Ctrl works as Right Alt
partial modifier_keys 
xkb_symbols "ctrl_ra" {
    key <RCTL>	{  symbols[Group1]= [ Alt_R ] };
};

// Menu works as Right Ctrl
partial modifier_keys
xkb_symbols "ctrl_menu" {
  replace key <MENU> { [ Control_R, Control_R ] };
  modifier_map Control { Control_L, <MENU> };
};
