summaryrefslogtreecommitdiff
path: root/symbols/ctrl
blob: 8791b491d3c02c25d54e14a49452c9450ea085bd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
// Eliminate CapsLock, making it another Ctrl.
partial modifier_keys
xkb_symbols "nocaps" {
    replace key <CAPS> { [ Control_L, Control_L ] };
    modifier_map  Control { <CAPS>, <LCTL> };
};

// Make the left Ctrl key a left Meta.
xkb_symbols "lctrl_meta" {
    replace key <LCTL> { [ Meta_L ] };
    modifier_map  Mod4 { <LCTL> };
};

// Swap the functions of the CapsLock key and the left Ctrl key.
partial modifier_keys
xkb_symbols "swapcaps" {
    replace key <CAPS> { [ Control_L ] };
    replace key <LCTL> { [ Caps_Lock ] };
    modifier_map Control { <CAPS> };
    modifier_map  Lock { <LCTL> };
};

// Move Ctrl to the leftmost key on the middle row and CapsLock to the
// leftmost key on the bottom row.  Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
partial modifier_keys
xkb_symbols "ac_ctrl" {
    replace key <AC00> { [ Control_L ] };
    replace key <AA00> { [ Caps_Lock ] };
    modifier_map  Control { <AC00> };
    modifier_map  Lock    { <AA00> };
};

// Move Ctrl to the leftmost key on the bottom row and CapsLock to the
// leftmost key on the middle row.  Only works if the geometry or keycodes
// file has defined appropriate aliases for the keys in question.
partial modifier_keys
xkb_symbols "aa_ctrl" {
    replace key <AA00> { [ Control_L ] };
    replace key <AC00> { [ Caps_Lock ] };
    modifier_map  Control { <AA00> };
    modifier_map  Lock    { <AC00> };
};

// Right Ctrl functions as another right Alt.
partial modifier_keys
xkb_symbols "rctrl_ralt" {
    key <RCTL> { symbols[Group1]= [ Alt_R ] };
    modifier_map Mod1{ <RCTL> };
};

// Menu key functions as another right Ctrl.
partial modifier_keys
xkb_symbols "menu_rctrl" {
    replace key <MENU> { [ Control_R, Control_R ] };
    modifier_map Control { Control_L, <MENU> };
};

// Right Alt key functions as another right Ctrl.
partial modifier_keys
xkb_symbols "ralt_rctrl" {
    replace key <RALT> { type[Group1] = "TWO_LEVEL",
                         symbols[Group1] = [ Control_R, Control_R ] };
    modifier_map Control { <RALT> };
};

// Swap the functions of the left Alt key and the left Ctrl key.
partial modifier_keys
xkb_symbols "swap_lalt_lctl" {
    replace key <LALT> { [ Control_L, Control_L ] };
    replace key <LCTL> { [ Alt_L, Meta_L ] };
    modifier_map Mod1    { <LCTL> };
    modifier_map Control { <LALT> };
};

// Swap the functions of the left Win key and the left Ctrl key.
partial modifier_keys
xkb_symbols "swap_lwin_lctl" {
    replace key <LWIN> { [ Control_L ] };
    replace key <LCTL> { [ Super_L ] };
    modifier_map Mod4    { <LCTL> };
    modifier_map Control { <LWIN> };
};

// Swap the functions of the right Win key and the right Ctrl key.
partial modifier_keys
xkb_symbols "swap_rwin_rctl" {
    replace key <RWIN> { [ Control_R ] };
    replace key <RCTL> { [ Super_R ] };
    modifier_map Mod4    { <RCTL> };
    modifier_map Control { <RWIN> };
};

// Map Ctrl to the left Alt key, Alt to the left Win key,
// and Super to the left Ctrl key.
partial modifier_keys
xkb_symbols "swap_lalt_lctl_lwin" {
    replace key <LALT> { [ Control_L, Control_L ] };
    replace key <LWIN> { [ Alt_L, Meta_L ] };
    replace key <LCTL> { [ Super_L ] };
    modifier_map Mod1    { <LWIN> };
    modifier_map Mod4    { <LCTL> };
    modifier_map Control { <LALT> };
};