INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_UP,                      SDL_SCANCODE_UP)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_DOWN,                    SDL_SCANCODE_DOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_LEFT,                    SDL_SCANCODE_LEFT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_RIGHT,                   SDL_SCANCODE_RIGHT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_JUMP,                    SDL_SCANCODE_RALT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_DRAW_WEAPON,             SDL_SCANCODE_SPACE)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_ACTION,                  SDL_SCANCODE_RCTRL)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_SLOW,                    SDL_SCANCODE_RSHIFT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_LOOK,                    SDL_SCANCODE_KP_0)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_STEP_LEFT,               SDL_SCANCODE_DELETE)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_STEP_RIGHT,              SDL_SCANCODE_PAGEDOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_ROLL,                    SDL_SCANCODE_END)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_SPRINT,                  SDL_SCANCODE_PERIOD)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CROUCH,                  SDL_SCANCODE_C)

INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_ENTER_CONSOLE,           SDL_SCANCODE_SLASH)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_SAVE,                    SDL_SCANCODE_F5)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_LOAD,                    SDL_SCANCODE_F6)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_QUICK_SAVE,              SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_QUICK_LOAD,              SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_PAUSE,                   SDL_SCANCODE_P)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_UI,               SDL_SCANCODE_H)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_PHOTO_MODE,       SDL_SCANCODE_F1)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CHANGE_TARGET,           SDL_SCANCODE_Z)

INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_FLY_CHEAT,               SDL_SCANCODE_O)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_ITEM_CHEAT,              SDL_SCANCODE_I)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_LEVEL_SKIP_CHEAT,        SDL_SCANCODE_L)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TURBO_CHEAT,             SDL_SCANCODE_TAB)

INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_UP,               SDL_SCANCODE_Q)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_DOWN,             SDL_SCANCODE_E)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_FORWARD,          SDL_SCANCODE_W)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_BACK,             SDL_SCANCODE_S)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_LEFT,             SDL_SCANCODE_A)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CAMERA_RIGHT,            SDL_SCANCODE_D)

INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_PISTOLS,           SDL_SCANCODE_1)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_SHOTGUN,           SDL_SCANCODE_2)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_MAGNUMS,           SDL_SCANCODE_3)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_AUTOS,             SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_DESERT_EAGLE,      SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_UZIS,              SDL_SCANCODE_4)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_HARPOON,           SDL_SCANCODE_5)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_M16,               SDL_SCANCODE_6)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_MP5,               SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_GRENADE_LAUNCHER,  SDL_SCANCODE_7)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_EQUIP_ROCKET_LAUNCHER,   SDL_SCANCODE_UNKNOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_USE_SMALL_MEDI,          SDL_SCANCODE_8)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_USE_BIG_MEDI,            SDL_SCANCODE_9)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_USE_FLARE,               SDL_SCANCODE_COMMA)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_USE_BINOCULARS,          SDL_SCANCODE_B)

INPUT_KEYBOARD_ASSIGN_COMBO(INPUT_ROLE_TOGGLE_FULLSCREEN, SDL_SCANCODE_LALT, SDL_SCANCODE_RETURN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_FPS,                     SDL_SCANCODE_F2)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_BILINEAR_FILTER,  SDL_SCANCODE_F3)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_TRAPEZOID_FILTER, SDL_SCANCODE_F4)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_WIREFRAME,        SDL_SCANCODE_F7)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_TOGGLE_TEXTURES,         SDL_SCANCODE_F8)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CYCLE_LIGHTING_CONTRAST, SDL_SCANCODE_F9)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_CHANGE_OUTFIT,           SDL_SCANCODE_T)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_RESET_BINDINGS,          SDL_SCANCODE_R)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_UNBIND_KEY,              SDL_SCANCODE_BACKSPACE)

INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_INVENTORY,               SDL_SCANCODE_ESCAPE)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_BACK,               SDL_SCANCODE_ESCAPE)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_CONFIRM,            SDL_SCANCODE_RETURN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_UP,                 SDL_SCANCODE_UP)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_DOWN,               SDL_SCANCODE_DOWN)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_LEFT,               SDL_SCANCODE_LEFT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_RIGHT,              SDL_SCANCODE_RIGHT)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_TAB_LEFT,           SDL_SCANCODE_DELETE)
INPUT_KEYBOARD_ASSIGN(INPUT_ROLE_MENU_TAB_RIGHT,          SDL_SCANCODE_PAGEDOWN)
