-
Notifications
You must be signed in to change notification settings - Fork 0
/
input.hpp
72 lines (64 loc) · 1.03 KB
/
input.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#pragma once
#ifdef __linux__ // and X11
#include <X11/Xlib.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/extensions/XTest.h>
#elif _WIN32
#include <Windows.h>
#else
#error Platform unsupported
#endif
#include <iostream>
namespace Input
{
enum class MouseButton
{
LeftButton,
MiddleButton,
RightButton,
};
enum class KeyType { // :)
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
X,
Y,
Z
};
class Input
{
public:
Input();
~Input();
void MouseDown(MouseButton key);
void MouseUp(MouseButton key);
void MouseMove(int x, int y);
void KeyDown(KeyType key);
void KeyUp(KeyType key);
private:
#ifdef __linux__ // and X11
Display *display = nullptr;
Window root = 0;
#endif
};
};