diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/events/scancodes_windows.h | |
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/events/scancodes_windows.h')
| -rw-r--r-- | contrib/SDL-3.2.8/src/events/scancodes_windows.h | 286 |
1 files changed, 286 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/events/scancodes_windows.h b/contrib/SDL-3.2.8/src/events/scancodes_windows.h new file mode 100644 index 0000000..6f35114 --- /dev/null +++ b/contrib/SDL-3.2.8/src/events/scancodes_windows.h | |||
| @@ -0,0 +1,286 @@ | |||
| 1 | /* | ||
| 2 | Simple DirectMedia Layer | ||
| 3 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> | ||
| 4 | |||
| 5 | This software is provided 'as-is', without any express or implied | ||
| 6 | warranty. In no event will the authors be held liable for any damages | ||
| 7 | arising from the use of this software. | ||
| 8 | |||
| 9 | Permission is granted to anyone to use this software for any purpose, | ||
| 10 | including commercial applications, and to alter it and redistribute it | ||
| 11 | freely, subject to the following restrictions: | ||
| 12 | |||
| 13 | 1. The origin of this software must not be misrepresented; you must not | ||
| 14 | claim that you wrote the original software. If you use this software | ||
| 15 | in a product, an acknowledgment in the product documentation would be | ||
| 16 | appreciated but is not required. | ||
| 17 | 2. Altered source versions must be plainly marked as such, and must not be | ||
| 18 | misrepresented as being the original software. | ||
| 19 | 3. This notice may not be removed or altered from any source distribution. | ||
| 20 | */ | ||
| 21 | #include "SDL_internal.h" | ||
| 22 | |||
| 23 | /* | ||
| 24 | * Windows scancode to SDL scancode mapping table | ||
| 25 | * https://learn.microsoft.com/windows/win32/inputdev/about-keyboard-input#scan-codes */ | ||
| 26 | |||
| 27 | /* *INDENT-OFF* */ // clang-format off | ||
| 28 | static const SDL_Scancode windows_scancode_table[] = { | ||
| 29 | /*0x00*/ SDL_SCANCODE_UNKNOWN, | ||
| 30 | /*0x01*/ SDL_SCANCODE_ESCAPE, | ||
| 31 | /*0x02*/ SDL_SCANCODE_1, | ||
| 32 | /*0x03*/ SDL_SCANCODE_2, | ||
| 33 | /*0x04*/ SDL_SCANCODE_3, | ||
| 34 | /*0x05*/ SDL_SCANCODE_4, | ||
| 35 | /*0x06*/ SDL_SCANCODE_5, | ||
| 36 | /*0x07*/ SDL_SCANCODE_6, | ||
| 37 | /*0x08*/ SDL_SCANCODE_7, | ||
| 38 | /*0x09*/ SDL_SCANCODE_8, | ||
| 39 | /*0x0a*/ SDL_SCANCODE_9, | ||
| 40 | /*0x0b*/ SDL_SCANCODE_0, | ||
| 41 | /*0x0c*/ SDL_SCANCODE_MINUS, | ||
| 42 | /*0x0d*/ SDL_SCANCODE_EQUALS, | ||
| 43 | /*0x0e*/ SDL_SCANCODE_BACKSPACE, | ||
| 44 | /*0x0f*/ SDL_SCANCODE_TAB, | ||
| 45 | /*0x10*/ SDL_SCANCODE_Q, | ||
| 46 | /*0x11*/ SDL_SCANCODE_W, | ||
| 47 | /*0x12*/ SDL_SCANCODE_E, | ||
| 48 | /*0x13*/ SDL_SCANCODE_R, | ||
| 49 | /*0x14*/ SDL_SCANCODE_T, | ||
| 50 | /*0x15*/ SDL_SCANCODE_Y, | ||
| 51 | /*0x16*/ SDL_SCANCODE_U, | ||
| 52 | /*0x17*/ SDL_SCANCODE_I, | ||
| 53 | /*0x18*/ SDL_SCANCODE_O, | ||
| 54 | /*0x19*/ SDL_SCANCODE_P, | ||
| 55 | /*0x1a*/ SDL_SCANCODE_LEFTBRACKET, | ||
| 56 | /*0x1b*/ SDL_SCANCODE_RIGHTBRACKET, | ||
| 57 | /*0x1c*/ SDL_SCANCODE_RETURN, | ||
| 58 | /*0x1d*/ SDL_SCANCODE_LCTRL, | ||
| 59 | /*0x1e*/ SDL_SCANCODE_A, | ||
| 60 | /*0x1f*/ SDL_SCANCODE_S, | ||
| 61 | /*0x20*/ SDL_SCANCODE_D, | ||
| 62 | /*0x21*/ SDL_SCANCODE_F, | ||
| 63 | /*0x22*/ SDL_SCANCODE_G, | ||
| 64 | /*0x23*/ SDL_SCANCODE_H, | ||
| 65 | /*0x24*/ SDL_SCANCODE_J, | ||
| 66 | /*0x25*/ SDL_SCANCODE_K, | ||
| 67 | /*0x26*/ SDL_SCANCODE_L, | ||
| 68 | /*0x27*/ SDL_SCANCODE_SEMICOLON, | ||
| 69 | /*0x28*/ SDL_SCANCODE_APOSTROPHE, | ||
| 70 | /*0x29*/ SDL_SCANCODE_GRAVE, | ||
| 71 | /*0x2a*/ SDL_SCANCODE_LSHIFT, | ||
| 72 | /*0x2b*/ SDL_SCANCODE_BACKSLASH, | ||
| 73 | /*0x2c*/ SDL_SCANCODE_Z, | ||
| 74 | /*0x2d*/ SDL_SCANCODE_X, | ||
| 75 | /*0x2e*/ SDL_SCANCODE_C, | ||
| 76 | /*0x2f*/ SDL_SCANCODE_V, | ||
| 77 | /*0x30*/ SDL_SCANCODE_B, | ||
| 78 | /*0x31*/ SDL_SCANCODE_N, | ||
| 79 | /*0x32*/ SDL_SCANCODE_M, | ||
| 80 | /*0x33*/ SDL_SCANCODE_COMMA, | ||
| 81 | /*0x34*/ SDL_SCANCODE_PERIOD, | ||
| 82 | /*0x35*/ SDL_SCANCODE_SLASH, | ||
| 83 | /*0x36*/ SDL_SCANCODE_RSHIFT, | ||
| 84 | /*0x37*/ SDL_SCANCODE_KP_MULTIPLY, | ||
| 85 | /*0x38*/ SDL_SCANCODE_LALT, | ||
| 86 | /*0x39*/ SDL_SCANCODE_SPACE, | ||
| 87 | /*0x3a*/ SDL_SCANCODE_CAPSLOCK, | ||
| 88 | /*0x3b*/ SDL_SCANCODE_F1, | ||
| 89 | /*0x3c*/ SDL_SCANCODE_F2, | ||
| 90 | /*0x3d*/ SDL_SCANCODE_F3, | ||
| 91 | /*0x3e*/ SDL_SCANCODE_F4, | ||
| 92 | /*0x3f*/ SDL_SCANCODE_F5, | ||
| 93 | /*0x40*/ SDL_SCANCODE_F6, | ||
| 94 | /*0x41*/ SDL_SCANCODE_F7, | ||
| 95 | /*0x42*/ SDL_SCANCODE_F8, | ||
| 96 | /*0x43*/ SDL_SCANCODE_F9, | ||
| 97 | /*0x44*/ SDL_SCANCODE_F10, | ||
| 98 | /*0x45*/ SDL_SCANCODE_NUMLOCKCLEAR, | ||
| 99 | /*0x46*/ SDL_SCANCODE_SCROLLLOCK, | ||
| 100 | /*0x47*/ SDL_SCANCODE_KP_7, | ||
| 101 | /*0x48*/ SDL_SCANCODE_KP_8, | ||
| 102 | /*0x49*/ SDL_SCANCODE_KP_9, | ||
| 103 | /*0x4a*/ SDL_SCANCODE_KP_MINUS, | ||
| 104 | /*0x4b*/ SDL_SCANCODE_KP_4, | ||
| 105 | /*0x4c*/ SDL_SCANCODE_KP_5, | ||
| 106 | /*0x4d*/ SDL_SCANCODE_KP_6, | ||
| 107 | /*0x4e*/ SDL_SCANCODE_KP_PLUS, | ||
| 108 | /*0x4f*/ SDL_SCANCODE_KP_1, | ||
| 109 | /*0x50*/ SDL_SCANCODE_KP_2, | ||
| 110 | /*0x51*/ SDL_SCANCODE_KP_3, | ||
| 111 | /*0x52*/ SDL_SCANCODE_KP_0, | ||
| 112 | /*0x53*/ SDL_SCANCODE_KP_PERIOD, | ||
| 113 | /*0x54*/ SDL_SCANCODE_UNKNOWN, | ||
| 114 | /*0x55*/ SDL_SCANCODE_UNKNOWN, | ||
| 115 | /*0x56*/ SDL_SCANCODE_NONUSBACKSLASH, | ||
| 116 | /*0x57*/ SDL_SCANCODE_F11, | ||
| 117 | /*0x58*/ SDL_SCANCODE_F12, | ||
| 118 | /*0x59*/ SDL_SCANCODE_KP_EQUALS, | ||
| 119 | /*0x5a*/ SDL_SCANCODE_UNKNOWN, | ||
| 120 | /*0x5b*/ SDL_SCANCODE_UNKNOWN, | ||
| 121 | /*0x5c*/ SDL_SCANCODE_INTERNATIONAL6, | ||
| 122 | /*0x5d*/ SDL_SCANCODE_UNKNOWN, | ||
| 123 | /*0x5e*/ SDL_SCANCODE_UNKNOWN, | ||
| 124 | /*0x5f*/ SDL_SCANCODE_UNKNOWN, | ||
| 125 | /*0x60*/ SDL_SCANCODE_UNKNOWN, | ||
| 126 | /*0x61*/ SDL_SCANCODE_UNKNOWN, | ||
| 127 | /*0x62*/ SDL_SCANCODE_UNKNOWN, | ||
| 128 | /*0x63*/ SDL_SCANCODE_UNKNOWN, | ||
| 129 | /*0x64*/ SDL_SCANCODE_F13, | ||
| 130 | /*0x65*/ SDL_SCANCODE_F14, | ||
| 131 | /*0x66*/ SDL_SCANCODE_F15, | ||
| 132 | /*0x67*/ SDL_SCANCODE_F16, | ||
| 133 | /*0x68*/ SDL_SCANCODE_F17, | ||
| 134 | /*0x69*/ SDL_SCANCODE_F18, | ||
| 135 | /*0x6a*/ SDL_SCANCODE_F19, | ||
| 136 | /*0x6b*/ SDL_SCANCODE_F20, | ||
| 137 | /*0x6c*/ SDL_SCANCODE_F21, | ||
| 138 | /*0x6d*/ SDL_SCANCODE_F22, | ||
| 139 | /*0x6e*/ SDL_SCANCODE_F23, | ||
| 140 | /*0x6f*/ SDL_SCANCODE_UNKNOWN, | ||
| 141 | /*0x70*/ SDL_SCANCODE_INTERNATIONAL2, | ||
| 142 | /*0x71*/ SDL_SCANCODE_LANG2, | ||
| 143 | /*0x72*/ SDL_SCANCODE_LANG1, | ||
| 144 | /*0x73*/ SDL_SCANCODE_INTERNATIONAL1, | ||
| 145 | /*0x74*/ SDL_SCANCODE_UNKNOWN, | ||
| 146 | /*0x75*/ SDL_SCANCODE_UNKNOWN, | ||
| 147 | /*0x76*/ SDL_SCANCODE_F24, | ||
| 148 | /*0x77*/ SDL_SCANCODE_LANG4, | ||
| 149 | /*0x78*/ SDL_SCANCODE_LANG3, | ||
| 150 | /*0x79*/ SDL_SCANCODE_INTERNATIONAL4, | ||
| 151 | /*0x7a*/ SDL_SCANCODE_UNKNOWN, | ||
| 152 | /*0x7b*/ SDL_SCANCODE_INTERNATIONAL5, | ||
| 153 | /*0x7c*/ SDL_SCANCODE_UNKNOWN, | ||
| 154 | /*0x7d*/ SDL_SCANCODE_INTERNATIONAL3, | ||
| 155 | /*0x7e*/ SDL_SCANCODE_KP_COMMA, | ||
| 156 | /*0x7f*/ SDL_SCANCODE_UNKNOWN, | ||
| 157 | /*0xe000*/ SDL_SCANCODE_UNKNOWN, | ||
| 158 | /*0xe001*/ SDL_SCANCODE_UNKNOWN, | ||
| 159 | /*0xe002*/ SDL_SCANCODE_UNKNOWN, | ||
| 160 | /*0xe003*/ SDL_SCANCODE_UNKNOWN, | ||
| 161 | /*0xe004*/ SDL_SCANCODE_UNKNOWN, | ||
| 162 | /*0xe005*/ SDL_SCANCODE_UNKNOWN, | ||
| 163 | /*0xe006*/ SDL_SCANCODE_UNKNOWN, | ||
| 164 | /*0xe007*/ SDL_SCANCODE_UNKNOWN, | ||
| 165 | /*0xe008*/ SDL_SCANCODE_UNKNOWN, | ||
| 166 | /*0xe009*/ SDL_SCANCODE_UNKNOWN, | ||
| 167 | /*0xe00a*/ SDL_SCANCODE_PASTE, | ||
| 168 | /*0xe00b*/ SDL_SCANCODE_UNKNOWN, | ||
| 169 | /*0xe00c*/ SDL_SCANCODE_UNKNOWN, | ||
| 170 | /*0xe00d*/ SDL_SCANCODE_UNKNOWN, | ||
| 171 | /*0xe00e*/ SDL_SCANCODE_UNKNOWN, | ||
| 172 | /*0xe00f*/ SDL_SCANCODE_UNKNOWN, | ||
| 173 | /*0xe010*/ SDL_SCANCODE_MEDIA_PREVIOUS_TRACK, | ||
| 174 | /*0xe011*/ SDL_SCANCODE_UNKNOWN, | ||
| 175 | /*0xe012*/ SDL_SCANCODE_UNKNOWN, | ||
| 176 | /*0xe013*/ SDL_SCANCODE_UNKNOWN, | ||
| 177 | /*0xe014*/ SDL_SCANCODE_UNKNOWN, | ||
| 178 | /*0xe015*/ SDL_SCANCODE_UNKNOWN, | ||
| 179 | /*0xe016*/ SDL_SCANCODE_UNKNOWN, | ||
| 180 | /*0xe017*/ SDL_SCANCODE_CUT, | ||
| 181 | /*0xe018*/ SDL_SCANCODE_COPY, | ||
| 182 | /*0xe019*/ SDL_SCANCODE_MEDIA_NEXT_TRACK, | ||
| 183 | /*0xe01a*/ SDL_SCANCODE_UNKNOWN, | ||
| 184 | /*0xe01b*/ SDL_SCANCODE_UNKNOWN, | ||
| 185 | /*0xe01c*/ SDL_SCANCODE_KP_ENTER, | ||
| 186 | /*0xe01d*/ SDL_SCANCODE_RCTRL, | ||
| 187 | /*0xe01e*/ SDL_SCANCODE_UNKNOWN, | ||
| 188 | /*0xe01f*/ SDL_SCANCODE_UNKNOWN, | ||
| 189 | /*0xe020*/ SDL_SCANCODE_MUTE, | ||
| 190 | /*0xe021*/ SDL_SCANCODE_UNKNOWN, // LaunchApp2 | ||
| 191 | /*0xe022*/ SDL_SCANCODE_MEDIA_PLAY_PAUSE, | ||
| 192 | /*0xe023*/ SDL_SCANCODE_UNKNOWN, | ||
| 193 | /*0xe024*/ SDL_SCANCODE_MEDIA_STOP, | ||
| 194 | /*0xe025*/ SDL_SCANCODE_UNKNOWN, | ||
| 195 | /*0xe026*/ SDL_SCANCODE_UNKNOWN, | ||
| 196 | /*0xe027*/ SDL_SCANCODE_UNKNOWN, | ||
| 197 | /*0xe028*/ SDL_SCANCODE_UNKNOWN, | ||
| 198 | /*0xe029*/ SDL_SCANCODE_UNKNOWN, | ||
| 199 | /*0xe02a*/ SDL_SCANCODE_UNKNOWN, | ||
| 200 | /*0xe02b*/ SDL_SCANCODE_UNKNOWN, | ||
| 201 | /*0xe02c*/ SDL_SCANCODE_MEDIA_EJECT, | ||
| 202 | /*0xe02d*/ SDL_SCANCODE_UNKNOWN, | ||
| 203 | /*0xe02e*/ SDL_SCANCODE_VOLUMEDOWN, | ||
| 204 | /*0xe02f*/ SDL_SCANCODE_UNKNOWN, | ||
| 205 | /*0xe030*/ SDL_SCANCODE_VOLUMEUP, | ||
| 206 | /*0xe031*/ SDL_SCANCODE_UNKNOWN, | ||
| 207 | /*0xe032*/ SDL_SCANCODE_AC_HOME, | ||
| 208 | /*0xe033*/ SDL_SCANCODE_UNKNOWN, | ||
| 209 | /*0xe034*/ SDL_SCANCODE_UNKNOWN, | ||
| 210 | /*0xe035*/ SDL_SCANCODE_KP_DIVIDE, | ||
| 211 | /*0xe036*/ SDL_SCANCODE_UNKNOWN, | ||
| 212 | /*0xe037*/ SDL_SCANCODE_PRINTSCREEN, | ||
| 213 | /*0xe038*/ SDL_SCANCODE_RALT, | ||
| 214 | /*0xe039*/ SDL_SCANCODE_UNKNOWN, | ||
| 215 | /*0xe03a*/ SDL_SCANCODE_UNKNOWN, | ||
| 216 | /*0xe03b*/ SDL_SCANCODE_HELP, | ||
| 217 | /*0xe03c*/ SDL_SCANCODE_UNKNOWN, | ||
| 218 | /*0xe03d*/ SDL_SCANCODE_UNKNOWN, | ||
| 219 | /*0xe03e*/ SDL_SCANCODE_UNKNOWN, | ||
| 220 | /*0xe03f*/ SDL_SCANCODE_UNKNOWN, | ||
| 221 | /*0xe040*/ SDL_SCANCODE_UNKNOWN, | ||
| 222 | /*0xe041*/ SDL_SCANCODE_UNKNOWN, | ||
| 223 | /*0xe042*/ SDL_SCANCODE_UNKNOWN, | ||
| 224 | /*0xe043*/ SDL_SCANCODE_UNKNOWN, | ||
| 225 | /*0xe044*/ SDL_SCANCODE_UNKNOWN, | ||
| 226 | /*0xe045*/ SDL_SCANCODE_NUMLOCKCLEAR, | ||
| 227 | /*0xe046*/ SDL_SCANCODE_PAUSE, | ||
| 228 | /*0xe047*/ SDL_SCANCODE_HOME, | ||
| 229 | /*0xe048*/ SDL_SCANCODE_UP, | ||
| 230 | /*0xe049*/ SDL_SCANCODE_PAGEUP, | ||
| 231 | /*0xe04a*/ SDL_SCANCODE_UNKNOWN, | ||
| 232 | /*0xe04b*/ SDL_SCANCODE_LEFT, | ||
| 233 | /*0xe04c*/ SDL_SCANCODE_UNKNOWN, | ||
| 234 | /*0xe04d*/ SDL_SCANCODE_RIGHT, | ||
| 235 | /*0xe04e*/ SDL_SCANCODE_UNKNOWN, | ||
| 236 | /*0xe04f*/ SDL_SCANCODE_END, | ||
| 237 | /*0xe050*/ SDL_SCANCODE_DOWN, | ||
| 238 | /*0xe051*/ SDL_SCANCODE_PAGEDOWN, | ||
| 239 | /*0xe052*/ SDL_SCANCODE_INSERT, | ||
| 240 | /*0xe053*/ SDL_SCANCODE_DELETE, | ||
| 241 | /*0xe054*/ SDL_SCANCODE_UNKNOWN, | ||
| 242 | /*0xe055*/ SDL_SCANCODE_UNKNOWN, | ||
| 243 | /*0xe056*/ SDL_SCANCODE_UNKNOWN, | ||
| 244 | /*0xe057*/ SDL_SCANCODE_UNKNOWN, | ||
| 245 | /*0xe058*/ SDL_SCANCODE_UNKNOWN, | ||
| 246 | /*0xe059*/ SDL_SCANCODE_UNKNOWN, | ||
| 247 | /*0xe05a*/ SDL_SCANCODE_UNKNOWN, | ||
| 248 | /*0xe05b*/ SDL_SCANCODE_LGUI, | ||
| 249 | /*0xe05c*/ SDL_SCANCODE_RGUI, | ||
| 250 | /*0xe05d*/ SDL_SCANCODE_APPLICATION, | ||
| 251 | /*0xe05e*/ SDL_SCANCODE_POWER, | ||
| 252 | /*0xe05f*/ SDL_SCANCODE_SLEEP, | ||
| 253 | /*0xe060*/ SDL_SCANCODE_UNKNOWN, | ||
| 254 | /*0xe061*/ SDL_SCANCODE_UNKNOWN, | ||
| 255 | /*0xe062*/ SDL_SCANCODE_UNKNOWN, | ||
| 256 | /*0xe063*/ SDL_SCANCODE_UNKNOWN, | ||
| 257 | /*0xe064*/ SDL_SCANCODE_UNKNOWN, | ||
| 258 | /*0xe065*/ SDL_SCANCODE_AC_SEARCH, | ||
| 259 | /*0xe066*/ SDL_SCANCODE_AC_BOOKMARKS, | ||
| 260 | /*0xe067*/ SDL_SCANCODE_AC_REFRESH, | ||
| 261 | /*0xe068*/ SDL_SCANCODE_AC_STOP, | ||
| 262 | /*0xe069*/ SDL_SCANCODE_AC_FORWARD, | ||
| 263 | /*0xe06a*/ SDL_SCANCODE_AC_BACK, | ||
| 264 | /*0xe06b*/ SDL_SCANCODE_UNKNOWN, // LaunchApp1 | ||
| 265 | /*0xe06c*/ SDL_SCANCODE_UNKNOWN, // LaunchMail | ||
| 266 | /*0xe06d*/ SDL_SCANCODE_MEDIA_SELECT, | ||
| 267 | /*0xe06e*/ SDL_SCANCODE_UNKNOWN, | ||
| 268 | /*0xe06f*/ SDL_SCANCODE_UNKNOWN, | ||
| 269 | /*0xe070*/ SDL_SCANCODE_UNKNOWN, | ||
| 270 | /*0xe071*/ SDL_SCANCODE_UNKNOWN, | ||
| 271 | /*0xe072*/ SDL_SCANCODE_UNKNOWN, | ||
| 272 | /*0xe073*/ SDL_SCANCODE_UNKNOWN, | ||
| 273 | /*0xe074*/ SDL_SCANCODE_UNKNOWN, | ||
| 274 | /*0xe075*/ SDL_SCANCODE_UNKNOWN, | ||
| 275 | /*0xe076*/ SDL_SCANCODE_UNKNOWN, | ||
| 276 | /*0xe077*/ SDL_SCANCODE_UNKNOWN, | ||
| 277 | /*0xe078*/ SDL_SCANCODE_UNKNOWN, | ||
| 278 | /*0xe079*/ SDL_SCANCODE_UNKNOWN, | ||
| 279 | /*0xe07a*/ SDL_SCANCODE_UNKNOWN, | ||
| 280 | /*0xe07b*/ SDL_SCANCODE_UNKNOWN, | ||
| 281 | /*0xe07c*/ SDL_SCANCODE_UNKNOWN, | ||
| 282 | /*0xe07d*/ SDL_SCANCODE_UNKNOWN, | ||
| 283 | /*0xe07e*/ SDL_SCANCODE_UNKNOWN, | ||
| 284 | /*0xe07f*/ SDL_SCANCODE_UNKNOWN | ||
| 285 | }; | ||
| 286 | /* *INDENT-ON* */ // clang-format on | ||
