/* Provides InputManager::isKeyDown(int ascii) using Windows native functions. Ergo: very basic game controls when SDL and other libraries are unavailable. */ #pragma once #include "Windows.h" class InputManager{ public: //expects windows virtual key VK_* codes //https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx static bool InputManager::isKeyDown(int key){ return (::GetAsyncKeyState(key) & (1 << 16)); } }; static const int VK_0 = int('0'); static const int VK_1 = int('1'); static const int VK_2 = int('2'); static const int VK_3 = int('3'); static const int VK_4 = int('4'); static const int VK_5 = int('5'); static const int VK_6 = int('6'); static const int VK_7 = int('7'); static const int VK_8 = int('8'); static const int VK_9 = int('9'); static const int VK_AT= int('@'); static const int VK_A = int('A'); static const int VK_B = int('B'); static const int VK_C = int('C'); static const int VK_D = int('D'); static const int VK_E = int('E'); static const int VK_F = int('F'); static const int VK_G = int('G'); static const int VK_H = int('H'); static const int VK_I = int('I'); static const int VK_J = int('J'); static const int VK_K = int('K'); static const int VK_L = int('L'); static const int VK_M = int('M'); static const int VK_N = int('N'); static const int VK_O = int('O'); static const int VK_P = int('P'); static const int VK_Q = int('Q'); static const int VK_R = int('R'); static const int VK_S = int('S'); static const int VK_T = int('T'); static const int VK_U = int('U'); static const int VK_V = int('V'); static const int VK_X = int('X'); static const int VK_Y = int('Y'); static const int VK_Z = int('Z'); static const int VK_Å = int('Å'); static const int VK_Ä = int('Ä'); static const int VK_Ö = int('Ö');