#pragma once

// First ~100 keycodes correspond to PS2 scancode set 1,
#define KEY_ESC 1
#define KEY_1 2
#define KEY_2 3
#define KEY_3 4
#define KEY_4 5
#define KEY_5 6
#define KEY_6 7
#define KEY_7 8
#define KEY_8 9
#define KEY_9 10
#define KEY_0 11
#define KEY_MINUS 12
#define KEY_EQUAL 13
#define KEY_BACKSPACE 14
#define KEY_TAB 15
#define KEY_Q 16
#define KEY_W 17
#define KEY_E 18
#define KEY_R 19
#define KEY_T 20
#define KEY_Y 21
#define KEY_U 22
#define KEY_I 23
#define KEY_O 24
#define KEY_P 25
#define KEY_LBRACE 26
#define KEY_RBRACE 27
#define KEY_ENTER 28
#define KEY_LCTRL 29
#define KEY_A 30
#define KEY_S 31
#define KEY_D 32
#define KEY_F 33
#define KEY_G 34
#define KEY_H 35
#define KEY_J 36
#define KEY_K 37
#define KEY_L 38
#define KEY_SEMICOLON 39
#define KEY_APOSTROPHE 40
#define KEY_BACKTICK 41
#define KEY_LSHIFT 42
#define KEY_BACKSLASH 43
#define KEY_Z 44
#define KEY_X 45
#define KEY_C 46
#define KEY_V 47
#define KEY_B 48
#define KEY_N 49
#define KEY_M 50
#define KEY_COMMA 51
#define KEY_DOT 52
#define KEY_SLASH 53
#define KEY_RSHIFT 54
#define KEY_KP_ASTERISK 55
#define KEY_LALT 56
#define KEY_SPACE 57
#define KEY_CAPS 58
#define KEY_F1 59
#define KEY_F2 60
#define KEY_F3 61
#define KEY_F4 62
#define KEY_F5 63
#define KEY_F6 64
#define KEY_F7 65
#define KEY_F8 66
#define KEY_F9 67
#define KEY_F10 68
#define KEY_NUMLOCK 69
#define KEY_SCLOCK 70
#define KEY_KP_7 71 // KP (keypad) keys
#define KEY_KP_8 72
#define KEY_KP_9 73
#define KEY_KP_MINUS 74
#define KEY_KP_4 75
#define KEY_KP_5 76
#define KEY_KP_6 77
#define KEY_KP_PLUS 78
#define KEY_KP_1 79
#define KEY_KP_2 80
#define KEY_KP_3 81
#define KEY_KP_0 82
#define KEY_KP_DOT 83

#define KEY_F11 87
#define KEY_F12 88

// These are 'extended' scancodes
// and values are specific to Lemon
#define KEY_RALT 100
#define KEY_RCTRL 101
#define KEY_HOME 102
#define KEY_UP 103
#define KEY_PGUP 104
#define KEY_LEFT 105
#define KEY_RIGHT 106
#define KEY_END 107
#define KEY_DOWN 108
#define KEY_PGDN 109
#define KEY_INSERT 110
#define KEY_DELETE 111
#define KEY_GUI 112
