summaryrefslogtreecommitdiff
path: root/hid/lib/drivers-avr/usb/keymap.h
blob: a63598cfb3e9327ab84d495efdb0d0531b89ab44 (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
137
/*****************************************************************************
#                                                                            #
#    KVMD - The main PiKVM daemon.                                           #
#                                                                            #
#    Copyright (C) 2018-2022  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/>.  #
#                                                                            #
*****************************************************************************/


#pragma once


uint8_t keymapUsb(uint8_t code) {
	switch (code) {
		case 1: return 4; // KeyA
		case 2: return 5; // KeyB
		case 3: return 6; // KeyC
		case 4: return 7; // KeyD
		case 5: return 8; // KeyE
		case 6: return 9; // KeyF
		case 7: return 10; // KeyG
		case 8: return 11; // KeyH
		case 9: return 12; // KeyI
		case 10: return 13; // KeyJ
		case 11: return 14; // KeyK
		case 12: return 15; // KeyL
		case 13: return 16; // KeyM
		case 14: return 17; // KeyN
		case 15: return 18; // KeyO
		case 16: return 19; // KeyP
		case 17: return 20; // KeyQ
		case 18: return 21; // KeyR
		case 19: return 22; // KeyS
		case 20: return 23; // KeyT
		case 21: return 24; // KeyU
		case 22: return 25; // KeyV
		case 23: return 26; // KeyW
		case 24: return 27; // KeyX
		case 25: return 28; // KeyY
		case 26: return 29; // KeyZ
		case 27: return 30; // Digit1
		case 28: return 31; // Digit2
		case 29: return 32; // Digit3
		case 30: return 33; // Digit4
		case 31: return 34; // Digit5
		case 32: return 35; // Digit6
		case 33: return 36; // Digit7
		case 34: return 37; // Digit8
		case 35: return 38; // Digit9
		case 36: return 39; // Digit0
		case 37: return 40; // Enter
		case 38: return 41; // Escape
		case 39: return 42; // Backspace
		case 40: return 43; // Tab
		case 41: return 44; // Space
		case 42: return 45; // Minus
		case 43: return 46; // Equal
		case 44: return 47; // BracketLeft
		case 45: return 48; // BracketRight
		case 46: return 49; // Backslash
		case 47: return 51; // Semicolon
		case 48: return 52; // Quote
		case 49: return 53; // Backquote
		case 50: return 54; // Comma
		case 51: return 55; // Period
		case 52: return 56; // Slash
		case 53: return 57; // CapsLock
		case 54: return 58; // F1
		case 55: return 59; // F2
		case 56: return 60; // F3
		case 57: return 61; // F4
		case 58: return 62; // F5
		case 59: return 63; // F6
		case 60: return 64; // F7
		case 61: return 65; // F8
		case 62: return 66; // F9
		case 63: return 67; // F10
		case 64: return 68; // F11
		case 65: return 69; // F12
		case 66: return 70; // PrintScreen
		case 67: return 73; // Insert
		case 68: return 74; // Home
		case 69: return 75; // PageUp
		case 70: return 76; // Delete
		case 71: return 77; // End
		case 72: return 78; // PageDown
		case 73: return 79; // ArrowRight
		case 74: return 80; // ArrowLeft
		case 75: return 81; // ArrowDown
		case 76: return 82; // ArrowUp
		case 77: return 224; // ControlLeft
		case 78: return 225; // ShiftLeft
		case 79: return 226; // AltLeft
		case 80: return 227; // MetaLeft
		case 81: return 228; // ControlRight
		case 82: return 229; // ShiftRight
		case 83: return 230; // AltRight
		case 84: return 231; // MetaRight
		case 85: return 72; // Pause
		case 86: return 71; // ScrollLock
		case 87: return 83; // NumLock
		case 88: return 101; // ContextMenu
		case 89: return 84; // NumpadDivide
		case 90: return 85; // NumpadMultiply
		case 91: return 86; // NumpadSubtract
		case 92: return 87; // NumpadAdd
		case 93: return 88; // NumpadEnter
		case 94: return 89; // Numpad1
		case 95: return 90; // Numpad2
		case 96: return 91; // Numpad3
		case 97: return 92; // Numpad4
		case 98: return 93; // Numpad5
		case 99: return 94; // Numpad6
		case 100: return 95; // Numpad7
		case 101: return 96; // Numpad8
		case 102: return 97; // Numpad9
		case 103: return 98; // Numpad0
		case 104: return 99; // NumpadDecimal
		case 105: return 102; // Power
		case 106: return 100; // IntlBackslash
		case 107: return 137; // IntlYen
		default: return 0;
	}
}