/* ----------------------------------------------------------------------------- GSFramework Copyright 2001-2013 Emmanuel Julien. All Rights Reserved. ----------------------------------------------------------------------------- */ #ifndef __KEYBOARD_INPUT__ #define __KEYBOARD_INPUT__ #include "input/input_device.h" namespace GS { namespace Input { /* @short Keyboard input device. @author Emmanuel Julien (ejulien@nworks.fr) */ class Keyboard : public Device { protected: bool is_down[Key_Last], was_down[Key_Last]; public: virtual Type GetType() const { return Type_Keyboard; } virtual const char *GetName() const { return "Keyboard"; } virtual void Update() = 0; virtual bool IsDown(KeyCode k) const { return is_down[k]; } virtual bool WasDown(KeyCode k) const { return was_down[k]; } Keyboard(); }; } // Input } // GS #endif // __KEYBOARD_INPUT__