aboutsummaryrefslogtreecommitdiff
path: root/core/sys/windows/scan_codes.odin
blob: 54949c2f666022a1f70ba06b3eb8c673c6b5190e (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#+build windows
package sys_windows

// Win32 scan codes for QWERTY layout
// https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes

KB_SYS_POWERDOWN :: 0xE05E
KB_SYS_SLEEP     :: 0xE05F
KB_SYS_WAKEUP    :: 0xE063
KB_ERR_ROLLOVER  :: 0x00FF

KB_A :: 0x001E
KB_B :: 0x0030
KB_C :: 0x002E
KB_D :: 0x0020
KB_E :: 0x0012
KB_F :: 0x0021
KB_G :: 0x0022
KB_H :: 0x0023
KB_I :: 0x0017
KB_J :: 0x0024
KB_K :: 0x0025
KB_L :: 0x0026
KB_M :: 0x0032
KB_N :: 0x0031
KB_O :: 0x0018
KB_P :: 0x0019
KB_Q :: 0x0010
KB_R :: 0x0013
KB_S :: 0x001F
KB_T :: 0x0014
KB_U :: 0x0016
KB_V :: 0x002F
KB_W :: 0x0011
KB_X :: 0x002D
KB_Y :: 0x0015
KB_Z :: 0x002C

KB_1_BANG         :: 0x0002
KB_2_AT           :: 0x0003
KB_3_HASH         :: 0x0004
KB_4_DOLLAR       :: 0x0005
KB_5_PERCENT      :: 0x0006
KB_6_CARET        :: 0x0007
KB_7_AMPERSAND    :: 0x0008
KB_8_STAR         :: 0x0009
KB_9_LEFTBRACKET  :: 0x000A
KB_0_RIGHTBRACKET :: 0x000B

KB_RETURN_ENTER      :: 0x001C
KB_ESCAPE            :: 0x0001
KB_DELETE            :: 0x000E
KB_TAB               :: 0x000F
KB_SPACEBAR          :: 0x0039
KB_DASH_UNDERSCORE   :: 0x000C
KB_EQUALS_PLUS       :: 0x000D
KB_LEFTBRACE         :: 0x001A
KB_RIGHTBRACE        :: 0x001B
KB_PIPE_SLASH        :: 0x002B
KB_NONUS             :: 0x002B
KB_SEMICOLON_COLON   :: 0x0027
KB_APOSTR_DOUBLEQUOT :: 0x0028
KB_GRAVEACC_TILDE    :: 0x0029
KB_COMMA             :: 0x0033
KB_PERIOD            :: 0x0034
KB_QUESTIONMARK      :: 0x0035
KB_CAPSLOCK          :: 0x003A

KB_F1  :: 0x003B
KB_F2  :: 0x003C
KB_F3  :: 0x003D
KB_F4  :: 0x003E
KB_F5  :: 0x003F
KB_F6  :: 0x0040
KB_F7  :: 0x0041
KB_F8  :: 0x0042
KB_F9  :: 0x0043
KB_F10 :: 0x0044
KB_F11 :: 0x0057
KB_F12 :: 0x0058

KB_PRINTSCREEN   :: 0xE037
KB_SCROLLLOCK    :: 0x0046
KB_PAUSE         :: 0xE11D45
KB_INSERT        :: 0xE052
KB_HOME          :: 0xE047
KB_PAGEUP        :: 0xE049
KB_DELETEFORWARD :: 0xE053
KB_END           :: 0xE04F
KB_PAGEDOWN      :: 0xE051
KB_RIGHTARROW    :: 0xE04D
KB_LEFTARROW     :: 0xE04B
KB_DOWNARROW     :: 0xE050
KB_UPARROW       :: 0xE048

KP_NUMLOCK_CLEAR :: 0x0045
KP_FORWARDSLASH  :: 0xE035
KP_STAR          :: 0x0037
KP_DASH          :: 0x004A
KP_PLUS          :: 0x004E
KP_ENTER         :: 0xE01C
KP_1_END         :: 0x004F
KP_2_DOWNARROW   :: 0x0050
KP_3_PAGEDN      :: 0x0051
KP_4_LEFTARROW   :: 0x004B
KP_5             :: 0x004C
KP_6_RIGHTARROW  :: 0x004D
KP_7_HOME        :: 0x0047
KP_8_UPARROW     :: 0x0048
KP_9_PAGEUP      :: 0x0049
KP_0_INSERT      :: 0x0052
KP_PERIOD        :: 0x0053

KB_NONUS_SLASHBAR :: 0x0056
KB_APPLICATION    :: 0xE05D
KB_POWER          :: 0xE05E
KB_EQUALS         :: 0x0059
KB_F13            :: 0x0064
KB_F14            :: 0x0065
KB_F15            :: 0x0066
KB_F16            :: 0x0067
KB_F17            :: 0x0068
KB_F18            :: 0x0069
KB_F19            :: 0x006A
KB_F20            :: 0x006B
KB_F21            :: 0x006C
KB_F22            :: 0x006D
KB_F23            :: 0x006E
KB_F24            :: 0x0076

KP_COMMA :: 0x007E

KB_INTERNATIONAL1 :: 0x0073
KB_INTERNATIONAL2 :: 0x0070
KB_INTERNATIONAL3 :: 0x007D
KB_INTERNATIONAL4 :: 0x0079
KB_INTERNATIONAL5 :: 0x007B
KB_INTERNATIONAL6 :: 0x005C

KB_LANG1 :: 0x0072
KB_LANG2 :: 0x0071
KB_LANG3 :: 0x0078
KB_LANG4 :: 0x0077
KB_LANG5 :: 0x0076

KB_LEFTCONTROL  :: 0x001D
KB_LEFTSHIFT    :: 0x002A
KB_LEFTALT      :: 0x0038
KB_LEFTGUI      :: 0xE05B
KB_RIGHTCONTROL :: 0xE01D
KB_RIGHTSHIFT   :: 0x0036
KB_RIGHTALT     :: 0xE038
KB_RIGHTGUI     :: 0xE05C

FN_SCANNEXTTRACK          :: 0xE019
FN_SCANPREVTRACK          :: 0xE010
FN_STOP                   :: 0xE024
FN_PLAY_PAUSE             :: 0xE022
FN_MUTE                   :: 0xE020
FN_VOLUMEINC              :: 0xE030
FN_VOLUMEDEC              :: 0xE02E
FN_AL_CONSUMERCTRLCONFIG  :: 0xE06D
FN_AL_EMAILREADER         :: 0xE06C
FN_AL_CALCULATOR          :: 0xE021
FN_AL_LOCALMACHINEBROWSER :: 0xE06B
FN_AC_SEARCH              :: 0xE065
FN_AC_HOME                :: 0xE032
FN_AC_BACK                :: 0xE06A
FN_AC_FORWARD             :: 0xE069
FN_AC_STOP                :: 0xE068
FN_AC_REFRESH             :: 0xE067
FN_AC_BOOKMARKS           :: 0xE066