//returns true if the key is just pressed bool InputManager::IsKeyPressed(unsigned int keyID) { //check if the key is pressed this frame but not last frame. bool isPressed = false; if ((IsKeyDown(keyID) == true) && (WasKeyDown(keyID) == false)) { UpDate(); return true; } return false; }
bool Keyboard::WasKeyReleasedThisFrame(byte key) const { return (IsKeyUp(key) && WasKeyDown(key)); }
bool Keyboard::IsKeyHeldDown(byte key) const { return (IsKeyDown(key) && WasKeyDown(key)); }
unsigned int __stdcall KeyboardListenerThread(LPVOID lpArguments) { for (;;) { Sleep(1); // Make sure cpu can keep up bool shift = IsKeyDown(VK_LSHIFT); bool ctrl = IsKeyDown(VK_LCONTROL); if (shift && WasKeyDown(VK_UP)) { gVars.varReloadTime += 1.0f; printf("varReloadTime: %f\n", gVars.varReloadTime.Get()); } if (shift && WasKeyDown(VK_DOWN)) { if (gVars.varReloadTime <= 1.0f) gVars.varReloadTime = 1.0f; else gVars.varReloadTime -= 1.0f; printf("varReloadTime: %f\n", gVars.varReloadTime.Get()); } if (shift && WasKeyDown(VK_RIGHT)) { if (gVars.varFireRate > 8000.0f) gVars.varFireRate = 8000.0f; else gVars.varFireRate += 1.0f; printf("varFireRate: %f\n", gVars.varFireRate.Get()); } if (shift && WasKeyDown(VK_LEFT)) { if (gVars.varFireRate < 1.0f) gVars.varFireRate = 1.0f; else gVars.varFireRate -= 1.0f; printf("varFireRate: %f\n", gVars.varFireRate.Get()); } if (ctrl && WasKeyDown(VK_RIGHT)) { gVars.varMovementSpeed += 1.0f; printf("varMovementSpeed: %f\n", gVars.varMovementSpeed.Get()); } if (ctrl && WasKeyDown(VK_LEFT)) { if (gVars.varMovementSpeed < 1.0f) gVars.varMovementSpeed = 1.0f; else gVars.varMovementSpeed -= 1.0f; printf("varMovementSpeed: %f\n", gVars.varMovementSpeed.Get()); } if (WasKeyDown(VK_F1)) { gVars.varEnableMovementSpeed.Toggle(); printf("varEnableMovementSpeed: %s\n", gVars.varEnableMovementSpeed.Get() ? "true" : "false"); } } }