#ifndef KeyboardInputHandler_h__ #define KeyboardInputHandler_h__ #include #include "InputHandler.h" #include "Core/EKeyDown.h" #include "Core/EKeyUp.h" class KeyboardInputHandler : public InputHandler { public: KeyboardInputHandler(EventBroker* eventBroker, InputProxy* inputProxy); bool BindOrigin(std::string origin, std::string command, float value) override; virtual float GetCommandValue(std::string command) override; private: std::unordered_map m_OriginKeyCodes; std::unordered_map> m_KeyBindings; // GLFW_KEY... -> command string & value std::unordered_map m_CommandValues; EventRelay m_EKeyDown; bool OnKeyDown(const Events::KeyDown& e); EventRelay m_EKeyUp; bool OnKeyUp(const Events::KeyUp& e); }; #endif