Danbias/Code/Misc/Input/Include/Win32/Win32Keyboard.h

41 lines
841 B
C
Raw Normal View History

2014-02-14 15:50:00 +01:00
/////////////////////////////////////////////////////////////////////
// Created by [Dennis Andersen] [2013]
/////////////////////////////////////////////////////////////////////
#ifndef INPUT_KEYBOARD_H
#define INPUT_KEYBOARD_H
#include "..\Keyboard.h"
#define NOMINMAX
2014-02-14 15:50:00 +01:00
#include <Windows.h>
namespace Input
{
class Win32Keyboard :public Keyboard
{
public:
Win32Keyboard();
~Win32Keyboard();
bool IsKeyUp (Enum::SAKI key) override;
bool IsKeyDown (Enum::SAKI key) override;
wchar_t* GetAsText(Enum::SAKI key) override;
2014-02-14 15:50:00 +01:00
void ProccessKeyboardData (RAWKEYBOARD keyboard);
2014-02-14 15:50:00 +01:00
private:
void MapKey(RAWKEYBOARD& rawKB, Enum::SAKI& out_key, bool& isE0);
2014-02-14 15:50:00 +01:00
struct Keys
{
bool isE0;
bool isDown;
unsigned int makecode;
};
2014-02-14 15:50:00 +01:00
static const int MAXKEYS = 256;
Keys keys[MAXKEYS];
};
}
#endif // !INPUT_KEYBOARD_H