From 0efe01d0e7286e9eb60c4739ae748c0cb6e7a51f Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sun, 23 Oct 2022 22:38:54 +0200 Subject: a --- editor/keyboard.cpp | 40 +++++++++++++++------------------------- 1 file changed, 15 insertions(+), 25 deletions(-) (limited to 'editor/keyboard.cpp') diff --git a/editor/keyboard.cpp b/editor/keyboard.cpp index a700d0f4..d5521af7 100644 --- a/editor/keyboard.cpp +++ b/editor/keyboard.cpp @@ -1,38 +1,28 @@ #include "app.hpp" +#include "main/floormat-events.hpp" namespace floormat { -void app::do_key(KeyEvent::Key k, KeyEvent::Modifiers m, bool pressed, bool repeated) +bool app::on_key_down(const key_event& event) noexcept { - //using Mods = KeyEvent::Modifiers; + if _imgui. - (void)m; - (void)repeated; - - const key x = fm_begin(switch (k) + const key x = fm_begin(switch (event.key) { - using enum KeyEvent::Key; - using enum key; - - default: return COUNT; - case W: return camera_up; - case A: return camera_left; - case S: return camera_down; - case D: return camera_right; - case Home: return camera_reset; - case R: return rotate_tile; - case F5: return quicksave; - case F9: return quickload; - case Esc: return quit; + default: return key::COUNT; + case SDLK_w: return key::camera_up; + case SDLK_a: return key::camera_left; + case SDLK_s: return key::camera_down; + case SDLK_d: return key::camera_right; + case SDLK_HOME: return key::camera_reset; + case SDLK_r: return key::rotate_tile; + case SDLK_F5: return key::quicksave; + case SDLK_F9: return key::quickload; + case SDLK_ESCAPE: return key::quit; }); if (x != key::COUNT) - keys[x] = pressed; -} - -app::~app() -{ - loader_::destroy(); + keys[x] = event.is_down && !event.is_repeated; } } // namespace floormat -- cgit v1.2.3