blob: e2845194b948ece52798e1be3e9cd6df75f228d5 (
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
|
# ========================================================================== #
# #
# 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
# -----------------------------------------------------------------------------------
# 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 -
NumLock 87 KEY_NUM_LOCK 0x53 -
ContextMenu 88 KEY_MENU 0x65 -
# 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
|