archivemuh
This commit is contained in:
63
archive/dusksdl2/dusksdl2input.h
Normal file
63
archive/dusksdl2/dusksdl2input.h
Normal file
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* Copyright (c) 2025 Dominic Masters
|
||||
*
|
||||
* This software is released under the MIT License.
|
||||
* https://opensource.org/licenses/MIT
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "dusksdl2.h"
|
||||
#include "input.h"
|
||||
|
||||
#ifndef INPUT_SUPPORT_GAMEPAD
|
||||
#define INPUT_SUPPORT_GAMEPAD 1
|
||||
#endif
|
||||
|
||||
#ifndef INPUT_SUPPORT_KEYBOARD
|
||||
#define INPUT_SUPPORT_KEYBOARD 1
|
||||
#endif
|
||||
|
||||
#if INPUT_SUPPORT_GAMEPAD
|
||||
typedef struct {
|
||||
const SDL_GameControllerButton button;
|
||||
const inputbind_t bind;
|
||||
} inputsdlbuttonmap_t;
|
||||
|
||||
static const inputsdlbuttonmap_t INPUT_SDL_BUTTON_MAP[] = {
|
||||
{ SDL_CONTROLLER_BUTTON_DPAD_UP, INPUT_BIND_UP },
|
||||
{ SDL_CONTROLLER_BUTTON_DPAD_DOWN, INPUT_BIND_DOWN },
|
||||
{ SDL_CONTROLLER_BUTTON_DPAD_LEFT, INPUT_BIND_LEFT },
|
||||
{ SDL_CONTROLLER_BUTTON_DPAD_RIGHT, INPUT_BIND_RIGHT },
|
||||
{ SDL_CONTROLLER_BUTTON_A, INPUT_BIND_ACTION },
|
||||
{ SDL_CONTROLLER_BUTTON_B, INPUT_BIND_CANCEL },
|
||||
{ SDL_CONTROLLER_BUTTON_BACK, INPUT_BIND_CONSOLE },
|
||||
{ 0, 0 }
|
||||
};
|
||||
#endif
|
||||
|
||||
#if INPUT_SUPPORT_KEYBOARD
|
||||
typedef struct {
|
||||
SDL_Scancode code;
|
||||
inputbind_t bind;
|
||||
} inputsdlkbmap_t;
|
||||
|
||||
static const inputsdlkbmap_t INPUT_SDL_KEYBOARD_MAP[] = {
|
||||
{ SDL_SCANCODE_W, INPUT_BIND_UP },
|
||||
{ SDL_SCANCODE_S, INPUT_BIND_DOWN },
|
||||
{ SDL_SCANCODE_A, INPUT_BIND_LEFT },
|
||||
{ SDL_SCANCODE_D, INPUT_BIND_RIGHT },
|
||||
{ SDL_SCANCODE_LEFT, INPUT_BIND_LEFT },
|
||||
{ SDL_SCANCODE_RIGHT, INPUT_BIND_RIGHT },
|
||||
{ SDL_SCANCODE_UP, INPUT_BIND_UP },
|
||||
{ SDL_SCANCODE_DOWN, INPUT_BIND_DOWN },
|
||||
{ SDL_SCANCODE_RETURN, INPUT_BIND_ACTION },
|
||||
{ SDL_SCANCODE_SPACE, INPUT_BIND_ACTION },
|
||||
{ SDL_SCANCODE_E, INPUT_BIND_ACTION },
|
||||
{ SDL_SCANCODE_ESCAPE, INPUT_BIND_CANCEL },
|
||||
{ SDL_SCANCODE_BACKSPACE, INPUT_BIND_CANCEL },
|
||||
{ SDL_SCANCODE_TAB, INPUT_BIND_CONSOLE },
|
||||
{ SDL_SCANCODE_GRAVE, INPUT_BIND_CONSOLE },
|
||||
{ SDL_SCANCODE_Q, INPUT_BIND_QUIT },
|
||||
{ 0, 0 }
|
||||
};
|
||||
#endif
|
Reference in New Issue
Block a user