29 lines
559 B
C++
29 lines
559 B
C++
|
|
#ifndef PLATFORM_UNIX_X11KEYBOARD_H
|
|
#define PLATFORM_UNIX_X11KEYBOARD_H
|
|
|
|
#include <Spectre/System/Event.h>
|
|
#include <Spectre/Input/Keyboard.h>
|
|
#include <X11/Xlib.h>
|
|
namespace sp {
|
|
|
|
class X11Keyboard : public Keyboard
|
|
{
|
|
public :
|
|
virtual ~X11Keyboard() {}
|
|
|
|
void init();
|
|
|
|
bool isKeyDown(Keyboard::Key key);
|
|
|
|
// Translate a XKeyEvent to sp::Event, Called from X11EventQueue
|
|
static bool handleMessage(XKeyEvent* xkeyevent, Event& event);
|
|
|
|
protected :
|
|
|
|
virtual void update(InputModule *input);
|
|
};
|
|
|
|
} // namespace sp
|
|
|
|
#endif /* PLATFORM_UNIX_X11KEYBOARD_H */
|