#include <SDL2/SDL.h>

#define KEY_ESC               SDL_SCANCODE_ESCAPE     /* keyboard scan codes  */
#define KEY_1                 SDL_SCANCODE_1
#define KEY_2                 SDL_SCANCODE_2
#define KEY_3                 SDL_SCANCODE_3
#define KEY_4                 SDL_SCANCODE_4
#define KEY_5                 SDL_SCANCODE_5
#define KEY_6                 SDL_SCANCODE_6
#define KEY_7                 SDL_SCANCODE_7
#define KEY_8                 SDL_SCANCODE_8
#define KEY_9                 SDL_SCANCODE_9
#define KEY_0                 SDL_SCANCODE_0
#define KEY_MINUS             SDL_SCANCODE_MINUS
#define KEY_EQUALS            SDL_SCANCODE_EQUALS
#define KEY_BACKSPACE         SDL_SCANCODE_BACKSPACE
#define KEY_TAB               SDL_SCANCODE_TAB
#define KEY_Q                 SDL_SCANCODE_Q
#define KEY_W                 SDL_SCANCODE_W
#define KEY_E                 SDL_SCANCODE_E
#define KEY_R                 SDL_SCANCODE_R
#define KEY_T                 SDL_SCANCODE_T
#define KEY_Y                 SDL_SCANCODE_Y
#define KEY_U                 SDL_SCANCODE_U
#define KEY_I                 SDL_SCANCODE_I
#define KEY_O                 SDL_SCANCODE_O
#define KEY_P                 SDL_SCANCODE_P
#define KEY_OPENBRACE         SDL_SCANCODE_LEFTBRACKET
#define KEY_CLOSEBRACE        SDL_SCANCODE_RIGHTBRACKET
#define KEY_ENTER             SDL_SCANCODE_RETURN
#define KEY_CONTROL           SDL_SCANCODE_LCTRL
#define KEY_LCONTROL          SDL_SCANCODE_LCTRL
#define KEY_A                 SDL_SCANCODE_A
#define KEY_S                 SDL_SCANCODE_S
#define KEY_D                 SDL_SCANCODE_D
#define KEY_F                 SDL_SCANCODE_F
#define KEY_G                 SDL_SCANCODE_G
#define KEY_H                 SDL_SCANCODE_H
#define KEY_J                 SDL_SCANCODE_J
#define KEY_K                 SDL_SCANCODE_K
#define KEY_L                 SDL_SCANCODE_L
#define KEY_COLON             SDL_SCANCODE_SEMICOLON
#define KEY_QUOTE             SDL_SCANCODE_APOSTROPHE
#define KEY_TILDE             SDL_SCANCODE_GRAVE
#define KEY_LSHIFT            SDL_SCANCODE_LSHIFT
#define KEY_BACKSLASH         SDL_SCANCODE_BACKSLASH
#define KEY_Z                 SDL_SCANCODE_Z
#define KEY_X                 SDL_SCANCODE_X
#define KEY_C                 SDL_SCANCODE_C
#define KEY_V                 SDL_SCANCODE_V
#define KEY_B                 SDL_SCANCODE_B
#define KEY_N                 SDL_SCANCODE_N
#define KEY_M                 SDL_SCANCODE_M
#define KEY_COMMA             SDL_SCANCODE_COMMA
#define KEY_STOP              SDL_SCANCODE_PERIOD
#define KEY_SLASH             SDL_SCANCODE_SLASH
#define KEY_RSHIFT            SDL_SCANCODE_RSHIFT
#define KEY_ASTERISK          SDL_SCANCODE_KP_MULTIPLY
#define KEY_ALT               SDL_SCANCODE_LALT
#define KEY_SPACE             SDL_SCANCODE_SPACE
#define KEY_CAPSLOCK          SDL_SCANCODE_CAPSLOCK
#define KEY_F1                SDL_SCANCODE_F1
#define KEY_F2                SDL_SCANCODE_F2
#define KEY_F3                SDL_SCANCODE_F3
#define KEY_F4                SDL_SCANCODE_F4
#define KEY_F5                SDL_SCANCODE_F5
#define KEY_F6                SDL_SCANCODE_F6
#define KEY_F7                SDL_SCANCODE_F7
#define KEY_F8                SDL_SCANCODE_F8
#define KEY_F9                SDL_SCANCODE_F9
#define KEY_F10               SDL_SCANCODE_F10
#define KEY_NUMLOCK           SDL_SCANCODE_NUMLOCKCLEAR
#define KEY_SCRLOCK           SDL_SCANCODE_SCROLLLOCK
#define KEY_HOME              SDL_SCANCODE_HOME
#define KEY_UP                SDL_SCANCODE_UP
#define KEY_PGUP              SDL_SCANCODE_PAGEUP
#define KEY_MINUS_PAD         SDL_SCANCODE_KP_MINUS
#define KEY_LEFT              SDL_SCANCODE_LEFT
#define KEY_RIGHT             SDL_SCANCODE_RIGHT
#define KEY_PLUS_PAD          SDL_SCANCODE_KP_PLUS
#define KEY_END               SDL_SCANCODE_END
#define KEY_DOWN              SDL_SCANCODE_DOWN
#define KEY_PGDN              SDL_SCANCODE_PAGEDOWN
#define KEY_INSERT            SDL_SCANCODE_INSERT
#define KEY_DEL               SDL_SCANCODE_DELETE
#define KEY_PRTSCR            SDL_SCANCODE_PRINTSCREEN
#define KEY_F11               SDL_SCANCODE_F11
#define KEY_F12               SDL_SCANCODE_F12
#define KEY_LWIN              SDL_SCANCODE_LGUI
#define KEY_RWIN              SDL_SCANCODE_RGUI
#define KEY_MENU              SDL_SCANCODE_APPLICATION
//#define KEY_PAD               100
#define KEY_RCONTROL          SDL_SCANCODE_RCTRL
#define KEY_ALTGR             SDL_SCANCODE_RALT
#define KEY_SLASH2            SDL_SCANCODE_SLASH
#define KEY_PAUSE             SDL_SCANCODE_PAUSE

#define KEY_0_PAD             SDL_SCANCODE_KP_0
#define KEY_1_PAD             SDL_SCANCODE_KP_1
#define KEY_2_PAD             SDL_SCANCODE_KP_2
#define KEY_3_PAD             SDL_SCANCODE_KP_3
#define KEY_4_PAD             SDL_SCANCODE_KP_4
#define KEY_5_PAD             SDL_SCANCODE_KP_5
#define KEY_6_PAD             SDL_SCANCODE_KP_6
#define KEY_7_PAD             SDL_SCANCODE_KP_7
#define KEY_8_PAD             SDL_SCANCODE_KP_8
#define KEY_9_PAD             SDL_SCANCODE_KP_9
#define KEY_SEMICOLON         SDL_SCANCODE_SEMICOLON
#define KEY_SLASH_PAD         SDL_SCANCODE_KP_DIVIDE
#define KEY_BACKSLASH2        SDL_SCANCODE_NONUSBACKSLASH
#define KEY_DEL_PAD           SDL_SCANCODE_KP_PERIOD
#define KEY_ENTER_PAD         SDL_SCANCODE_KP_ENTER
