From 9207590e78ed70ef5167103436b6810e3ae03342 Mon Sep 17 00:00:00 2001 From: VoxelTek <53562267+VoxelTek@users.noreply.github.com> Date: Fri, 15 Aug 2025 08:30:32 +1000 Subject: [PATCH] Slightly better approach for key mapping --- ISLE/isleapp.cpp | 1 + ISLE/isleapp.h | 1 + .../lego/legoomni/include/legoinputmanager.h | 9 +---- LEGO1/lego/legoomni/include/legokeymaps.h | 36 +++++++++++++++++++ 4 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 LEGO1/lego/legoomni/include/legokeymaps.h diff --git a/ISLE/isleapp.cpp b/ISLE/isleapp.cpp index 875ecbde..f86b6e65 100644 --- a/ISLE/isleapp.cpp +++ b/ISLE/isleapp.cpp @@ -9,6 +9,7 @@ #include "legobuildingmanager.h" #include "legogamestate.h" #include "legoinputmanager.h" +#include "legokeymaps.h" #include "legomain.h" #include "legomodelpresenter.h" #include "legopartpresenter.h" diff --git a/ISLE/isleapp.h b/ISLE/isleapp.h index 470a5a72..9aa59c79 100644 --- a/ISLE/isleapp.h +++ b/ISLE/isleapp.h @@ -4,6 +4,7 @@ #include "cursor.h" #include "lego1_export.h" #include "legoinputmanager.h" +#include "legokeymaps.h" #include "legoutils.h" #include "mxtransitionmanager.h" #include "mxtypes.h" diff --git a/LEGO1/lego/legoomni/include/legoinputmanager.h b/LEGO1/lego/legoomni/include/legoinputmanager.h index 9a445a68..83c476a1 100644 --- a/LEGO1/lego/legoomni/include/legoinputmanager.h +++ b/LEGO1/lego/legoomni/include/legoinputmanager.h @@ -4,6 +4,7 @@ #include "decomp.h" #include "lego1_export.h" #include "legoeventnotificationparam.h" +#include "legokeymaps.h" #include "mxlist.h" #include "mxpresenter.h" #include "mxqueue.h" @@ -101,14 +102,6 @@ class LegoInputManager : public MxPresenter { e_gamepad, }; - struct { - SDL_Scancode k_forward[2] = {SDL_SCANCODE_UP, SDL_SCANCODE_KP_8}; - SDL_Scancode k_back[2] = {SDL_SCANCODE_DOWN, SDL_SCANCODE_KP_2}; - SDL_Scancode k_left[2] = {SDL_SCANCODE_LEFT, SDL_SCANCODE_KP_4}; - SDL_Scancode k_right[2] = {SDL_SCANCODE_RIGHT, SDL_SCANCODE_KP_6}; - SDL_Scancode k_sprint[2] = {SDL_SCANCODE_LCTRL, SDL_SCANCODE_RCTRL}; - } g_keyMaps; - LegoInputManager(); ~LegoInputManager() override; diff --git a/LEGO1/lego/legoomni/include/legokeymaps.h b/LEGO1/lego/legoomni/include/legokeymaps.h new file mode 100644 index 00000000..411c9ba8 --- /dev/null +++ b/LEGO1/lego/legoomni/include/legokeymaps.h @@ -0,0 +1,36 @@ +#ifndef LEGOKEYMAPS_H +#define LEGOKEYMAPS_H + +#include "decomp.h" +#include "lego1_export.h" +#include "legoeventnotificationparam.h" +#include "mxlist.h" +#include "mxpresenter.h" +#include "mxqueue.h" + +#include +#include +#include +#include +#include +#include +#ifdef MINIWIN +#include "miniwin/windows.h" +#else +#include +#endif + +#include +#include + + +struct { + SDL_Scancode k_forward[2] = {SDL_SCANCODE_UP, SDL_SCANCODE_KP_8}; + SDL_Scancode k_back[2] = {SDL_SCANCODE_DOWN, SDL_SCANCODE_KP_2}; + SDL_Scancode k_left[2] = {SDL_SCANCODE_LEFT, SDL_SCANCODE_KP_4}; + SDL_Scancode k_right[2] = {SDL_SCANCODE_RIGHT, SDL_SCANCODE_KP_6}; + SDL_Scancode k_sprint[2] = {SDL_SCANCODE_LCTRL, SDL_SCANCODE_RCTRL}; +} g_keyMaps; + + +#endif