/* SDL2 scancodes, simple #define instead of enum so we can statically construct default setting strings at compile time to reduce startup overhead a little */

#define MDFN_SCANCODE_UNKNOWN 0
#define MDFN_SCANCODE_A 4
#define MDFN_SCANCODE_B 5
#define MDFN_SCANCODE_C 6
#define MDFN_SCANCODE_D 7
#define MDFN_SCANCODE_E 8
#define MDFN_SCANCODE_F 9
#define MDFN_SCANCODE_G 10
#define MDFN_SCANCODE_H 11
#define MDFN_SCANCODE_I 12
#define MDFN_SCANCODE_J 13
#define MDFN_SCANCODE_K 14
#define MDFN_SCANCODE_L 15
#define MDFN_SCANCODE_M 16
#define MDFN_SCANCODE_N 17
#define MDFN_SCANCODE_O 18
#define MDFN_SCANCODE_P 19
#define MDFN_SCANCODE_Q 20
#define MDFN_SCANCODE_R 21
#define MDFN_SCANCODE_S 22
#define MDFN_SCANCODE_T 23
#define MDFN_SCANCODE_U 24
#define MDFN_SCANCODE_V 25
#define MDFN_SCANCODE_W 26
#define MDFN_SCANCODE_X 27
#define MDFN_SCANCODE_Y 28
#define MDFN_SCANCODE_Z 29
#define MDFN_SCANCODE_1 30
#define MDFN_SCANCODE_2 31
#define MDFN_SCANCODE_3 32
#define MDFN_SCANCODE_4 33
#define MDFN_SCANCODE_5 34
#define MDFN_SCANCODE_6 35
#define MDFN_SCANCODE_7 36
#define MDFN_SCANCODE_8 37
#define MDFN_SCANCODE_9 38
#define MDFN_SCANCODE_0 39
#define MDFN_SCANCODE_RETURN 40
#define MDFN_SCANCODE_ESCAPE 41
#define MDFN_SCANCODE_BACKSPACE 42
#define MDFN_SCANCODE_TAB 43
#define MDFN_SCANCODE_SPACE 44
#define MDFN_SCANCODE_MINUS 45
#define MDFN_SCANCODE_EQUALS 46
#define MDFN_SCANCODE_LEFTBRACKET 47
#define MDFN_SCANCODE_RIGHTBRACKET 48
#define MDFN_SCANCODE_BACKSLASH 49
#define MDFN_SCANCODE_NONUSHASH 50
#define MDFN_SCANCODE_SEMICOLON 51
#define MDFN_SCANCODE_APOSTROPHE 52
#define MDFN_SCANCODE_GRAVE 53
#define MDFN_SCANCODE_COMMA 54
#define MDFN_SCANCODE_PERIOD 55
#define MDFN_SCANCODE_SLASH 56
#define MDFN_SCANCODE_CAPSLOCK 57
#define MDFN_SCANCODE_F1 58
#define MDFN_SCANCODE_F2 59
#define MDFN_SCANCODE_F3 60
#define MDFN_SCANCODE_F4 61
#define MDFN_SCANCODE_F5 62
#define MDFN_SCANCODE_F6 63
#define MDFN_SCANCODE_F7 64
#define MDFN_SCANCODE_F8 65
#define MDFN_SCANCODE_F9 66
#define MDFN_SCANCODE_F10 67
#define MDFN_SCANCODE_F11 68
#define MDFN_SCANCODE_F12 69
#define MDFN_SCANCODE_PRINTSCREEN 70
#define MDFN_SCANCODE_SCROLLLOCK 71
#define MDFN_SCANCODE_PAUSE 72
#define MDFN_SCANCODE_INSERT 73
#define MDFN_SCANCODE_HOME 74
#define MDFN_SCANCODE_PAGEUP 75
#define MDFN_SCANCODE_DELETE 76
#define MDFN_SCANCODE_END 77
#define MDFN_SCANCODE_PAGEDOWN 78
#define MDFN_SCANCODE_RIGHT 79
#define MDFN_SCANCODE_LEFT 80
#define MDFN_SCANCODE_DOWN 81
#define MDFN_SCANCODE_UP 82
#define MDFN_SCANCODE_NUMLOCKCLEAR 83
#define MDFN_SCANCODE_KP_DIVIDE 84
#define MDFN_SCANCODE_KP_MULTIPLY 85
#define MDFN_SCANCODE_KP_MINUS 86
#define MDFN_SCANCODE_KP_PLUS 87
#define MDFN_SCANCODE_KP_ENTER 88
#define MDFN_SCANCODE_KP_1 89
#define MDFN_SCANCODE_KP_2 90
#define MDFN_SCANCODE_KP_3 91
#define MDFN_SCANCODE_KP_4 92
#define MDFN_SCANCODE_KP_5 93
#define MDFN_SCANCODE_KP_6 94
#define MDFN_SCANCODE_KP_7 95
#define MDFN_SCANCODE_KP_8 96
#define MDFN_SCANCODE_KP_9 97
#define MDFN_SCANCODE_KP_0 98
#define MDFN_SCANCODE_KP_PERIOD 99
#define MDFN_SCANCODE_NONUSBACKSLASH 100
#define MDFN_SCANCODE_APPLICATION 101
#define MDFN_SCANCODE_POWER 102
#define MDFN_SCANCODE_KP_EQUALS 103
#define MDFN_SCANCODE_F13 104
#define MDFN_SCANCODE_F14 105
#define MDFN_SCANCODE_F15 106
#define MDFN_SCANCODE_F16 107
#define MDFN_SCANCODE_F17 108
#define MDFN_SCANCODE_F18 109
#define MDFN_SCANCODE_F19 110
#define MDFN_SCANCODE_F20 111
#define MDFN_SCANCODE_F21 112
#define MDFN_SCANCODE_F22 113
#define MDFN_SCANCODE_F23 114
#define MDFN_SCANCODE_F24 115
#define MDFN_SCANCODE_EXECUTE 116
#define MDFN_SCANCODE_HELP 117
#define MDFN_SCANCODE_MENU 118
#define MDFN_SCANCODE_SELECT 119
#define MDFN_SCANCODE_STOP 120
#define MDFN_SCANCODE_AGAIN 121
#define MDFN_SCANCODE_UNDO 122
#define MDFN_SCANCODE_CUT 123
#define MDFN_SCANCODE_COPY 124
#define MDFN_SCANCODE_PASTE 125
#define MDFN_SCANCODE_FIND 126
#define MDFN_SCANCODE_MUTE 127
#define MDFN_SCANCODE_VOLUMEUP 128
#define MDFN_SCANCODE_VOLUMEDOWN 129
#define MDFN_SCANCODE_KP_COMMA 133
#define MDFN_SCANCODE_KP_EQUALSAS400 134
#define MDFN_SCANCODE_INTERNATIONAL1 135
#define MDFN_SCANCODE_INTERNATIONAL2 136
#define MDFN_SCANCODE_INTERNATIONAL3 137
#define MDFN_SCANCODE_INTERNATIONAL4 138
#define MDFN_SCANCODE_INTERNATIONAL5 139
#define MDFN_SCANCODE_INTERNATIONAL6 140
#define MDFN_SCANCODE_INTERNATIONAL7 141
#define MDFN_SCANCODE_INTERNATIONAL8 142
#define MDFN_SCANCODE_INTERNATIONAL9 143
#define MDFN_SCANCODE_LANG1 144
#define MDFN_SCANCODE_LANG2 145
#define MDFN_SCANCODE_LANG3 146
#define MDFN_SCANCODE_LANG4 147
#define MDFN_SCANCODE_LANG5 148
#define MDFN_SCANCODE_LANG6 149
#define MDFN_SCANCODE_LANG7 150
#define MDFN_SCANCODE_LANG8 151
#define MDFN_SCANCODE_LANG9 152
#define MDFN_SCANCODE_ALTERASE 153
#define MDFN_SCANCODE_SYSREQ 154
#define MDFN_SCANCODE_CANCEL 155
#define MDFN_SCANCODE_CLEAR 156
#define MDFN_SCANCODE_PRIOR 157
#define MDFN_SCANCODE_RETURN2 158
#define MDFN_SCANCODE_SEPARATOR 159
#define MDFN_SCANCODE_OUT 160
#define MDFN_SCANCODE_OPER 161
#define MDFN_SCANCODE_CLEARAGAIN 162
#define MDFN_SCANCODE_CRSEL 163
#define MDFN_SCANCODE_EXSEL 164
#define MDFN_SCANCODE_KP_00 176
#define MDFN_SCANCODE_KP_000 177
#define MDFN_SCANCODE_THOUSANDSSEPARATOR 178
#define MDFN_SCANCODE_DECIMALSEPARATOR 179
#define MDFN_SCANCODE_CURRENCYUNIT 180
#define MDFN_SCANCODE_CURRENCYSUBUNIT 181
#define MDFN_SCANCODE_KP_LEFTPAREN 182
#define MDFN_SCANCODE_KP_RIGHTPAREN 183
#define MDFN_SCANCODE_KP_LEFTBRACE 184
#define MDFN_SCANCODE_KP_RIGHTBRACE 185
#define MDFN_SCANCODE_KP_TAB 186
#define MDFN_SCANCODE_KP_BACKSPACE 187
#define MDFN_SCANCODE_KP_A 188
#define MDFN_SCANCODE_KP_B 189
#define MDFN_SCANCODE_KP_C 190
#define MDFN_SCANCODE_KP_D 191
#define MDFN_SCANCODE_KP_E 192
#define MDFN_SCANCODE_KP_F 193
#define MDFN_SCANCODE_KP_XOR 194
#define MDFN_SCANCODE_KP_POWER 195
#define MDFN_SCANCODE_KP_PERCENT 196
#define MDFN_SCANCODE_KP_LESS 197
#define MDFN_SCANCODE_KP_GREATER 198
#define MDFN_SCANCODE_KP_AMPERSAND 199
#define MDFN_SCANCODE_KP_DBLAMPERSAND 200
#define MDFN_SCANCODE_KP_VERTICALBAR 201
#define MDFN_SCANCODE_KP_DBLVERTICALBAR 202
#define MDFN_SCANCODE_KP_COLON 203
#define MDFN_SCANCODE_KP_HASH 204
#define MDFN_SCANCODE_KP_SPACE 205
#define MDFN_SCANCODE_KP_AT 206
#define MDFN_SCANCODE_KP_EXCLAM 207
#define MDFN_SCANCODE_KP_MEMSTORE 208
#define MDFN_SCANCODE_KP_MEMRECALL 209
#define MDFN_SCANCODE_KP_MEMCLEAR 210
#define MDFN_SCANCODE_KP_MEMADD 211
#define MDFN_SCANCODE_KP_MEMSUBTRACT 212
#define MDFN_SCANCODE_KP_MEMMULTIPLY 213
#define MDFN_SCANCODE_KP_MEMDIVIDE 214
#define MDFN_SCANCODE_KP_PLUSMINUS 215
#define MDFN_SCANCODE_KP_CLEAR 216
#define MDFN_SCANCODE_KP_CLEARENTRY 217
#define MDFN_SCANCODE_KP_BINARY 218
#define MDFN_SCANCODE_KP_OCTAL 219
#define MDFN_SCANCODE_KP_DECIMAL 220
#define MDFN_SCANCODE_KP_HEXADECIMAL 221
#define MDFN_SCANCODE_LCTRL 224
#define MDFN_SCANCODE_LSHIFT 225
#define MDFN_SCANCODE_LALT 226
#define MDFN_SCANCODE_LGUI 227
#define MDFN_SCANCODE_RCTRL 228
#define MDFN_SCANCODE_RSHIFT 229
#define MDFN_SCANCODE_RALT 230
#define MDFN_SCANCODE_RGUI 231
#define MDFN_SCANCODE_MODE 257
#define MDFN_SCANCODE_AUDIONEXT 258
#define MDFN_SCANCODE_AUDIOPREV 259
#define MDFN_SCANCODE_AUDIOSTOP 260
#define MDFN_SCANCODE_AUDIOPLAY 261
#define MDFN_SCANCODE_AUDIOMUTE 262
#define MDFN_SCANCODE_MEDIASELECT 263
#define MDFN_SCANCODE_WWW 264
#define MDFN_SCANCODE_MAIL 265
#define MDFN_SCANCODE_CALCULATOR 266
#define MDFN_SCANCODE_COMPUTER 267
#define MDFN_SCANCODE_AC_SEARCH 268
#define MDFN_SCANCODE_AC_HOME 269
#define MDFN_SCANCODE_AC_BACK 270
#define MDFN_SCANCODE_AC_FORWARD 271
#define MDFN_SCANCODE_AC_STOP 272
#define MDFN_SCANCODE_AC_REFRESH 273
#define MDFN_SCANCODE_AC_BOOKMARKS 274
#define MDFN_SCANCODE_BRIGHTNESSDOWN 275
#define MDFN_SCANCODE_BRIGHTNESSUP 276
#define MDFN_SCANCODE_DISPLAYSWITCH 277
#define MDFN_SCANCODE_KBDILLUMTOGGLE 278
#define MDFN_SCANCODE_KBDILLUMDOWN 279
#define MDFN_SCANCODE_KBDILLUMUP 280
#define MDFN_SCANCODE_EJECT 281
#define MDFN_SCANCODE_SLEEP 282
#define MDFN_SCANCODE_APP1 283
#define MDFN_SCANCODE_APP2 284
#define MDFN_SCANCODE_AUDIOREWIND 285
#define MDFN_SCANCODE_AUDIOFASTFORWARD 286

#define MDFN_NUM_SCANCODES 512

