summaryrefslogtreecommitdiff
path: root/keymap.in
blob: 9ac296b92f888871aebff9f338eb2fc57b677de4 (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
# https://github.com/NicoHood/HID/blob/master/src/HID-APIs/ImprovedKeylayouts.h
# https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2

# -----------------------------------------------------------------------------------
#  Web            | Serial code   | Arduino key           | OTG code + modifier flag
# -----------------------------------------------------------------------------------
KeyA				1				KEY_A					0x04	-
KeyB				2				KEY_B					0x05	-
KeyC				3				KEY_C					0x06	-
KeyD				4				KEY_D					0x07	-
KeyE				5				KEY_E					0x08	-
KeyF				6				KEY_F					0x09	-
KeyG				7				KEY_G					0x0a	-
KeyH				8				KEY_H					0x0b	-
KeyI				9				KEY_I					0x0c	-
KeyJ				10				KEY_J					0x0d	-
KeyK				11				KEY_K					0x0e	-
KeyL				12				KEY_L					0x0f	-
KeyM				13				KEY_M					0x10	-
KeyN				14				KEY_N					0x11	-
KeyO				15				KEY_O					0x12	-
KeyP				16				KEY_P					0x13	-
KeyQ				17				KEY_Q					0x14	-
KeyR				18				KEY_R					0x15	-
KeyS				19				KEY_S					0x16	-
KeyT				20				KEY_T					0x17	-
KeyU				21				KEY_U					0x18	-
KeyV				22				KEY_V					0x19	-
KeyW				23				KEY_W					0x1a	-
KeyX				24				KEY_X					0x1b	-
KeyY				25				KEY_Y					0x1c	-
KeyZ				26				KEY_Z					0x1d	-
Digit1				27				KEY_1					0x1e	-
Digit2				28				KEY_2					0x1f	-
Digit3				29				KEY_3					0x20	-
Digit4				30				KEY_4					0x21	-
Digit5				31				KEY_5					0x22	-
Digit6				32				KEY_6					0x23	-
Digit7				33				KEY_7					0x24	-
Digit8				34				KEY_8					0x25	-
Digit9				35				KEY_9					0x26	-
Digit0				36				KEY_0					0x27	-
Enter				37				KEY_ENTER				0x28	-
Escape				38				KEY_ESC					0x29	-
Backspace			39				KEY_BACKSPACE			0x2a	-
Tab					40				KEY_TAB					0x2b	-
Space				41				KEY_SPACE				0x2c	-
Minus				42				KEY_MINUS				0x2d	-
Equal				43				KEY_EQUAL				0x2e	-
BracketLeft			44				KEY_LEFT_BRACE			0x2f	-
BracketRight		45				KEY_RIGHT_BRACE			0x30	-
Backslash			46				KEY_BACKSLASH			0x31	-
Semicolon			47				KEY_SEMICOLON			0x33	-
Quote				48				KEY_QUOTE				0x34	-
Backquote			49				KEY_TILDE				0x35	-
Comma				50				KEY_COMMA				0x36	-
Period				51				KEY_PERIOD				0x37	-
Slash				52				KEY_SLASH				0x38	-
CapsLock			53				KEY_CAPS_LOCK			0x39	-
F1					54				KEY_F1					0x3a	-
F2					55				KEY_F2					0x3b	-
F3					56				KEY_F3					0x3c	-
F4					57				KEY_F4					0x3d	-
F5					58				KEY_F5					0x3e	-
F6					59				KEY_F6					0x3f	-
F7					60				KEY_F7					0x40	-
F8					61				KEY_F8					0x41	-
F9					62				KEY_F9					0x42	-
F10					63				KEY_F10					0x43	-
F11					64				KEY_F11					0x44	-
F12					65				KEY_F12					0x45	-
PrintScreen			66				KEY_PRINT				0x46	-
Insert				67				KEY_INSERT				0x49	-
Home				68				KEY_HOME				0x4a	-
PageUp				69				KEY_PAGE_UP				0x4b	-
Delete				70				KEY_DELETE				0x4c	-
End					71				KEY_END					0x4d	-
PageDown			72				KEY_PAGE_DOWN			0x4e	-
ArrowRight			73				KEY_RIGHT_ARROW			0x4f	-
ArrowLeft			74				KEY_LEFT_ARROW			0x50	-
ArrowDown			75				KEY_DOWN_ARROW			0x51	-
ArrowUp				76				KEY_UP_ARROW			0x52	-
ControlLeft			77				KEY_LEFT_CTRL			0x01	m
ShiftLeft			78				KEY_LEFT_SHIFT			0x02	m
AltLeft				79				KEY_LEFT_ALT			0x04	m
MetaLeft			80				KEY_LEFT_GUI			0x08	m
ControlRight		81				KEY_RIGHT_CTRL			0x10	m
ShiftRight			82				KEY_RIGHT_SHIFT			0x20	m
AltRight			83				KEY_RIGHT_ALT			0x40	m
MetaRight			84				KEY_RIGHT_GUI			0x80	m
Pause				85				KEY_PAUSE				0x48	-
ScrollLock			86				KEY_SCROLL_LOCK			0x47	-
#			KEY_NON_US_NUM
#			KEY_NUM_LOCK
#			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
#			KEY_APPLICATION
#			KEY_MENU