aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2021-01-23 23:58:43 +0100
committerladevieq <ladevie.quentin@gmail.com>2021-01-23 23:58:43 +0100
commit2cd8461c738e857f054f4c65c0a1baf8bb9ba5b3 (patch)
treea03ed914aacedd7cecb510b9da8cb088f565e80c /include
parent953f8ffb5b1cbb732b4dac57ac9e2ec0cdebfcdf (diff)
Handle keyboard and mouse inputs on windows
Diffstat (limited to 'include')
-rw-r--r--include/window.hpp82
1 files changed, 60 insertions, 22 deletions
diff --git a/include/window.hpp b/include/window.hpp
index 7667bbc..66bd0eb 100644
--- a/include/window.hpp
+++ b/include/window.hpp
@@ -16,30 +16,64 @@ class vkrenderer;
#include <Windows.h>
#endif
-enum MODIFIERS {
- SHIFT = 1,
- LOCK = 2,
- CTRL = 4,
- ALT = 8,
- MOD2 = 16,
- MOD3 = 32,
- MOD4 = 64,
- MOD5 = 128,
- BUTTON1 = 256,
- BUTTON2 = 512,
- BUTTON3 = 1024,
- BUTTON4 = 2048,
- BUTTON5 = 4096,
-};
+// enum MODIFIERS: uint32_t {
+// SHIFT = 1,
+// LOCK = 2,
+// CTRL = 4,
+// ALT = 8,
+// MOD2 = 16,
+// MOD3 = 32,
+// MOD4 = 64,
+// MOD5 = 128,
+// BUTTON1 = 256,
+// BUTTON2 = 512,
+// BUTTON3 = 1024,
+// BUTTON4 = 2048,
+// BUTTON5 = 4096,
+// };
-enum KEYS {
- SPACE,
- Z,
+#if defined(WINDOWS)
+enum KEYS: uint32_t {
+ SHIFT = 0x10,
+ CTRL,
+ ALT,
+ A = 0x41,
+ B,
+ C,
+ D,
+ E,
+ F,
+ G,
+ H,
+ I,
+ J,
+ K,
+ L,
+ M,
+ N,
+ O,
+ P,
Q,
+ R,
S,
- D,
+ T,
+ U,
+ V,
+ W,
+ X,
+ Y,
+ Z,
+ MAX_KEYS = 255
};
+enum BUTTONS: uint32_t {
+ LEFT,
+ RIGHT,
+ MIDDLE,
+ MAX_BUTTONS = 255
+};
+#endif
+
enum EVENT_TYPES: int32_t {
QUIT,
RESIZE,
@@ -53,9 +87,10 @@ enum EVENT_TYPES: int32_t {
struct event {
uint32_t width;
uint32_t height;
- // KEYS key;
- uint32_t modifiers;
- uint32_t keycode;
+ KEYS key;
+ BUTTONS button;
+ // uint32_t modifiers;
+ // uint32_t keycode;
int32_t x;
int32_t y;
EVENT_TYPES type;
@@ -92,6 +127,9 @@ class window {
uint32_t height;
bool isOpen;
+
+ bool keyboard[KEYS::MAX_KEYS] = { false };
+ bool mouse[BUTTONS::MAX_BUTTONS] = { false };
};
#endif // !__WINDOW_HPP_