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