ctrl revision 1c606da7
1797b363dSmrg// Eliminate CapsLock, making it another Ctrl. 2797b363dSmrgpartial modifier_keys 3154daed1Smrgxkb_symbols "nocaps" { 4797b363dSmrg replace key <CAPS> { [ Control_L, Control_L ] }; 5154daed1Smrg modifier_map Control { <CAPS>, <LCTL> }; 6154daed1Smrg}; 7154daed1Smrg 8797b363dSmrg// Make the left Ctrl key a left Meta. 9da6c6c0bSmrgxkb_symbols "lctrl_meta" { 10797b363dSmrg replace key <LCTL> { [ Meta_L ] }; 112ab00627Smrg modifier_map Mod4 { <LCTL> }; 12da6c6c0bSmrg}; 13da6c6c0bSmrg 14797b363dSmrg// Swap the functions of the CapsLock key and the left Ctrl key. 15797b363dSmrgpartial modifier_keys 16154daed1Smrgxkb_symbols "swapcaps" { 17797b363dSmrg replace key <CAPS> { [ Control_L ] }; 18797b363dSmrg replace key <LCTL> { [ Caps_Lock ] }; 192ab00627Smrg modifier_map Control { <CAPS> }; 202ab00627Smrg modifier_map Lock { <LCTL> }; 21154daed1Smrg}; 22154daed1Smrg 231c606da7Smrg// Swap the functions of the CapsLock key and the left Ctrl key, 241c606da7Smrg// but make the Ctrl key a 'Hyper' modifier 251c606da7Smrgpartial modifier_keys 261c606da7Smrgxkb_symbols "swapcaps_hyper" { 271c606da7Smrg replace key <CAPS> { [ Control_L ] }; 281c606da7Smrg replace key <LCTL> { [ Hyper_L ] }; 291c606da7Smrg modifier_map Control { <CAPS> }; 301c606da7Smrg modifier_map Mod3 { <LCTL> }; 311c606da7Smrg}; 321c606da7Smrg 331c606da7Smrg// Set CapsLock to left Ctrl and left Ctrl to switch layout. 341c606da7Smrgpartial modifier_keys 351c606da7Smrgxkb_symbols "swapcaps_and_switch_layout" { 361c606da7Smrg replace key <CAPS> { [ Control_L ] }; 371c606da7Smrg replace key <LCTL> { [ ISO_Next_Group ] }; 381c606da7Smrg modifier_map Control { <CAPS> }; 391c606da7Smrg modifier_map Lock { <LCTL> }; 401c606da7Smrg}; 411c606da7Smrg 42797b363dSmrg// Move Ctrl to the leftmost key on the middle row and CapsLock to the 43797b363dSmrg// leftmost key on the bottom row. Only works if the geometry or keycodes 44154daed1Smrg// file has defined appropriate aliases for the keys in question. 45797b363dSmrgpartial modifier_keys 460412cdedSmrgxkb_symbols "ac_ctrl" { 47797b363dSmrg replace key <AC00> { [ Control_L ] }; 48797b363dSmrg replace key <AA00> { [ Caps_Lock ] }; 492ab00627Smrg modifier_map Control { <AC00> }; 502ab00627Smrg modifier_map Lock { <AA00> }; 51154daed1Smrg}; 52154daed1Smrg 53797b363dSmrg// Move Ctrl to the leftmost key on the bottom row and CapsLock to the 54797b363dSmrg// leftmost key on the middle row. Only works if the geometry or keycodes 55154daed1Smrg// file has defined appropriate aliases for the keys in question. 56797b363dSmrgpartial modifier_keys 570412cdedSmrgxkb_symbols "aa_ctrl" { 58797b363dSmrg replace key <AA00> { [ Control_L ] }; 59797b363dSmrg replace key <AC00> { [ Caps_Lock ] }; 602ab00627Smrg modifier_map Control { <AA00> }; 612ab00627Smrg modifier_map Lock { <AC00> }; 62154daed1Smrg}; 63154daed1Smrg 649184b9c8Smrg// Right Ctrl functions as another right Alt. 65797b363dSmrgpartial modifier_keys 660412cdedSmrgxkb_symbols "rctrl_ralt" { 67797b363dSmrg key <RCTL> { symbols[Group1]= [ Alt_R ] }; 682ab00627Smrg modifier_map Mod1{ <RCTL> }; 69154daed1Smrg}; 7047fb91feSmrg 71797b363dSmrg// Menu key functions as another right Ctrl. 7247fb91feSmrgpartial modifier_keys 730412cdedSmrgxkb_symbols "menu_rctrl" { 74797b363dSmrg replace key <MENU> { [ Control_R, Control_R ] }; 75797b363dSmrg modifier_map Control { Control_L, <MENU> }; 7647fb91feSmrg}; 770412cdedSmrg 78797b363dSmrg// Right Alt key functions as another right Ctrl. 79797b363dSmrgpartial modifier_keys 800412cdedSmrgxkb_symbols "ralt_rctrl" { 81797b363dSmrg replace key <RALT> { type[Group1] = "TWO_LEVEL", 820412cdedSmrg symbols[Group1] = [ Control_R, Control_R ] }; 83797b363dSmrg modifier_map Control { <RALT> }; 84797b363dSmrg}; 85797b363dSmrg 86797b363dSmrg// Swap the functions of the left Alt key and the left Ctrl key. 87797b363dSmrgpartial modifier_keys 88797b363dSmrgxkb_symbols "swap_lalt_lctl" { 89797b363dSmrg replace key <LALT> { [ Control_L, Control_L ] }; 90797b363dSmrg replace key <LCTL> { [ Alt_L, Meta_L ] }; 912ab00627Smrg modifier_map Mod1 { <LCTL> }; 922ab00627Smrg modifier_map Control { <LALT> }; 93797b363dSmrg}; 94797b363dSmrg 95797b363dSmrg// Swap the functions of the left Win key and the left Ctrl key. 96797b363dSmrgpartial modifier_keys 97797b363dSmrgxkb_symbols "swap_lwin_lctl" { 98797b363dSmrg replace key <LWIN> { [ Control_L ] }; 99797b363dSmrg replace key <LCTL> { [ Super_L ] }; 1002ab00627Smrg modifier_map Mod4 { <LCTL> }; 1012ab00627Smrg modifier_map Control { <LWIN> }; 102797b363dSmrg}; 103797b363dSmrg 10421fe479eSmrg// Swap the functions of the right Win key and the right Ctrl key. 10521fe479eSmrgpartial modifier_keys 10621fe479eSmrgxkb_symbols "swap_rwin_rctl" { 10721fe479eSmrg replace key <RWIN> { [ Control_R ] }; 10821fe479eSmrg replace key <RCTL> { [ Super_R ] }; 1092ab00627Smrg modifier_map Mod4 { <RCTL> }; 1102ab00627Smrg modifier_map Control { <RWIN> }; 11121fe479eSmrg}; 11221fe479eSmrg 113797b363dSmrg// Map Ctrl to the left Alt key, Alt to the left Win key, 114797b363dSmrg// and Super to the left Ctrl key. 115797b363dSmrgpartial modifier_keys 116797b363dSmrgxkb_symbols "swap_lalt_lctl_lwin" { 117797b363dSmrg replace key <LALT> { [ Control_L, Control_L ] }; 118797b363dSmrg replace key <LWIN> { [ Alt_L, Meta_L ] }; 119797b363dSmrg replace key <LCTL> { [ Super_L ] }; 1202ab00627Smrg modifier_map Mod1 { <LWIN> }; 1212ab00627Smrg modifier_map Mod4 { <LCTL> }; 1222ab00627Smrg modifier_map Control { <LALT> }; 1230412cdedSmrg}; 124