// ZDoom bases its keycodes on DirectInput's scan codes
// Why? Because it was Win32-only before porting to anything else,
// so this made sense. AFAIK, it's primarily used under Win32 now,
// so it still makes sense.
//
// Actually, these key codes may only be used for key bindings now,
// in which case they're not really necessary--if we tweaked c_bind.cpp.

enum
{
	DIK_ESCAPE = 1,
	DIK_1,
	DIK_2,
	DIK_3,
	DIK_4,
	DIK_5,
	DIK_6,
	DIK_7,
	DIK_8,
	DIK_9,
	DIK_0,
	DIK_MINUS,				/* - on main keyboard */
	DIK_EQUALS,
	DIK_BACK,				/* backspace */
	DIK_TAB,
	DIK_Q,
	DIK_W,
	DIK_E,
	DIK_R,
	DIK_T,
	DIK_Y,
	DIK_U,
	DIK_I,
	DIK_O,
	DIK_P,
	DIK_LBRACKET,
	DIK_RBRACKET,
	DIK_RETURN,				/* Enter on main keyboard */
	DIK_LCONTROL,
	DIK_A,
	DIK_S,
	DIK_D,
	DIK_F,
	DIK_G,
	DIK_H,
	DIK_J,
	DIK_K,
	DIK_L,
	DIK_SEMICOLON,
	DIK_APOSTROPHE,
	DIK_GRAVE,				/* accent grave */
	DIK_LSHIFT,
	DIK_BACKSLASH,
	DIK_Z,
	DIK_X,
	DIK_C,
	DIK_V,
	DIK_B,
	DIK_N,
	DIK_M,
	DIK_COMMA,
	DIK_PERIOD,				/* . on main keyboard */
	DIK_SLASH,				/* / on main keyboard */
	DIK_RSHIFT,
	DIK_MULTIPLY,			/* * on numeric keypad */
	DIK_LMENU,				/* left Alt */
	DIK_SPACE,
	DIK_CAPITAL,
	DIK_F1,
	DIK_F2,
	DIK_F3,
	DIK_F4,
	DIK_F5,
	DIK_F6,
	DIK_F7,
	DIK_F8,
	DIK_F9,
	DIK_F10,
	DIK_NUMLOCK,
	DIK_SCROLL,				/* Scroll Lock */
	DIK_NUMPAD7,
	DIK_NUMPAD8,
	DIK_NUMPAD9,
	DIK_SUBTRACT,			/* - on numeric keypad */
	DIK_NUMPAD4,
	DIK_NUMPAD5,
	DIK_NUMPAD6,
	DIK_ADD,				/* + on numeric keypad */
	DIK_NUMPAD1,
	DIK_NUMPAD2,
	DIK_NUMPAD3,
	DIK_NUMPAD0,
	DIK_DECIMAL,			/* . on numeric keypad */
	DIK_OEM_102 = 0x56,		/* < > | on UK/Germany keyboards */
	DIK_F11,
	DIK_F12,
	DIK_F13 = 0x64,		    /*                     (NEC PC98) */
	DIK_F14,				/*                     (NEC PC98) */
	DIK_F15,				/*                     (NEC PC98) */
	DIK_KANA = 0x70,		/* (Japanese keyboard)            */
	DIK_ABNT_C1 = 0x73,		/* / ? on Portugese (Brazilian) keyboards */
	DIK_CONVERT = 0x79,    	/* (Japanese keyboard)            */
	DIK_NOCONVERT = 0x7B,	/* (Japanese keyboard)            */
	DIK_YEN = 0x7D,			/* (Japanese keyboard)            */
	DIK_ABNT_C2 = 0x7E,		/* Numpad . on Portugese (Brazilian) keyboards */
	DIK_NUMPAD_EQUALS = 0x8D, /* = on numeric keypad (NEC PC98) */
	DIK_PREVTRACK = 0x90,	/* Previous Track (DIK_CIRCUMFLEX on Japanese keyboard) */
	DIK_AT,					/*                     (NEC PC98) */
	DIK_COLON,				/*                     (NEC PC98) */
	DIK_UNDERLINE,			/*                     (NEC PC98) */
	DIK_KANJI,				/* (Japanese keyboard)            */
	DIK_STOP,				/*                     (NEC PC98) */
	DIK_AX,					/*                     (Japan AX) */
	DIK_UNLABELED,			/*                        (J3100) */
	DIK_NEXTTRACK = 0x99,	/* Next Track */
	DIK_NUMPADENTER = 0x9C,	/* Enter on numeric keypad */
	DIK_RCONTROL = 0x9D,
	DIK_MUTE = 0xA0,		/* Mute */
	DIK_CALCULATOR = 0xA1,	/* Calculator */
	DIK_PLAYPAUSE = 0xA2,	/* Play / Pause */
	DIK_MEDIASTOP = 0xA4,	/* Media Stop */
	DIK_VOLUMEDOWN = 0xAE,	/* Volume - */
	DIK_VOLUMEUP = 0xB0,   	/* Volume + */
	DIK_WEBHOME = 0xB2,    	/* Web home */
	DIK_NUMPADCOMMA = 0xB3,	/* , on numeric keypad (NEC PC98) */
	DIK_DIVIDE = 0xB5,    	/* / on numeric keypad */
	DIK_SYSRQ = 0xB7,
	DIK_RMENU = 0xB8,		/* right Alt */
	DIK_PAUSE = 0xC5,		/* Pause */
	DIK_HOME = 0xC7,		/* Home on arrow keypad */
	DIK_UP = 0xC8,			/* UpArrow on arrow keypad */
	DIK_PRIOR = 0xC9,		/* PgUp on arrow keypad */
	DIK_LEFT = 0xCB,		/* LeftArrow on arrow keypad */
	DIK_RIGHT = 0xCD,		/* RightArrow on arrow keypad */
	DIK_END = 0xCF,			/* End on arrow keypad */
	DIK_DOWN = 0xD0,		/* DownArrow on arrow keypad */
	DIK_NEXT = 0xD1,		/* PgDn on arrow keypad */
	DIK_INSERT = 0xD2,		/* Insert on arrow keypad */
	DIK_DELETE = 0xD3,		/* Delete on arrow keypad */
	DIK_LWIN = 0xDB,		/* Left Windows key */
	DIK_RWIN = 0xDC,		/* Right Windows key */
	DIK_APPS = 0xDD,		/* AppMenu key */
	DIK_POWER = 0xDE,		/* System Power */
	DIK_SLEEP = 0xDF,		/* System Sleep */
	DIK_WAKE = 0xE3,		/* System Wake */
	DIK_WEBSEARCH = 0xE5,	/* Web Search */
	DIK_WEBFAVORITES = 0xE6, /* Web Favorites */
	DIK_WEBREFRESH = 0xE7,	/* Web Refresh */
	DIK_WEBSTOP = 0xE8,		/* Web Stop */
	DIK_WEBFORWARD = 0xE9,	/* Web Forward */
	DIK_WEBBACK = 0xEA,		/* Web Back */
	DIK_MYCOMPUTER = 0xEB,	/* My Computer */
	DIK_MAIL = 0xEC,		/* Mail */
	DIK_MEDIASELECT = 0xED	/* Media Select */
};