-
Notifications
You must be signed in to change notification settings - Fork 0
/
keymap.conf
108 lines (96 loc) · 3.4 KB
/
keymap.conf
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
105
106
107
108
# This file specifies the key correspondences to letters and symbols
# It is designed to be somewhat keyboard independent by using the buttons' psitions on the numpad
# The mapping between button position and actual input signal is defined in a separate file
# The coordinates are expressed as row:column, where row starts at the bottom of the numpad.
# This design decision was chosen because some numpads have extra rows on the top, but should remain fairly consistent for the bottom rows.
# Rows and columns are 1 indexed.
# Thus, the '0' key on the numpad will most likely be (1,1)
# SMOD keys are "sticky modifiers" they can be pressed and released, but will act like they are still pressed
# Useful to avoid key-chords that are too large for the input device to handle, especially for shift and control combinations with letters that have 2 or more keys pressed
# MOD keys are not sticky, which means they must be held to activate their effects. However, unlike normal keys, they do not have to occur within the chordTime to be combined with other keys
# This allows the key to continue to be pressed and used. For example, by pressing and holding the [NUM] key multiple digit numbers can be entered.
##################################
# Define the standard modifier keys
SMOD[C] (1,1)
[C] = KEY_LEFTCTRL
SMOD[A] (1,2)
[A] = KEY_LEFTALT
SMOD[S] (2,1)
[S] = KEY_LEFTSHIFT
# Define special modifier keys
# These are specially defined keys that behave similar to modifiers; however, their effects must be specifically defined below unlike the standard modifiers
MOD[NUM] (1,3)
[NUM] = # Don't do anything when [NUM] is pressed by itself
MOD[SPC] (1,4)
[SPC] = KEY_SPACE
# The letters
(3,1) = KEY_A
(3,2)+(3,4) = KEY_B
(3,3)+(4,4) = KEY_C
(3,3) = KEY_D
(3,4) = KEY_E
(4,1) = KEY_F
(3,4)+(4,3) = KEY_G
(4,2)+(4,3) = KEY_H
(4,3) = KEY_I
(3,4)+(4,2) = KEY_J
(3,2)+(4,3) = KEY_K
(3,2)+(3,3) = KEY_L
(3,3)+(4,2) = KEY_M
(3,2) = KEY_N
(4,3)+(4,4) = KEY_O
(4,2)+(4,4) = KEY_P
(4,1)+(4,3) = KEY_Q
(3,3)+(3,4) = KEY_R
(4,2) = KEY_S
(4,4) = KEY_T
(4,1)+(4,2) = KEY_U
(3,2)+(4,1) = KEY_V
(3,1)+(4,2) = KEY_W
(3,2)+(4,4) = KEY_X
(3,1)+(3,2) = KEY_Y
(3,1)+(3,3) = KEY_Z
# Other special-modifier-free keys
(2,2) = KEY_COMMA
(2,3) = KEY_DOT
(2,2)+(2,3) = KEY_SEMICOLON
(5,2) = KEY_TAB
(5,3) = KEY_ESC
(5,4) = KEY_BACKSPACE
[S]+(2,2) = KEY_LEFTSHIFT+KEY_SLASH
[S]+(2,3) = KEY_LEFTSHIFT+KEY_1
[S]+(5,4) = KEY_DELETE
# Symbols using the [NUM] modifier
# NOTE: These will behave like the upper number keys on the keyboard as in [S]+[NUM]+1 = !, [S]+[NUM]+2 = @, etc.
[NUM]+(3,1) = KEY_1
[NUM]+(3,2) = KEY_2
[NUM]+(3,3) = KEY_3
[NUM]+(3,4) = KEY_4
[NUM]+(4,1) = KEY_5
[NUM]+(4,2) = KEY_6
[NUM]+(4,3) = KEY_7
[NUM]+(4,4) = KEY_8
[NUM]+(5,2) = KEY_9
[NUM]+(5,3) = KEY_0
[NUM]+(2,2) = KEY_MINUS
[NUM]+(2,3) = KEY_EQUAL
# Keys using the [SPC] modifier
[SPC]+(2,2) = KEY_APOSTROPHE
[SPC]+(2,3) = KEY_LEFTSHIFT+KEY_APOSTROPHE
[SPC]+(3,1) = KEY_LEFT
[SPC]+(3,2) = KEY_DOWN
[SPC]+(3,3) = KEY_RIGHT
[SPC]+(3,4) = KEY_ENTER
[SPC]+(4,1) = KEY_GRAVE
[SPC]+(4,2) = KEY_UP
[SPC]+(4,3) = KEY_SLASH
[SPC]+(4,4) = KEY_BACKSLASH
[SPC]+(5,2) = KEY_LEFTBRACE
[SPC]+(5,3) = KEY_RIGHTBRACE
[S]+[SPC]+(2,2) = KEY_LEFTSHIFT+KEY_COMMA
[S]+[SPC]+(2,3) = KEY_LEFTSHIFT+KEY_DOT
[S]+[SPC]+(3,1) = KEY_HOME
[S]+[SPC]+(3,2) = KEY_PAGEDOWN
[S]+[SPC]+(3,3) = KEY_END
[S]+[SPC]+(4,2) = KEY_PAGEUP
[S]+[SPC]+(4,3) = KEY_KPASTERISK