-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmirrorboard.xkb
90 lines (75 loc) · 3.26 KB
/
mirrorboard.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
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
// Mirrorboard Colemak one-hand keymapping
// This is a keymapping for occasional left-handed typing.
// Run it with
// xkbcomp mirrorboard.xkb $DISPLAY
// (optionally, 2>/dev/null -- it prints a lot of warnings)
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us(colemak)+inet(evdev)+compose(menu)"
// Here's the line to make left alt into the modifier key.
key <LALT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] };
// To make caps the modifier
// key <CAPS> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ ISO_Level3_Shift ] };
// caps is esc, alt-caps is return
key <CAPS> { [ Escape, Escape, Return ] };
key <TAB> { [ Tab, ISO_Left_Tab, BackSpace, BackSpace ] };
// If you want the keyboard to be exactly the same as your
// old one when not using caps, swap the order here -- you
// can decide if you want tilde or caps-tilde to be backspace.
// Keeps keyboard normal, caps-tilde is backspace:
key <TLDE> { [ grave, asciitilde, BackSpace ] };
// Tilde is backspace:
// key <TLDE> { [ BackSpace, asciitilde, grave, asciitilde ] };
// The important alpha mappings.
key <AD01> { [ q, Q, semicolon, colon ] };
key <AD02> { [ w, W, y, Y ] };
key <AD03> { [ f, F, u, U ] };
key <AD04> { [ p, P, l, L ] };
key <AD05> { [ g, G, j, J ] };
key <AD06> { [ j, J, bracketleft, braceleft ] };
key <AD07> { [ l, L, bracketright, braceright ] };
key <AD08> { [ u, U ] };
key <AD09> { [ y, Y ] };
key <AD10> { [ semicolon, colon ] };
key <AD11> { [ bracketleft, braceleft ] };
key <AD12> { [ bracketright, braceright ] };
key <AC01> { [ a, A, o, O ] };
key <AC02> { [ r, R, i, I ] };
key <AC03> { [ s, S, e, E ] };
key <AC04> { [ t, T, n, N ] };
key <AC05> { [ d, D, h, H ] };
key <AC06> { [ h, H, apostrophe, quotedbl ] };
key <AC07> { [ n, N, backslash, bar ] };
key <AC08> { [ e, E ] };
key <AC09> { [ i, I ] };
key <AC10> { [ o, O ] };
key <AC11> { [ apostrophe, quotedbl ] };
key <AC12> { [ backslash, bar ] };
key <LSGT> { [ grave, asciitilde, Return ] };
key <AB01> { [ z, Z, slash, question ] };
key <AB02> { [ x, X, period, greater ] };
key <AB03> { [ c, C, comma, less ] };
key <AB04> { [ v, V, m, M ] };
key <AB05> { [ b, B, k, K ] };
key <AB06> { [ k, K ] };
key <AB07> { [ m, M ] };
key <AB08> { [ comma, less ] };
key <AB09> { [ period, greater ] };
key <AB10> { [ slash, question ] };
key <AE01> { [ 1, exclam, 0, parenleft ] };
key <AE02> { [ 2, at, 9, parenright ] };
key <AE03> { [ 3, numbersign, 8, asterisk ] };
key <AE04> { [ 4, dollar, 7, ampersand ] };
key <AE05> { [ 5, percent, 6, asciicircum ] };
key <AE06> { [ 6, asciicircum, minus, underscore ] };
key <AE07> { [ 7, ampersand, equal, plus ] };
key <AE08> { [ 8, asterisk ] };
key <AE09> { [ 9, parenleft ] };
key <AE10> { [ 0, parenright ] };
key <AE11> { [ minus, underscore ] };
key <AE12> { [ equal, plus ] };
};
xkb_geometry { include "pc(pc105)" };
};