ctrl revision 46185892
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
86797b363dSmrg// Swap the functions of the left Win key and the left Ctrl key.
87797b363dSmrgpartial modifier_keys
88797b363dSmrgxkb_symbols "swap_lwin_lctl" {
89797b363dSmrg    replace key <LWIN> { [ Control_L ] };
90797b363dSmrg    replace key <LCTL> { [ Super_L ] };
912ab00627Smrg    modifier_map Mod4    { <LCTL> };
922ab00627Smrg    modifier_map Control { <LWIN> };
93797b363dSmrg};
94797b363dSmrg
9521fe479eSmrg// Swap the functions of the right Win key and the right Ctrl key.
9621fe479eSmrgpartial modifier_keys
9721fe479eSmrgxkb_symbols "swap_rwin_rctl" {
9821fe479eSmrg    replace key <RWIN> { [ Control_R ] };
9921fe479eSmrg    replace key <RCTL> { [ Super_R ] };
1002ab00627Smrg    modifier_map Mod4    { <RCTL> };
1012ab00627Smrg    modifier_map Control { <RWIN> };
10221fe479eSmrg};
10321fe479eSmrg
104797b363dSmrg// Map Ctrl to the left Alt key, Alt to the left Win key,
105797b363dSmrg// and Super to the left Ctrl key.
106797b363dSmrgpartial modifier_keys
107797b363dSmrgxkb_symbols "swap_lalt_lctl_lwin" {
108797b363dSmrg    replace key <LALT> { [ Control_L, Control_L ] };
109797b363dSmrg    replace key <LWIN> { [ Alt_L, Meta_L ] };
110797b363dSmrg    replace key <LCTL> { [ Super_L ] };
1112ab00627Smrg    modifier_map Mod1    { <LWIN> };
1122ab00627Smrg    modifier_map Mod4    { <LCTL> };
1132ab00627Smrg    modifier_map Control { <LALT> };
1140412cdedSmrg};
115