diff options
author | dec05eba <dec05eba@protonmail.com> | 2024-11-30 21:52:07 +0100 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2024-11-30 21:52:07 +0100 |
commit | f885ae67f13ab26dcc47d3fa9cc31ee2fea58c50 (patch) | |
tree | 02864326deef835d5b49c6d88d7d18c918117f5a /include/Overlay.hpp | |
parent | e8c17d248db56d6f36daa077202c58fab17e4ba1 (diff) |
Re-add escape button to go back to the previous page/close
Diffstat (limited to 'include/Overlay.hpp')
-rw-r--r-- | include/Overlay.hpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/Overlay.hpp b/include/Overlay.hpp index 4376893..e6b65e3 100644 --- a/include/Overlay.hpp +++ b/include/Overlay.hpp @@ -14,6 +14,8 @@ #include <mglpp/graphics/Text.hpp> #include <mglpp/system/Clock.hpp> +#include <array> + namespace gsr { class DropdownButton; @@ -56,6 +58,7 @@ namespace gsr { private: void xi_setup(); void handle_xi_events(); + void process_key_bindings(mgl::Event &event); void xi_setup_fake_cursor(); void xi_grab_all_devices(); void xi_warp_pointer(mgl::vec2i position); @@ -93,6 +96,12 @@ namespace gsr { void force_window_on_top(); private: + using KeyBindingCallback = std::function<void()>; + struct KeyBinding { + mgl::Event::KeyEvent key_event; + KeyBindingCallback callback; + }; + std::unique_ptr<mgl::Window> window; mgl::Event event; std::string resources_path; @@ -147,5 +156,7 @@ namespace gsr { int xi_opcode = 0; XEvent *xi_input_xev = nullptr; XEvent *xi_output_xev = nullptr; + + std::array<KeyBinding, 1> key_bindings; }; }
\ No newline at end of file |