diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-01-21 20:38:09 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-01-21 20:38:09 +0100 |
| commit | 142a370cba076a7cf593c7a48b5414e992311a20 (patch) | |
| tree | aecab3afe3caf4d459a829397ab6fb1c1a20fafb /include | |
| parent | 2b1f81ba329b17a18cdd75604625076ee614f5ef (diff) | |
Setup xkb
Diffstat (limited to 'include')
| -rw-r--r-- | include/window.hpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/window.hpp b/include/window.hpp index dae4f00..85f0a18 100644 --- a/include/window.hpp +++ b/include/window.hpp @@ -10,24 +10,39 @@ class vkrenderer; #if defined(LINUX) #include <xcb/xcb.h> + +#include <xkbcommon/xkbcommon.h> #elif defined(WINDOWS) #include <Windows.h> #endif +enum KEYS { + SPACE, + Z, + Q, + S, + D, +}; + enum EVENT_TYPES: int32_t { QUIT, RESIZE, + KEY_PRESS, + KEY_RELEASE, }; struct event { uint32_t width; uint32_t height; + // KEYS key; + uint32_t keycode; EVENT_TYPES type; }; class window { public: window(uint32_t width, uint32_t height); + ~window(); void poll_events(); @@ -42,6 +57,11 @@ class window { xcb_connection_t* connection; xcb_window_t win; xcb_atom_t win_delete_atom; + + xkb_context* xkb_ctx; + int32_t keyboard_device_id; + xkb_keymap* keyboard_keymap; + xkb_state* keyboard_state; #endif std::vector<event> events; |
