Slightly better approach for key mapping

This commit is contained in:
VoxelTek 2025-08-15 08:30:32 +10:00
parent 67b1d79c43
commit 9207590e78
4 changed files with 39 additions and 8 deletions

View File

@ -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"

View File

@ -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"

View File

@ -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;

View File

@ -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 <SDL3/SDL_haptic.h>
#include <SDL3/SDL_joystick.h>
#include <SDL3/SDL_keyboard.h>
#include <SDL3/SDL_keycode.h>
#include <SDL3/SDL_scancode.h>
#include <SDL3/SDL_timer.h>
#ifdef MINIWIN
#include "miniwin/windows.h"
#else
#include <windows.h>
#endif
#include <map>
#include <variant>
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