1 // Meta is mapped to second level of Alt. 2 partial modifier_keys 3 xkb_symbols "meta_alt" { 4 key <LALT> {[ Alt_L, Meta_L ]}; 5 key <RALT> {[ Alt_R, Meta_R ], type[group1] = "TWO_LEVEL" }; 6 modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; 7 }; 8 9 // Alt is mapped to the Super and the usual Alt. 10 partial modifier_keys 11 xkb_symbols "alt_win" { 12 key <LWIN> {[ Alt_L ]}; 13 key <RWIN> {[ Alt_R ]}; 14 modifier_map Mod1 { <LWIN>, <RWIN> }; 15 }; 16 17 // Ctrl is mapped to the Super and the usual Ctrl keys. 18 partial modifier_keys 19 xkb_symbols "ctrl_win" { 20 key <LWIN> {[ Control_L ]}; 21 key <RWIN> {[ Control_R ]}; 22 modifier_map Control { <LWIN>, <RWIN> }; 23 }; 24 25 // Ctrl is mapped to the Right Super and the usual Ctrl key. 26 partial modifier_keys 27 xkb_symbols "ctrl_rwin" { 28 key <RWIN> {[ Control_R ]}; 29 modifier_map Control { <RWIN> }; 30 }; 31 32 // Ctrl is mapped to the Alt, Alt to the Super, and Win to the Ctrl keys. 33 partial modifier_keys 34 xkb_symbols "ctrl_alt_win" { 35 key <LALT> {[ Control_L, Control_L ]}; 36 key <RALT> {[ Control_R, Control_R ], type[group1] = "TWO_LEVEL" }; 37 key <LWIN> {[ Alt_L, Meta_L ]}; 38 key <RWIN> {[ Alt_R, Meta_R ]}; 39 key <LCTL> {[ Super_L ]}; 40 key <RCTL> {[ Super_R ]}; 41 modifier_map Control { <RALT>, <LALT> }; 42 modifier_map Mod1 { <LWIN>, <RWIN> }; 43 modifier_map Mod4 { <LCTL>, <RCTL> }; 44 }; 45 46 // Meta is mapped to the Super keys. 47 partial modifier_keys 48 xkb_symbols "meta_win" { 49 key <LALT> {[ Alt_L, Alt_L ]}; 50 key <RALT> {[ Alt_R, Alt_R ], type[group1] = "TWO_LEVEL" }; 51 key <LWIN> {[ Meta_L ]}; 52 key <RWIN> {[ Meta_R ]}; 53 modifier_map Mod1 { Alt_L, Alt_R }; 54 modifier_map Mod4 { <META>, Meta_L, Meta_R }; 55 }; 56 57 // Meta is mapped to the left Super key. 58 partial modifier_keys 59 xkb_symbols "left_meta_win" { 60 key <LALT> {[ Alt_L, Alt_L ]}; 61 key <LWIN> {[ Meta_L ]}; 62 modifier_map Mod1 { Alt_L }; 63 modifier_map Mod4 { <META>, Meta_L }; 64 }; 65 66 // Hyper is mapped to the Super keys. 67 partial modifier_keys 68 xkb_symbols "hyper_win" { 69 key <LWIN> {[ Hyper_L ]}; 70 key <RWIN> {[ Hyper_R ]}; 71 modifier_map Mod4 { Hyper_L, Hyper_R }; 72 }; 73 74 // Menu is mapped to the Menu key. 75 partial modifier_keys 76 xkb_symbols "menu" { 77 key <MENU> {[ Menu ]}; 78 }; 79 80 // Super is mapped to the Menu key. 81 partial modifier_keys 82 xkb_symbols "menu_win" { 83 key <MENU> {[ Super_R ]}; 84 }; 85 86 // Make the right Super key an additional Alt, 87 // and the Menu key an additional Super. 88 partial modifier_keys 89 xkb_symbols "alt_super_win" { 90 key <LALT> {[ Alt_L, Meta_L ]}; 91 key <RWIN> {[ Alt_R, Meta_R ]}; 92 key <LWIN> {[ Super_L ]}; 93 key <MENU> {[ Super_R ]}; 94 modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; 95 modifier_map Mod4 { Super_L, Super_R }; 96 }; 97 98 // Swap the left Alt and Super. 99 partial modifier_keys 100 xkb_symbols "swap_lalt_lwin" { 101 key <LALT> {[ Super_L ], type[group1] = "ONE_LEVEL" }; 102 key <LWIN> {[ Alt_L, Meta_L ]}; 103 }; 104 105 // Swap the right Alt and Super. 106 hidden partial modifier_keys 107 xkb_symbols "swap_ralt_rwin" { 108 key <RALT> {[ Super_R ], type[group1] = "ONE_LEVEL" }; 109 key <RWIN> {[ Alt_R, Meta_R ]}; 110 }; 111 112 // Swap Alt and Super. 113 partial modifier_keys 114 xkb_symbols "swap_alt_win" { 115 include "altwin(swap_lalt_lwin)" 116 include "altwin(swap_ralt_rwin)" 117 }; 118 119 // Super is mapped to the PrtSc key (and the usual Win key). 120 partial modifier_keys 121 xkb_symbols "prtsc_rwin" { 122 replace key <PRSC> {[ Super_R, Super_R ]}; 123 modifier_map Mod4 { <PRSC>, <RWIN> }; 124 }; 125