summaryrefslogtreecommitdiff
path: root/keymap.in
blob: ca885c2d11ac202bbb66e04dbd8430e68e499885 (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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
# ========================================================================== #
#                                                                            #
#    KVMD - The main Pi-KVM daemon.                                          #
#                                                                            #
#    Copyright (C) 2018  Maxim Devaev <[email protected]>                    #
#                                                                            #
#    This program is free software: you can redistribute it and/or modify    #
#    it under the terms of the GNU General Public License as published by    #
#    the Free Software Foundation, either version 3 of the License, or       #
#    (at your option) any later version.                                     #
#                                                                            #
#    This program is distributed in the hope that it will be useful,         #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of          #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           #
#    GNU General Public License for more details.                            #
#                                                                            #
#    You should have received a copy of the GNU General Public License       #
#    along with this program.  If not, see <https://www.gnu.org/licenses/>.  #
#                                                                            #
# ========================================================================== #


# https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code/code_values
# https://github.com/NicoHood/HID/blob/master/src/KeyboardLayouts/ImprovedKeylayouts.h
# https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2
# https://github.com/qemu/keycodemapdb/blob/master/data/keymaps.csv

# -----------------------------------------------------------------------------------------------------------------------
#  Web            | Serial code   | Arduino key           | OTG code (^ for mod)  | AT set1  | X11 keysyms (^ for shift)
# -----------------------------------------------------------------------------------------------------------------------
KeyA				1				KEY_A					0x04					0x1e			^XK_A,XK_a
KeyB				2				KEY_B					0x05					0x30			^XK_B,XK_b
KeyC				3				KEY_C					0x06					0x2e			^XK_C,XK_c
KeyD				4				KEY_D					0x07					0x20			^XK_D,XK_d
KeyE				5				KEY_E					0x08					0x12			^XK_E,XK_e
KeyF				6				KEY_F					0x09					0x21			^XK_F,XK_f
KeyG				7				KEY_G					0x0a					0x22			^XK_G,XK_g
KeyH				8				KEY_H					0x0b					0x23			^XK_H,XK_h
KeyI				9				KEY_I					0x0c					0x17			^XK_I,XK_i
KeyJ				10				KEY_J					0x0d					0x24			^XK_J,XK_j
KeyK				11				KEY_K					0x0e					0x25			^XK_K,XK_k
KeyL				12				KEY_L					0x0f					0x26			^XK_L,XK_l
KeyM				13				KEY_M					0x10					0x32			^XK_M,XK_m
KeyN				14				KEY_N					0x11					0x31			^XK_N,XK_n
KeyO				15				KEY_O					0x12					0x18			^XK_O,XK_o
KeyP				16				KEY_P					0x13					0x19			^XK_P,XK_p
KeyQ				17				KEY_Q					0x14					0x10			^XK_Q,XK_q
KeyR				18				KEY_R					0x15					0x13			^XK_R,XK_r
KeyS				19				KEY_S					0x16					0x1f			^XK_S,XK_s
KeyT				20				KEY_T					0x17					0x14			^XK_T,XK_t
KeyU				21				KEY_U					0x18					0x16			^XK_U,XK_u
KeyV				22				KEY_V					0x19					0x2f			^XK_V,XK_v
KeyW				23				KEY_W					0x1a					0x11			^XK_W,XK_w
KeyX				24				KEY_X					0x1b					0x2d			^XK_X,XK_x
KeyY				25				KEY_Y					0x1c					0x15			^XK_Y,XK_y
KeyZ				26				KEY_Z					0x1d					0x2c			^XK_Z,XK_z
Digit1				27				KEY_1					0x1e					0x02			XK_1,^XK_exclam
Digit2				28				KEY_2					0x1f					0x03			XK_2,^XK_at
Digit3				29				KEY_3					0x20					0x04			XK_3,^XK_numbersign
Digit4				30				KEY_4					0x21					0x05			XK_4,^XK_dollar
Digit5				31				KEY_5					0x22					0x06			XK_5,^XK_percent
Digit6				32				KEY_6					0x23					0x07			XK_6,^XK_asciicircum
Digit7				33				KEY_7					0x24					0x08			XK_7,^XK_ampersand
Digit8				34				KEY_8					0x25					0x09			XK_8,^XK_asterisk
Digit9				35				KEY_9					0x26					0x0a			XK_9,^XK_parenleft
Digit0				36				KEY_0					0x27					0x0b			XK_0,^XK_parenright
Enter				37				KEY_ENTER				0x28					0x1c			XK_Return
Escape				38				KEY_ESC					0x29					0x01			XK_Escape
Backspace			39				KEY_BACKSPACE			0x2a					0x0e			XK_BackSpace
Tab					40				KEY_TAB					0x2b					0x0f			XK_Tab
Space				41				KEY_SPACE				0x2c					0x39			XK_space
Minus				42				KEY_MINUS				0x2d					0x0c			XK_minus,^XK_underscore
Equal				43				KEY_EQUAL				0x2e					0x0d			XK_equal,^XK_plus
BracketLeft			44				KEY_LEFT_BRACE			0x2f					0x1a			XK_bracketleft,^XK_braceleft
BracketRight		45				KEY_RIGHT_BRACE			0x30					0x1b			XK_bracketright,^XK_braceright
Backslash			46				KEY_BACKSLASH			0x31					0x2b			XK_backslash,^XK_bar
Semicolon			47				KEY_SEMICOLON			0x33					0x27			XK_semicolon,^XK_colon
Quote				48				KEY_QUOTE				0x34					0x28			XK_apostrophe,^XK_quotedbl
Backquote			49				KEY_TILDE				0x35					0x29			XK_grave,^XK_asciitilde
Comma				50				KEY_COMMA				0x36					0x33			XK_comma,^XK_less
Period				51				KEY_PERIOD				0x37					0x34			XK_period,^XK_greater
Slash				52				KEY_SLASH				0x38					0x35			XK_slash,^XK_question
CapsLock			53				KEY_CAPS_LOCK			0x39					0x3a			XK_Caps_Lock
F1					54				KEY_F1					0x3a					0x3b			XK_F1
F2					55				KEY_F2					0x3b					0x3c			XK_F2
F3					56				KEY_F3					0x3c					0x3d			XK_F3
F4					57				KEY_F4					0x3d					0x3e			XK_F4
F5					58				KEY_F5					0x3e					0x3f			XK_F5
F6					59				KEY_F6					0x3f					0x40			XK_F6
F7					60				KEY_F7					0x40					0x41			XK_F7
F8					61				KEY_F8					0x41					0x42			XK_F8
F9					62				KEY_F9					0x42					0x43			XK_F9
F10					63				KEY_F10					0x43					0x44			XK_F10
F11					64				KEY_F11					0x44					0x57			XK_F11
F12					65				KEY_F12					0x45					0x58			XK_F12
PrintScreen			66				KEY_PRINT				0x46					0x54			XK_Sys_Req
Insert				67				KEY_INSERT				0x49					0xe052			XK_Insert
Home				68				KEY_HOME				0x4a					0xe047			XK_Home
PageUp				69				KEY_PAGE_UP				0x4b					0xe049			XK_Page_Up
Delete				70				KEY_DELETE				0x4c					0xe053			XK_Delete
End					71				KEY_END					0x4d					0xe04f			XK_End
PageDown			72				KEY_PAGE_DOWN			0x4e					0xe051			XK_Page_Down
ArrowRight			73				KEY_RIGHT_ARROW			0x4f					0xe04d			XK_Right
ArrowLeft			74				KEY_LEFT_ARROW			0x50					0xe04b			XK_Left
ArrowDown			75				KEY_DOWN_ARROW			0x51					0xe050			XK_Down
ArrowUp				76				KEY_UP_ARROW			0x52					0xe048			XK_Up
ControlLeft			77				KEY_LEFT_CTRL			^0x01					0x1d			XK_Control_L
ShiftLeft			78				KEY_LEFT_SHIFT			^0x02					0x2a			XK_Shift_L
AltLeft				79				KEY_LEFT_ALT			^0x04					0x38			XK_Alt_L
MetaLeft			80				KEY_LEFT_GUI			^0x08					0xe05b			XK_Meta_L
ControlRight		81				KEY_RIGHT_CTRL			^0x10					0xe01d			XK_Control_R
ShiftRight			82				KEY_RIGHT_SHIFT			^0x20					0x36			XK_Shift_R
AltRight			83				KEY_RIGHT_ALT			^0x40					0xe038			XK_Alt_R
MetaRight			84				KEY_RIGHT_GUI			^0x80					0xe05c			XK_Meta_R
Pause				85				KEY_PAUSE				0x48					0xe046			XK_Pause
ScrollLock			86				KEY_SCROLL_LOCK			0x47					0x46			XK_Scroll_Lock
NumLock				87				KEY_NUM_LOCK			0x53					0x45			XK_Num_Lock
ContextMenu			88				KEY_MENU				0x65					0xe05d			XK_Menu
#			KEY_NON_US_NUM
#			KEYPAD_DIVIDE
#			KEYPAD_MULTIPLY
#			KEYPAD_SUBTRACT
#			KEYPAD_ADD
#			KEYPAD_ENTER
#			KEYPAD_1
#			KEYPAD_2
#			KEYPAD_3
#			KEYPAD_4
#			KEYPAD_5
#			KEYPAD_6
#			KEYPAD_7
#			KEYPAD_8
#			KEYPAD_9
#			KEYPAD_0
#			KEYPAD_DOT
#			KEY_NON_US