112 lines
1 KiB
C++
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 */
|