-
Notifications
You must be signed in to change notification settings - Fork 0
/
.xkeymap.xkb
59 lines (55 loc) · 1.92 KB
/
.xkeymap.xkb
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
// This is the layout for the generic pc keyboard
// (tested on ThinkPad Carbon X1 6th Gen internal keyboard)
//
// It changes next keys:
// - key Alt is not act as Ctrl
// - key Win is not act as Alt
// - key Ctrl is not act as Win
// It was done because of readline bindings
//
// As usual, archlinux wiki has extensive description [1].
//
// [1]: https://wiki.archlinux.org/title/Xorg/Keyboard_configuration
//
// Note, to reload do not forget to pass the display:
//
// xkbcomp ~/.xkeymap.xkb :0
//
// And to see the key code you can use xev.
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compatibility { include "complete" };
xkb_symbols {
# setxkbmap us,ru -option grp:caps_toggle -print
include "pc"
include "us"
include "ru:2"
include "inet(evdev)"
include "group(caps_toggle)"
// replace is required, otherwise modifier_map will not do what I want
replace key <LCTL> { [ Super_L ] };
replace key <LALT> { [ Control_L ] };
replace key <RCTL> { [ Super_R ] };
replace key <RALT> { [ Control_R ] };
replace key <LWIN> { [ Alt_L ] };
replace key <RWIN> { [ Super_R ] };
replace key <ALT> { [ Control_L ] };
replace key <SUPR> { [ Alt_L ] };
modifier_map Mod1 { <LWIN> };
modifier_map Mod1 { <RWIN> };
modifier_map Mod1 { <SUPR> };
modifier_map Mod4 { <LCTL> };
modifier_map Mod4 { <RCTL> };
modifier_map Control { <LALT> };
modifier_map Control { <RALT> };
modifier_map Control { <ALT> };
// NOTE: order is important, this should be done *after* modifier_map/replace,
// othewise will not work.
include "level3(ralt_switch)"
// NOTE: do not use eurosign(e) since this will break C-E:
// - readline go to end-of-line
// - fzf edit before execute
include "eurosign(5)"
};
};