include/Spectre/Input/InputEvent.h: Move Key::Type to Keyboard class
This commit is contained in:
parent
762d26f368
commit
24c3f14c8c
5 changed files with 220 additions and 222 deletions
|
|
@ -5,101 +5,10 @@
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <Spectre/Input/Mouse.h>
|
#include <Spectre/Input/Mouse.h>
|
||||||
|
#include <Spectre/Input/Keyboard.h>
|
||||||
|
|
||||||
namespace sp {
|
namespace sp {
|
||||||
|
|
||||||
namespace Key {
|
|
||||||
|
|
||||||
enum Type {
|
|
||||||
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,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
typedef struct InputEvent
|
typedef struct InputEvent
|
||||||
{
|
{
|
||||||
enum Type
|
enum Type
|
||||||
|
|
@ -111,8 +20,8 @@ typedef struct InputEvent
|
||||||
};
|
};
|
||||||
|
|
||||||
struct KeyEvent {
|
struct KeyEvent {
|
||||||
Key::Type code;
|
Keyboard::Key code;
|
||||||
bool pressed; /* true if pressed, false if released. */
|
bool pressed; /* true if pressed, false if released. */
|
||||||
|
|
||||||
std::string getKeyName() const; /* Get the key name */
|
std::string getKeyName() const; /* Get the key name */
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -3,19 +3,108 @@
|
||||||
#define SPECTRE_INPUT_KEYBOARD_H
|
#define SPECTRE_INPUT_KEYBOARD_H
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
#include "InputEvent.h"
|
|
||||||
#include "InputDevice.h"
|
#include "InputDevice.h"
|
||||||
|
|
||||||
namespace sp {
|
namespace sp {
|
||||||
|
|
||||||
class Keyboard : public InputDevice
|
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 :
|
public :
|
||||||
virtual ~Keyboard() {};
|
virtual ~Keyboard() {};
|
||||||
|
|
||||||
virtual bool isKeyDown(Key::Type key) = 0;
|
virtual bool isKeyDown(Key key) = 0;
|
||||||
|
|
||||||
static std::string getKeyName(Key::Type key);
|
static std::string getKeyName(Key key);
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace sp
|
} // namespace sp
|
||||||
|
|
|
||||||
|
|
@ -5,107 +5,107 @@ namespace sp {
|
||||||
|
|
||||||
struct keyentry
|
struct keyentry
|
||||||
{
|
{
|
||||||
Key::Type type;
|
Keyboard::Key type;
|
||||||
const char *name;
|
const char *name;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MapSym(key, name) { key, name }
|
#define MapSym(key, name) { key, name }
|
||||||
|
|
||||||
struct keyentry table[] = {
|
struct keyentry table[] = {
|
||||||
MapSym(Key::Unknown, "Unknown"),
|
MapSym(Keyboard::Key::Unknown, "Unknown"),
|
||||||
MapSym(Key::A, "A"),
|
MapSym(Keyboard::Key::A, "A"),
|
||||||
MapSym(Key::B, "B"),
|
MapSym(Keyboard::Key::B, "B"),
|
||||||
MapSym(Key::C, "C"),
|
MapSym(Keyboard::Key::C, "C"),
|
||||||
MapSym(Key::D, "D"),
|
MapSym(Keyboard::Key::D, "D"),
|
||||||
MapSym(Key::E, "E"),
|
MapSym(Keyboard::Key::E, "E"),
|
||||||
MapSym(Key::F, "F"),
|
MapSym(Keyboard::Key::F, "F"),
|
||||||
MapSym(Key::G, "G"),
|
MapSym(Keyboard::Key::G, "G"),
|
||||||
MapSym(Key::H, "H"),
|
MapSym(Keyboard::Key::H, "H"),
|
||||||
MapSym(Key::I, "I"),
|
MapSym(Keyboard::Key::I, "I"),
|
||||||
MapSym(Key::J, "J"),
|
MapSym(Keyboard::Key::J, "J"),
|
||||||
MapSym(Key::K, "K"),
|
MapSym(Keyboard::Key::K, "K"),
|
||||||
MapSym(Key::L, "L"),
|
MapSym(Keyboard::Key::L, "L"),
|
||||||
MapSym(Key::M, "M"),
|
MapSym(Keyboard::Key::M, "M"),
|
||||||
MapSym(Key::N, "N"),
|
MapSym(Keyboard::Key::N, "N"),
|
||||||
MapSym(Key::O, "O"),
|
MapSym(Keyboard::Key::O, "O"),
|
||||||
MapSym(Key::P, "P"),
|
MapSym(Keyboard::Key::P, "P"),
|
||||||
MapSym(Key::Q, "Q"),
|
MapSym(Keyboard::Key::Q, "Q"),
|
||||||
MapSym(Key::R, "R"),
|
MapSym(Keyboard::Key::R, "R"),
|
||||||
MapSym(Key::S, "S"),
|
MapSym(Keyboard::Key::S, "S"),
|
||||||
MapSym(Key::T, "T"),
|
MapSym(Keyboard::Key::T, "T"),
|
||||||
MapSym(Key::U, "U"),
|
MapSym(Keyboard::Key::U, "U"),
|
||||||
MapSym(Key::V, "V"),
|
MapSym(Keyboard::Key::V, "V"),
|
||||||
MapSym(Key::W, "W"),
|
MapSym(Keyboard::Key::W, "W"),
|
||||||
MapSym(Key::X, "X"),
|
MapSym(Keyboard::Key::X, "X"),
|
||||||
MapSym(Key::Y, "Y"),
|
MapSym(Keyboard::Key::Y, "Y"),
|
||||||
MapSym(Key::Z, "Z"),
|
MapSym(Keyboard::Key::Z, "Z"),
|
||||||
MapSym(Key::One, "1"),
|
MapSym(Keyboard::Key::One, "1"),
|
||||||
MapSym(Key::Two, "2"),
|
MapSym(Keyboard::Key::Two, "2"),
|
||||||
MapSym(Key::Three, "3"),
|
MapSym(Keyboard::Key::Three, "3"),
|
||||||
MapSym(Key::Four, "4"),
|
MapSym(Keyboard::Key::Four, "4"),
|
||||||
MapSym(Key::Five, "5"),
|
MapSym(Keyboard::Key::Five, "5"),
|
||||||
MapSym(Key::Six, "6"),
|
MapSym(Keyboard::Key::Six, "6"),
|
||||||
MapSym(Key::Seven, "7"),
|
MapSym(Keyboard::Key::Seven, "7"),
|
||||||
MapSym(Key::Eight, "8"),
|
MapSym(Keyboard::Key::Eight, "8"),
|
||||||
MapSym(Key::Nine, "9"),
|
MapSym(Keyboard::Key::Nine, "9"),
|
||||||
MapSym(Key::Zero, "0"),
|
MapSym(Keyboard::Key::Zero, "0"),
|
||||||
MapSym(Key::Period, "Period"),
|
MapSym(Keyboard::Key::Period, "Period"),
|
||||||
MapSym(Key::Comma, "Comma"),
|
MapSym(Keyboard::Key::Comma, "Comma"),
|
||||||
MapSym(Key::Enter, "Enter"),
|
MapSym(Keyboard::Key::Enter, "Enter"),
|
||||||
MapSym(Key::Backspace, "Backspace"),
|
MapSym(Keyboard::Key::Backspace, "Backspace"),
|
||||||
MapSym(Key::Escape, "Escape"),
|
MapSym(Keyboard::Key::Escape, "Escape"),
|
||||||
MapSym(Key::Space, "Space"),
|
MapSym(Keyboard::Key::Space, "Space"),
|
||||||
MapSym(Key::Capslock, "Capslock"),
|
MapSym(Keyboard::Key::Capslock, "Capslock"),
|
||||||
MapSym(Key::Up, "Up"),
|
MapSym(Keyboard::Key::Up, "Up"),
|
||||||
MapSym(Key::Down, "Down"),
|
MapSym(Keyboard::Key::Down, "Down"),
|
||||||
MapSym(Key::Left, "Left"),
|
MapSym(Keyboard::Key::Left, "Left"),
|
||||||
MapSym(Key::Right, "Right"),
|
MapSym(Keyboard::Key::Right, "Right"),
|
||||||
|
|
||||||
// Numpad
|
// Numpad
|
||||||
MapSym(Key::NUMPAD_1, "Numpad 1"),
|
MapSym(Keyboard::Key::NUMPAD_1, "Numpad 1"),
|
||||||
MapSym(Key::NUMPAD_2, "Numpad 2"),
|
MapSym(Keyboard::Key::NUMPAD_2, "Numpad 2"),
|
||||||
MapSym(Key::NUMPAD_3, "Numpad 3"),
|
MapSym(Keyboard::Key::NUMPAD_3, "Numpad 3"),
|
||||||
MapSym(Key::NUMPAD_4, "Numpad 4"),
|
MapSym(Keyboard::Key::NUMPAD_4, "Numpad 4"),
|
||||||
MapSym(Key::NUMPAD_5, "Numpad 5"),
|
MapSym(Keyboard::Key::NUMPAD_5, "Numpad 5"),
|
||||||
MapSym(Key::NUMPAD_6, "Numpad 6"),
|
MapSym(Keyboard::Key::NUMPAD_6, "Numpad 6"),
|
||||||
MapSym(Key::NUMPAD_7, "Numpad 7"),
|
MapSym(Keyboard::Key::NUMPAD_7, "Numpad 7"),
|
||||||
MapSym(Key::NUMPAD_8, "Numpad 8"),
|
MapSym(Keyboard::Key::NUMPAD_8, "Numpad 8"),
|
||||||
MapSym(Key::NUMPAD_9, "Numpad 9"),
|
MapSym(Keyboard::Key::NUMPAD_9, "Numpad 9"),
|
||||||
MapSym(Key::NUMPAD_0, "Numpad 0"),
|
MapSym(Keyboard::Key::NUMPAD_0, "Numpad 0"),
|
||||||
MapSym(Key::NUMPAD_Enter, "Numpad Enter"),
|
MapSym(Keyboard::Key::NUMPAD_Enter, "Numpad Enter"),
|
||||||
|
|
||||||
MapSym(Key::Home, "Home"),
|
MapSym(Keyboard::Key::Home, "Home"),
|
||||||
MapSym(Key::End, "End"),
|
MapSym(Keyboard::Key::End, "End"),
|
||||||
MapSym(Key::Insert, "Insert"),
|
MapSym(Keyboard::Key::Insert, "Insert"),
|
||||||
MapSym(Key::Delete, "Delete"),
|
MapSym(Keyboard::Key::Delete, "Delete"),
|
||||||
MapSym(Key::PageUp, "Page up"),
|
MapSym(Keyboard::Key::PageUp, "Page up"),
|
||||||
MapSym(Key::PageDown, "Page down"),
|
MapSym(Keyboard::Key::PageDown, "Page down"),
|
||||||
MapSym(Key::Pause, "Pause"),
|
MapSym(Keyboard::Key::Pause, "Pause"),
|
||||||
|
|
||||||
// Function keys.
|
// Function keys.
|
||||||
MapSym(Key::F1, "F1"),
|
MapSym(Keyboard::Key::F1, "F1"),
|
||||||
MapSym(Key::F2, "F2"),
|
MapSym(Keyboard::Key::F2, "F2"),
|
||||||
MapSym(Key::F3, "F3"),
|
MapSym(Keyboard::Key::F3, "F3"),
|
||||||
MapSym(Key::F4, "F4"),
|
MapSym(Keyboard::Key::F4, "F4"),
|
||||||
MapSym(Key::F5, "F5"),
|
MapSym(Keyboard::Key::F5, "F5"),
|
||||||
MapSym(Key::F6, "F6"),
|
MapSym(Keyboard::Key::F6, "F6"),
|
||||||
MapSym(Key::F7, "F7"),
|
MapSym(Keyboard::Key::F7, "F7"),
|
||||||
MapSym(Key::F8, "F8"),
|
MapSym(Keyboard::Key::F8, "F8"),
|
||||||
MapSym(Key::F9, "F9"),
|
MapSym(Keyboard::Key::F9, "F9"),
|
||||||
MapSym(Key::F10, "F10"),
|
MapSym(Keyboard::Key::F10, "F10"),
|
||||||
MapSym(Key::F11, "F11"),
|
MapSym(Keyboard::Key::F11, "F11"),
|
||||||
MapSym(Key::F12, "F12"),
|
MapSym(Keyboard::Key::F12, "F12"),
|
||||||
|
|
||||||
MapSym(Key::Tab, "Tab"),
|
MapSym(Keyboard::Key::Tab, "Tab"),
|
||||||
MapSym(Key::LShift, "Left Shift"),
|
MapSym(Keyboard::Key::LShift, "Left Shift"),
|
||||||
MapSym(Key::RShift, "Right Shift"),
|
MapSym(Keyboard::Key::RShift, "Right Shift"),
|
||||||
MapSym(Key::LCtrl, "Left Control"),
|
MapSym(Keyboard::Key::LCtrl, "Left Control"),
|
||||||
MapSym(Key::RCtrl, "Right Control"),
|
MapSym(Keyboard::Key::RCtrl, "Right Control"),
|
||||||
MapSym(Key::LAlt, "Left Alt"),
|
MapSym(Keyboard::Key::LAlt, "Left Alt"),
|
||||||
MapSym(Key::RAlt, "Right Alt"),
|
MapSym(Keyboard::Key::RAlt, "Right Alt"),
|
||||||
};
|
};
|
||||||
|
|
||||||
std::string Keyboard::getKeyName(Key::Type key)
|
std::string Keyboard::getKeyName(Key key)
|
||||||
{
|
{
|
||||||
if (key >= Key::NUM_KEYS) {
|
if (key >= Key::NUM_KEYS) {
|
||||||
key = Key::Unknown;
|
key = Key::Unknown;
|
||||||
|
|
|
||||||
|
|
@ -11,54 +11,54 @@ namespace sp {
|
||||||
|
|
||||||
static Win32MsgBuffer msg_buf;
|
static Win32MsgBuffer msg_buf;
|
||||||
|
|
||||||
static const Key::Type deviceToKey[256] = {
|
static const Keyboard::Key deviceToKey[256] = {
|
||||||
/* 0 1 2 3 4 5 6 7 */
|
/* 0 1 2 3 4 5 6 7 */
|
||||||
/* 8 9 A B C D E F */
|
/* 8 9 A B C D E F */
|
||||||
// 00-0F
|
// 00-0F
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Backspace, Key::Tab, Key::Unknown, Key::Unknown, Key::Unknown, Key::Enter, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Backspace, Keyboard::Key::Tab, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Enter, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 10-1F
|
// 10-1F
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Pause, Key::Capslock, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Pause, Keyboard::Key::Capslock, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Escape, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Escape, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 20-2F
|
// 20-2F
|
||||||
Key::Space, Key::PageUp, Key::PageDown, Key::End, Key::Home, Key::Left, Key::Up, Key::Right,
|
Keyboard::Key::Space, Keyboard::Key::PageUp, Keyboard::Key::PageDown, Keyboard::Key::End, Keyboard::Key::Home, Keyboard::Key::Left, Keyboard::Key::Up, Keyboard::Key::Right,
|
||||||
Key::Down, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Insert, Key::Delete, Key::Unknown,
|
Keyboard::Key::Down, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Insert, Keyboard::Key::Delete, Keyboard::Key::Unknown,
|
||||||
// 30-3F
|
// 30-3F
|
||||||
Key::Zero, Key::One, Key::Two, Key::Three, Key::Four, Key::Five, Key::Six, Key::Seven,
|
Keyboard::Key::Zero, Keyboard::Key::One, Keyboard::Key::Two, Keyboard::Key::Three, Keyboard::Key::Four, Keyboard::Key::Five, Keyboard::Key::Six, Keyboard::Key::Seven,
|
||||||
Key::Eight, Key::Nine, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Eight, Keyboard::Key::Nine, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 40-4F
|
// 40-4F
|
||||||
Key::Unknown, Key::A, Key::B, Key::C, Key::D, Key::E, Key::F, Key::G,
|
Keyboard::Key::Unknown, Keyboard::Key::A, Keyboard::Key::B, Keyboard::Key::C, Keyboard::Key::D, Keyboard::Key::E, Keyboard::Key::F, Keyboard::Key::G,
|
||||||
Key::H, Key::I, Key::J, Key::K, Key::L, Key::M, Key::N, Key::O,
|
Keyboard::Key::H, Keyboard::Key::I, Keyboard::Key::J, Keyboard::Key::K, Keyboard::Key::L, Keyboard::Key::M, Keyboard::Key::N, Keyboard::Key::O,
|
||||||
// 50-5F
|
// 50-5F
|
||||||
Key::P, Key::Q, Key::R, Key::S, Key::T, Key::U, Key::V, Key::W,
|
Keyboard::Key::P, Keyboard::Key::Q, Keyboard::Key::R, Keyboard::Key::S, Keyboard::Key::T, Keyboard::Key::U, Keyboard::Key::V, Keyboard::Key::W,
|
||||||
Key::X, Key::Y, Key::Z, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::X, Keyboard::Key::Y, Keyboard::Key::Z, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 60-6F
|
// 60-6F
|
||||||
Key::NUMPAD_0, Key::NUMPAD_1, Key::NUMPAD_2, Key::NUMPAD_3, Key::NUMPAD_4, Key::NUMPAD_5, Key::NUMPAD_6, Key::NUMPAD_7,
|
Keyboard::Key::NUMPAD_0, Keyboard::Key::NUMPAD_1, Keyboard::Key::NUMPAD_2, Keyboard::Key::NUMPAD_3, Keyboard::Key::NUMPAD_4, Keyboard::Key::NUMPAD_5, Keyboard::Key::NUMPAD_6, Keyboard::Key::NUMPAD_7,
|
||||||
Key::NUMPAD_8, Key::NUMPAD_9, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::NUMPAD_8, Keyboard::Key::NUMPAD_9, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 70-7F
|
// 70-7F
|
||||||
Key::F1, Key::F2, Key::F3, Key::F4, Key::F5, Key::F6, Key::F7, Key::F8,
|
Keyboard::Key::F1, Keyboard::Key::F2, Keyboard::Key::F3, Keyboard::Key::F4, Keyboard::Key::F5, Keyboard::Key::F6, Keyboard::Key::F7, Keyboard::Key::F8,
|
||||||
Key::F9, Key::F10, Key::F11, Key::F12, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::F9, Keyboard::Key::F10, Keyboard::Key::F11, Keyboard::Key::F12, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 80-8F
|
// 80-8F
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// 90-9F
|
// 90-9F
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// A0-AF
|
// A0-AF
|
||||||
Key::LShift, Key::RShift, Key::LCtrl, Key::RCtrl, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::LShift, Keyboard::Key::RShift, Keyboard::Key::LCtrl, Keyboard::Key::RCtrl, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// B0-BF
|
// B0-BF
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Comma, Key::Unknown, Key::Period, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Comma, Keyboard::Key::Unknown, Keyboard::Key::Period, Keyboard::Key::Unknown,
|
||||||
// C0-CF
|
// C0-CF
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// E0-EF
|
// E0-EF
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
// F0-FF
|
// F0-FF
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown, Key::Unknown,
|
Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown, Keyboard::Key::Unknown,
|
||||||
};
|
};
|
||||||
|
|
||||||
void Win32Keyboard::init()
|
void Win32Keyboard::init()
|
||||||
|
|
@ -68,7 +68,7 @@ void Win32Keyboard::init()
|
||||||
memset(m_btnState, 0, sizeof(m_btnState) / sizeof(m_btnState[0]));
|
memset(m_btnState, 0, sizeof(m_btnState) / sizeof(m_btnState[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Win32Keyboard::isKeyDown(Key::Type key)
|
bool Win32Keyboard::isKeyDown(Keyboard::Key key)
|
||||||
{
|
{
|
||||||
return m_btnState[key];
|
return m_btnState[key];
|
||||||
}
|
}
|
||||||
|
|
@ -81,11 +81,11 @@ void Win32Keyboard::update(InputModule *input)
|
||||||
|
|
||||||
if (msg.message == WM_KILLFOCUS) {
|
if (msg.message == WM_KILLFOCUS) {
|
||||||
|
|
||||||
for(int i = 0; i < Key::NUM_KEYS; i++) {
|
for(int i = 0; i < Keyboard::Key::NUM_KEYS; i++) {
|
||||||
|
|
||||||
if (m_btnState[i]) {
|
if (m_btnState[i]) {
|
||||||
InputEvent event(InputEvent::Key);
|
InputEvent event(InputEvent::Key);
|
||||||
event.key.code = (Key::Type) i;
|
event.key.code = (Keyboard::Key) i;
|
||||||
event.key.pressed = msg.message == WM_KEYDOWN;
|
event.key.pressed = msg.message == WM_KEYDOWN;
|
||||||
|
|
||||||
m_btnState[i] = false;
|
m_btnState[i] = false;
|
||||||
|
|
@ -100,9 +100,9 @@ void Win32Keyboard::update(InputModule *input)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Key::Type key = deviceToKey[msg.wParam % 0xFF];
|
Keyboard::Key key = deviceToKey[msg.wParam % 0xFF];
|
||||||
|
|
||||||
if (key != Key::Unknown) {
|
if (key != Keyboard::Key::Unknown) {
|
||||||
InputEvent event(InputEvent::Key);
|
InputEvent event(InputEvent::Key);
|
||||||
event.key.code = key;
|
event.key.code = key;
|
||||||
event.key.pressed = msg.message == WM_KEYDOWN;
|
event.key.pressed = msg.message == WM_KEYDOWN;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ class Win32Keyboard : public Keyboard
|
||||||
public :
|
public :
|
||||||
void init();
|
void init();
|
||||||
|
|
||||||
bool isKeyDown(Key::Type key);
|
bool isKeyDown(Keyboard::Key key);
|
||||||
|
|
||||||
static bool handleMessage(MSG message);
|
static bool handleMessage(MSG message);
|
||||||
|
|
||||||
|
|
@ -22,7 +22,7 @@ protected :
|
||||||
|
|
||||||
protected :
|
protected :
|
||||||
|
|
||||||
bool m_btnState[Key::NUM_KEYS];
|
bool m_btnState[Keyboard::Key::NUM_KEYS];
|
||||||
|
|
||||||
bool m_hasFocus;
|
bool m_hasFocus;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue