1
0
Fork 0
spectre/include/Spectre/Input/Keyboard.h

112 lines
1 KiB
C++

#ifndef SPECTRE_INPUT_KEYBOARD_H
#define SPECTRE_INPUT_KEYBOARD_H
#include <string>
#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,
NUMPAD_1,
NUMPAD_2,
NUMPAD_3,
NUMPAD_4,
NUMPAD_5,
NUMPAD_6,
NUMPAD_7,
NUMPAD_8,
NUMPAD_9,
NUMPAD_0,
NUMPAD_Enter,
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 */