altwin revision 46185892
1// Meta is mapped to second level of Alt.
2partial modifier_keys
3xkb_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.
10partial modifier_keys
11xkb_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.
18partial modifier_keys
19xkb_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.
26partial modifier_keys
27xkb_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.
33partial modifier_keys
34xkb_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.
47partial modifier_keys
48xkb_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.
58partial modifier_keys
59xkb_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.
67partial modifier_keys
68xkb_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.
75partial modifier_keys
76xkb_symbols "menu" {
77    key <MENU> {[  Menu  ]};
78};
79
80// Super is mapped to the Menu key.
81partial modifier_keys
82xkb_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.
88partial modifier_keys
89xkb_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.
99partial modifier_keys
100xkb_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.
106hidden partial modifier_keys
107xkb_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.
113partial modifier_keys
114xkb_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).
120partial modifier_keys
121xkb_symbols "prtsc_rwin" {
122    replace key <PRSC> {[  Super_R,  Super_R  ]};
123    modifier_map Mod4 { <PRSC>, <RWIN> };
124};
125