#ifndef SPECTRE_INPUT_KEYBOARD_H #define SPECTRE_INPUT_KEYBOARD_H #include #include "InputDevice.h" namespace sp { class Keyboard : public InputDevice { public : enum Key { Unknown, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Zero, Period, Comma, Enter, Backspace, Escape, Space, Capslock, Up, Down, Left, Right, Numpad1, Numpad2, Numpad3, Numpad4, Numpad5, Numpad6, Numpad7, Numpad8, Numpad9, Numpad0, Home, End, Insert, Delete, PageUp, PageDown, Pause, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Tab, LShift, RShift, LCtrl, RCtrl, LAlt, RAlt, NUM_KEYS, }; public : virtual ~Keyboard() {}; virtual bool isKeyDown(Key key) = 0; static std::string getKeyName(Key key); }; } // namespace sp #endif /* SPECTRE_INPUT_KEYBOARD_H */