namespace GlitchyEngine
{
	public enum Key : int32
	{
		// Based on Win32 Virtual Keys
		case LeftButton		= 1;	// Left mouse button
		case RightRutton	= 2;	// Right mouse button
		case MiddleButton   = 4;	// Middle mouse button(three - button mouse)
		case XButton1 		= 5;	// X1 mouse button
		case XButton2 		= 6;	// X2 mouse button
		case Backspace 		= 8;	// Backspace key
		case Tab 			= 9;	// Tab key
		case Return 		= 13;	// Enter key
		case Shift 			= 16;	// Shift key
		case Control 		= 17;	// Ctrl key
		case Alt 			= 18;	// Alt key
		case Pause 			= 19;	// Pause key
		case CapsLock		= 20;	// Caps Lock key
		case Escape 		= 27;	// ESC key
		case Space 			= 32;	// Spacebar
		case Prior 			= 33;	// Page Up key
		case Next 			= 34;	// Page Down key
		case End 			= 35;	// END key
		case Home 			= 36;	// HOME key
		case Left 			= 37;	// LEFT ARROW key
		case Up 			= 38;	// UP ARROW key
		case Right 			= 39;	// RIGHT ARROW key
		case Down 			= 40;	// DOWN ARROW key
		case Print 			= 42;	// PRINT key
		case Insert 		= 45;	// INS key
		case Delete 		= 46;	// DEL key
		case Help 			= 47;	// HELP key
		case Zero 			= 48;	// 0 key
		case One 			= 49;	// 1 key
		case Two 			= 50;	// 2 key
		case Three 			= 51;	// 3 key
		case Four 			= 52;	// 4 key
		case Five 			= 53;	// 5 key
		case Six 			= 54;	// 6 key
		case Seven 			= 55;	// 7 key
		case Eight 			= 56;	// 8 key
		case Nine 			= 57;	// 9 key
		case A 				= 65;	// A key
		case B 				= 66;	// B key
		case C 				= 67;	// C key
		case D 				= 68;	// D key
		case E 				= 69;	// E key
		case F 				= 70;	// F key
		case G 				= 71;	// G key
		case H 				= 72;	// H key
		case I 				= 73;	// I key
		case J 				= 74;	// J key
		case K 				= 75;	// K key
		case L 				= 76;	// L key
		case M 				= 77;	// M key
		case N 				= 78;	// N key
		case O 				= 79;	// O key
		case P 				= 80;	// P key
		case Q 				= 81;	// Q key
		case R 				= 82;	// R key
		case S 				= 83;	// S key
		case T 				= 84;	// T key
		case U 				= 85;	// U key
		case V 				= 86;	// V key
		case W 				= 87;	// W key
		case X 				= 88;	// X key
		case Y 				= 89;	// Y key
		case Z 				= 90;	// Z key
		case LeftSuper		= 91;	// Left Windows key(Microsoft® Natural® keyboard)
		case RightSuper		= 92;	// Right Windows key(Natural keyboard)
		case ContextMenu	= 93;	// Context Menu key (VK_APPS)
		case Numpad0 		= 96;	// Numeric keypad 0 key
		case Numpad1 		= 97;	// Numeric keypad 1 key
		case Numpad2 		= 98;	// Numeric keypad 2 key
		case Numpad3 		= 99;	// Numeric keypad 3 key
		case Numpad4 		= 100;	// Numeric keypad 4 key
		case Numpad5 		= 101;	// Numeric keypad 5 key
		case Numpad6 		= 102;	// Numeric keypad 6 key
		case Numpad7 		= 103;	// Numeric keypad 7 key
		case Numpad8 		= 104;	// Numeric keypad 8 key
		case Numpad9 		= 105;	// Numeric keypad 9 key
		case Multiply 		= 106;	// Multiply key
		case Add 			= 107;	// Add key
		case Separator 		= 108;	// Separator key
		case Subtract 		= 109;	// Subtract key
		case Decimal 		= 110;	// Decimal key
		case Divide 		= 111;	// Divide key
		case F1 			= 112;	// F1 key
		case F2 			= 113;	// F2 key
		case F3 			= 114;	// F3 key
		case F4 			= 115;	// F4 key
		case F5 			= 116;	// F5 key
		case F6 			= 117;	// F6 key
		case F7 			= 118;	// F7 key
		case F8 			= 119;	// F8 key
		case F9 			= 120;	// F9 key
		case F10 			= 121;	// F10 key
		case F11 			= 122;	// F11 key
		case F12 			= 123;	// F12 key
		case F13 			= 124;	// F13 key
		case F14 			= 125;	// F14 key
		case F15 			= 126;	// F15 key
		case F16 			= 127;	// F16 key
		case F17 			= 128;	// F17 key
		case F18 			= 129;	// F18 key
		case F19 			= 130;	// F19 key
		case F20 			= 131;	// F20 key
		case F21 			= 132;	// F21 key
		case F22 			= 133;	// F22 key
		case F23 			= 134;	// F23 key
		case F24 			= 135;	// F24 key
		case Numlock 		= 144;	// NUM LOCK key
		case Scroll 		= 145;	// SCROLL LOCK key
		case LeftShift 		= 160;	// Left SHIFT key
		case RightShift 	= 161;	// Right SHIFT key
		case LeftControl 	= 162;	// Left CONTROL key
		case RightControl	= 163;	// Right CONTROL key
		case LeftAlt 		= 164;	// Left Alt key
		case RightAlt 		= 165;	// Right Alt key
	}
}
