1 1.1.1.10 mrg // Eliminate CapsLock, making it another Ctrl. 2 1.1.1.10 mrg partial modifier_keys 3 1.1 mrg xkb_symbols "nocaps" { 4 1.1.1.10 mrg replace key <CAPS> { [ Control_L, Control_L ] }; 5 1.1 mrg modifier_map Control { <CAPS>, <LCTL> }; 6 1.1 mrg }; 7 1.1 mrg 8 1.1.1.10 mrg // Make the left Ctrl key a left Meta. 9 1.1.1.7 mrg xkb_symbols "lctrl_meta" { 10 1.1.1.10 mrg replace key <LCTL> { [ Meta_L ] }; 11 1.1.1.13 mrg modifier_map Mod4 { <LCTL> }; 12 1.1.1.7 mrg }; 13 1.1.1.7 mrg 14 1.1.1.10 mrg // Swap the functions of the CapsLock key and the left Ctrl key. 15 1.1.1.10 mrg partial modifier_keys 16 1.1 mrg xkb_symbols "swapcaps" { 17 1.1.1.10 mrg replace key <CAPS> { [ Control_L ] }; 18 1.1.1.10 mrg replace key <LCTL> { [ Caps_Lock ] }; 19 1.1.1.13 mrg modifier_map Control { <CAPS> }; 20 1.1.1.13 mrg modifier_map Lock { <LCTL> }; 21 1.1 mrg }; 22 1.1 mrg 23 1.1.1.15 mrg // Make the left Ctrl key a left Hyper, 24 1.1.1.15 mrg // and the CapsLock key a left Control. 25 1.1.1.14 mrg partial modifier_keys 26 1.1.1.15 mrg xkb_symbols "hyper_capscontrol" { 27 1.1.1.14 mrg replace key <CAPS> { [ Control_L ] }; 28 1.1.1.14 mrg replace key <LCTL> { [ Hyper_L ] }; 29 1.1.1.14 mrg modifier_map Control { <CAPS> }; 30 1.1.1.15 mrg modifier_map Mod4 { <LCTL> }; 31 1.1.1.14 mrg }; 32 1.1.1.14 mrg 33 1.1.1.10 mrg // Move Ctrl to the leftmost key on the middle row and CapsLock to the 34 1.1.1.10 mrg // leftmost key on the bottom row. Only works if the geometry or keycodes 35 1.1 mrg // file has defined appropriate aliases for the keys in question. 36 1.1.1.10 mrg partial modifier_keys 37 1.1.1.9 mrg xkb_symbols "ac_ctrl" { 38 1.1.1.10 mrg replace key <AC00> { [ Control_L ] }; 39 1.1.1.10 mrg replace key <AA00> { [ Caps_Lock ] }; 40 1.1.1.13 mrg modifier_map Control { <AC00> }; 41 1.1.1.13 mrg modifier_map Lock { <AA00> }; 42 1.1 mrg }; 43 1.1 mrg 44 1.1.1.10 mrg // Move Ctrl to the leftmost key on the bottom row and CapsLock to the 45 1.1.1.10 mrg // leftmost key on the middle row. Only works if the geometry or keycodes 46 1.1 mrg // file has defined appropriate aliases for the keys in question. 47 1.1.1.10 mrg partial modifier_keys 48 1.1.1.9 mrg xkb_symbols "aa_ctrl" { 49 1.1.1.10 mrg replace key <AA00> { [ Control_L ] }; 50 1.1.1.10 mrg replace key <AC00> { [ Caps_Lock ] }; 51 1.1.1.13 mrg modifier_map Control { <AA00> }; 52 1.1.1.13 mrg modifier_map Lock { <AC00> }; 53 1.1 mrg }; 54 1.1 mrg 55 1.1.1.12 mrg // Right Ctrl functions as another right Alt. 56 1.1.1.10 mrg partial modifier_keys 57 1.1.1.9 mrg xkb_symbols "rctrl_ralt" { 58 1.1.1.10 mrg key <RCTL> { symbols[Group1]= [ Alt_R ] }; 59 1.1.1.13 mrg modifier_map Mod1{ <RCTL> }; 60 1.1 mrg }; 61 1.1.1.6 mrg 62 1.1.1.10 mrg // Menu key functions as another right Ctrl. 63 1.1.1.6 mrg partial modifier_keys 64 1.1.1.9 mrg xkb_symbols "menu_rctrl" { 65 1.1.1.10 mrg replace key <MENU> { [ Control_R, Control_R ] }; 66 1.1.1.10 mrg modifier_map Control { Control_L, <MENU> }; 67 1.1.1.6 mrg }; 68 1.1.1.9 mrg 69 1.1.1.10 mrg // Right Alt key functions as another right Ctrl. 70 1.1.1.10 mrg partial modifier_keys 71 1.1.1.9 mrg xkb_symbols "ralt_rctrl" { 72 1.1.1.10 mrg replace key <RALT> { type[Group1] = "TWO_LEVEL", 73 1.1.1.9 mrg symbols[Group1] = [ Control_R, Control_R ] }; 74 1.1.1.10 mrg modifier_map Control { <RALT> }; 75 1.1.1.10 mrg }; 76 1.1.1.10 mrg 77 1.1.1.10 mrg // Swap the functions of the left Alt key and the left Ctrl key. 78 1.1.1.10 mrg partial modifier_keys 79 1.1.1.10 mrg xkb_symbols "swap_lalt_lctl" { 80 1.1.1.10 mrg replace key <LALT> { [ Control_L, Control_L ] }; 81 1.1.1.10 mrg replace key <LCTL> { [ Alt_L, Meta_L ] }; 82 1.1.1.13 mrg modifier_map Mod1 { <LCTL> }; 83 1.1.1.13 mrg modifier_map Control { <LALT> }; 84 1.1.1.10 mrg }; 85 1.1.1.10 mrg 86 1.1.1.16 mrg // Swap the functions of the right Alt key and the right Ctrl key. 87 1.1.1.16 mrg partial modifier_keys 88 1.1.1.16 mrg xkb_symbols "swap_ralt_rctl" { 89 1.1.1.16 mrg replace key <RALT> { [ Control_R, Control_R ] }; 90 1.1.1.16 mrg replace key <RCTL> { [ Alt_R, Meta_R ] }; 91 1.1.1.16 mrg modifier_map Mod1 { <RCTL> }; 92 1.1.1.16 mrg modifier_map Control { <RALT> }; 93 1.1.1.16 mrg }; 94 1.1.1.16 mrg 95 1.1.1.10 mrg // Swap the functions of the left Win key and the left Ctrl key. 96 1.1.1.10 mrg partial modifier_keys 97 1.1.1.10 mrg xkb_symbols "swap_lwin_lctl" { 98 1.1.1.10 mrg replace key <LWIN> { [ Control_L ] }; 99 1.1.1.10 mrg replace key <LCTL> { [ Super_L ] }; 100 1.1.1.13 mrg modifier_map Mod4 { <LCTL> }; 101 1.1.1.13 mrg modifier_map Control { <LWIN> }; 102 1.1.1.10 mrg }; 103 1.1.1.10 mrg 104 1.1.1.11 mrg // Swap the functions of the right Win key and the right Ctrl key. 105 1.1.1.11 mrg partial modifier_keys 106 1.1.1.11 mrg xkb_symbols "swap_rwin_rctl" { 107 1.1.1.11 mrg replace key <RWIN> { [ Control_R ] }; 108 1.1.1.11 mrg replace key <RCTL> { [ Super_R ] }; 109 1.1.1.13 mrg modifier_map Mod4 { <RCTL> }; 110 1.1.1.13 mrg modifier_map Control { <RWIN> }; 111 1.1.1.11 mrg }; 112 1.1.1.11 mrg 113 1.1.1.10 mrg // Map Ctrl to the left Alt key, Alt to the left Win key, 114 1.1.1.10 mrg // and Super to the left Ctrl key. 115 1.1.1.10 mrg partial modifier_keys 116 1.1.1.10 mrg xkb_symbols "swap_lalt_lctl_lwin" { 117 1.1.1.10 mrg replace key <LALT> { [ Control_L, Control_L ] }; 118 1.1.1.10 mrg replace key <LWIN> { [ Alt_L, Meta_L ] }; 119 1.1.1.10 mrg replace key <LCTL> { [ Super_L ] }; 120 1.1.1.13 mrg modifier_map Mod1 { <LWIN> }; 121 1.1.1.13 mrg modifier_map Mod4 { <LCTL> }; 122 1.1.1.13 mrg modifier_map Control { <LALT> }; 123 1.1.1.9 mrg }; 124