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
2346185892Smrg// Make the left Ctrl key a left Hyper,
2446185892Smrg// and the CapsLock key a left Control.
251c606da7Smrgpartial modifier_keys
2646185892Smrgxkb_symbols "hyper_capscontrol" {
271c606da7Smrg    replace key <CAPS> { [ Control_L ] };
281c606da7Smrg    replace key <LCTL> { [ Hyper_L ] };
291c606da7Smrg    modifier_map Control { <CAPS> };
3046185892Smrg    modifier_map  Mod4 { <LCTL> };
311c606da7Smrg};
321c606da7Smrg
33797b363dSmrg// Move Ctrl to the leftmost key on the middle row and CapsLock to the
34797b363dSmrg// leftmost key on the bottom row.  Only works if the geometry or keycodes
35154daed1Smrg// file has defined appropriate aliases for the keys in question.
36797b363dSmrgpartial modifier_keys
370412cdedSmrgxkb_symbols "ac_ctrl" {
38797b363dSmrg    replace key <AC00> { [ Control_L ] };
39797b363dSmrg    replace key <AA00> { [ Caps_Lock ] };
402ab00627Smrg    modifier_map  Control { <AC00> };
412ab00627Smrg    modifier_map  Lock    { <AA00> };
42154daed1Smrg};
43154daed1Smrg
44797b363dSmrg// Move Ctrl to the leftmost key on the bottom row and CapsLock to the
45797b363dSmrg// leftmost key on the middle row.  Only works if the geometry or keycodes
46154daed1Smrg// file has defined appropriate aliases for the keys in question.
47797b363dSmrgpartial modifier_keys
480412cdedSmrgxkb_symbols "aa_ctrl" {
49797b363dSmrg    replace key <AA00> { [ Control_L ] };
50797b363dSmrg    replace key <AC00> { [ Caps_Lock ] };
512ab00627Smrg    modifier_map  Control { <AA00> };
522ab00627Smrg    modifier_map  Lock    { <AC00> };
53154daed1Smrg};
54154daed1Smrg
559184b9c8Smrg// Right Ctrl functions as another right Alt.
56797b363dSmrgpartial modifier_keys
570412cdedSmrgxkb_symbols "rctrl_ralt" {
58797b363dSmrg    key <RCTL> { symbols[Group1]= [ Alt_R ] };
592ab00627Smrg    modifier_map Mod1{ <RCTL> };
60154daed1Smrg};
6147fb91feSmrg
62797b363dSmrg// Menu key functions as another right Ctrl.
6347fb91feSmrgpartial modifier_keys
640412cdedSmrgxkb_symbols "menu_rctrl" {
65797b363dSmrg    replace key <MENU> { [ Control_R, Control_R ] };
66797b363dSmrg    modifier_map Control { Control_L, <MENU> };
6747fb91feSmrg};
680412cdedSmrg
69797b363dSmrg// Right Alt key functions as another right Ctrl.
70797b363dSmrgpartial modifier_keys
710412cdedSmrgxkb_symbols "ralt_rctrl" {
72797b363dSmrg    replace key <RALT> { type[Group1] = "TWO_LEVEL",
730412cdedSmrg                         symbols[Group1] = [ Control_R, Control_R ] };
74797b363dSmrg    modifier_map Control { <RALT> };
75797b363dSmrg};
76797b363dSmrg
77797b363dSmrg// Swap the functions of the left Alt key and the left Ctrl key.
78797b363dSmrgpartial modifier_keys
79797b363dSmrgxkb_symbols "swap_lalt_lctl" {
80797b363dSmrg    replace key <LALT> { [ Control_L, Control_L ] };
81797b363dSmrg    replace key <LCTL> { [ Alt_L, Meta_L ] };
822ab00627Smrg    modifier_map Mod1    { <LCTL> };
832ab00627Smrg    modifier_map Control { <LALT> };
84797b363dSmrg};
85797b363dSmrg
86caa6d561Smrg// Swap the functions of the right Alt key and the right Ctrl key.
87caa6d561Smrgpartial modifier_keys
88caa6d561Smrgxkb_symbols "swap_ralt_rctl" {
89caa6d561Smrg    replace key <RALT> { [ Control_R, Control_R ] };
90caa6d561Smrg    replace key <RCTL> { [ Alt_R, Meta_R ] };
91caa6d561Smrg    modifier_map Mod1    { <RCTL> };
92caa6d561Smrg    modifier_map Control { <RALT> };
93caa6d561Smrg};
94caa6d561Smrg
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