ASW Lib
A.D.S. Games SDL Wrapper Library. A library targeted at Allegro4 users who want to switch to SDL3 and use modern c++.
Loading...
Searching...
No Matches
input.h File Reference

Input module for the ASW library. More...

#include <SDL3/SDL.h>
#include <array>
#include <string>
Include dependency graph for input.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  asw
 
namespace  asw::input
 
namespace  asw::input::anonymous_namespace{input.h}
 

Typedefs

using asw::input::MouseState
 Mouse state stores the current state of the mouse. It is updated by the core.
 
using asw::input::KeyState
 Keyboard state stores the current state of the keyboard. It is updated by the core.
 
using asw::input::ControllerState
 Controller state stores the current state of a controller. It is updated by the core.
 

Enumerations

enum class  asw::input::MouseButton {
  asw::input::LEFT = SDL_BUTTON_LEFT , asw::input::MIDDLE = SDL_BUTTON_MIDDLE , asw::input::RIGHT = SDL_BUTTON_RIGHT , asw::input::X1 = SDL_BUTTON_X1 ,
  asw::input::X2 = SDL_BUTTON_X2 , asw::input::MAX = NUM_MOUSE_BUTTONS
}
 Enumeration of mouse buttons in the ASW library. More...
 
enum class  asw::input::Key {
  asw::input::UNKNOWN = SDL_SCANCODE_UNKNOWN , asw::input::A = SDL_SCANCODE_A , asw::input::B = SDL_SCANCODE_B , asw::input::C = SDL_SCANCODE_C ,
  asw::input::D = SDL_SCANCODE_D , asw::input::E = SDL_SCANCODE_E , asw::input::F = SDL_SCANCODE_F , asw::input::G = SDL_SCANCODE_G ,
  asw::input::H = SDL_SCANCODE_H , asw::input::I = SDL_SCANCODE_I , asw::input::J = SDL_SCANCODE_J , asw::input::K = SDL_SCANCODE_K ,
  asw::input::L = SDL_SCANCODE_L , asw::input::M = SDL_SCANCODE_M , asw::input::N = SDL_SCANCODE_N , asw::input::O = SDL_SCANCODE_O ,
  asw::input::P = SDL_SCANCODE_P , asw::input::Q = SDL_SCANCODE_Q , asw::input::R = SDL_SCANCODE_R , asw::input::S = SDL_SCANCODE_S ,
  asw::input::T = SDL_SCANCODE_T , asw::input::U = SDL_SCANCODE_U , asw::input::V = SDL_SCANCODE_V , asw::input::W = SDL_SCANCODE_W ,
  asw::input::X = SDL_SCANCODE_X , asw::input::Y = SDL_SCANCODE_Y , asw::input::Z = SDL_SCANCODE_Z , asw::input::NUM_1 = SDL_SCANCODE_1 ,
  asw::input::NUM_2 = SDL_SCANCODE_2 , asw::input::NUM_3 = SDL_SCANCODE_3 , asw::input::NUM_4 = SDL_SCANCODE_4 , asw::input::NUM_5 = SDL_SCANCODE_5 ,
  asw::input::NUM_6 = SDL_SCANCODE_6 , asw::input::NUM_7 = SDL_SCANCODE_7 , asw::input::NUM_8 = SDL_SCANCODE_8 , asw::input::NUM_9 = SDL_SCANCODE_9 ,
  asw::input::NUM_0 = SDL_SCANCODE_0 , asw::input::RETURN = SDL_SCANCODE_RETURN , asw::input::ESCAPE = SDL_SCANCODE_ESCAPE , asw::input::BACKSPACE = SDL_SCANCODE_BACKSPACE ,
  asw::input::TAB = SDL_SCANCODE_TAB , asw::input::SPACE = SDL_SCANCODE_SPACE , asw::input::MINUS = SDL_SCANCODE_MINUS , asw::input::EQUALS = SDL_SCANCODE_EQUALS ,
  asw::input::LEFT_BRACKET = SDL_SCANCODE_LEFTBRACKET , asw::input::RIGHT_BRACKET = SDL_SCANCODE_RIGHTBRACKET , asw::input::BACKSLASH = SDL_SCANCODE_BACKSLASH , asw::input::NONUSHASH = SDL_SCANCODE_NONUSHASH ,
  asw::input::SEMICOLON = SDL_SCANCODE_SEMICOLON , asw::input::APOSTROPHE = SDL_SCANCODE_APOSTROPHE , asw::input::GRAVE = SDL_SCANCODE_GRAVE , asw::input::COMMA = SDL_SCANCODE_COMMA ,
  asw::input::PERIOD = SDL_SCANCODE_PERIOD , asw::input::SLASH = SDL_SCANCODE_SLASH , asw::input::CAPSLOCK = SDL_SCANCODE_CAPSLOCK , asw::input::F1 = SDL_SCANCODE_F1 ,
  asw::input::F2 = SDL_SCANCODE_F2 , asw::input::F3 = SDL_SCANCODE_F3 , asw::input::F4 = SDL_SCANCODE_F4 , asw::input::F5 = SDL_SCANCODE_F5 ,
  asw::input::F6 = SDL_SCANCODE_F6 , asw::input::F7 = SDL_SCANCODE_F7 , asw::input::F8 = SDL_SCANCODE_F8 , asw::input::F9 = SDL_SCANCODE_F9 ,
  asw::input::F10 = SDL_SCANCODE_F10 , asw::input::F11 = SDL_SCANCODE_F11 , asw::input::F12 = SDL_SCANCODE_F12 , asw::input::PRINT_SCREEN = SDL_SCANCODE_PRINTSCREEN ,
  asw::input::SCROL_LLOCK = SDL_SCANCODE_SCROLLLOCK , asw::input::PAUSE = SDL_SCANCODE_PAUSE , asw::input::INSERT = SDL_SCANCODE_INSERT , asw::input::HOME = SDL_SCANCODE_HOME ,
  asw::input::PAGE_UP = SDL_SCANCODE_PAGEUP , asw::input::DELETE = SDL_SCANCODE_DELETE , asw::input::END = SDL_SCANCODE_END , asw::input::PAGE_DOWN = SDL_SCANCODE_PAGEDOWN ,
  asw::input::RIGHT = SDL_SCANCODE_RIGHT , asw::input::LEFT = SDL_SCANCODE_LEFT , asw::input::DOWN = SDL_SCANCODE_DOWN , asw::input::UP = SDL_SCANCODE_UP ,
  asw::input::NUM_LOCK_CLEAR = SDL_SCANCODE_NUMLOCKCLEAR , asw::input::KP_DIVIDE = SDL_SCANCODE_KP_DIVIDE , asw::input::KP_MULTIPLY = SDL_SCANCODE_KP_MULTIPLY , asw::input::KP_MINUS = SDL_SCANCODE_KP_MINUS ,
  asw::input::KP_PLUS = SDL_SCANCODE_KP_PLUS , asw::input::KP_ENTER = SDL_SCANCODE_KP_ENTER , asw::input::KP_1 = SDL_SCANCODE_KP_1 , asw::input::KP_2 = SDL_SCANCODE_KP_2 ,
  asw::input::KP_3 = SDL_SCANCODE_KP_3 , asw::input::KP_4 = SDL_SCANCODE_KP_4 , asw::input::KP_5 = SDL_SCANCODE_KP_5 , asw::input::KP_6 = SDL_SCANCODE_KP_6 ,
  asw::input::KP_7 = SDL_SCANCODE_KP_7 , asw::input::KP_8 = SDL_SCANCODE_KP_8 , asw::input::KP_9 = SDL_SCANCODE_KP_9 , asw::input::KP_0 = SDL_SCANCODE_KP_0 ,
  asw::input::KP_PERIOD = SDL_SCANCODE_KP_PERIOD , asw::input::NONUS_BACKSLASH = SDL_SCANCODE_NONUSBACKSLASH , asw::input::APPLICATION = SDL_SCANCODE_APPLICATION , asw::input::POWER = SDL_SCANCODE_POWER ,
  asw::input::KP_EQUALS = SDL_SCANCODE_KP_EQUALS , asw::input::F13 = SDL_SCANCODE_F13 , asw::input::F14 = SDL_SCANCODE_F14 , asw::input::F15 = SDL_SCANCODE_F15 ,
  asw::input::F16 = SDL_SCANCODE_F16 , asw::input::F17 = SDL_SCANCODE_F17 , asw::input::F18 = SDL_SCANCODE_F18 , asw::input::F19 = SDL_SCANCODE_F19 ,
  asw::input::F20 = SDL_SCANCODE_F20 , asw::input::F21 = SDL_SCANCODE_F21 , asw::input::F22 = SDL_SCANCODE_F22 , asw::input::F23 = SDL_SCANCODE_F23 ,
  asw::input::F24 = SDL_SCANCODE_F24 , asw::input::EXECUTE = SDL_SCANCODE_EXECUTE , asw::input::HELP = SDL_SCANCODE_HELP , asw::input::MENU = SDL_SCANCODE_MENU ,
  asw::input::SELECT = SDL_SCANCODE_SELECT , asw::input::STOP = SDL_SCANCODE_STOP , asw::input::AGAIN = SDL_SCANCODE_AGAIN , asw::input::UNDO = SDL_SCANCODE_UNDO ,
  asw::input::CUT = SDL_SCANCODE_CUT , asw::input::COPY = SDL_SCANCODE_COPY , asw::input::PASTE = SDL_SCANCODE_PASTE , asw::input::FIND = SDL_SCANCODE_FIND ,
  asw::input::MUTE = SDL_SCANCODE_MUTE , asw::input::VOLUME_UP = SDL_SCANCODE_VOLUMEUP , asw::input::VOLUME_DOWN = SDL_SCANCODE_VOLUMEDOWN , asw::input::KP_COMMA = SDL_SCANCODE_KP_COMMA ,
  asw::input::KP_EQUALSAS_400 = SDL_SCANCODE_KP_EQUALSAS400 , asw::input::INTERNATIONAL_1 = SDL_SCANCODE_INTERNATIONAL1 , asw::input::INTERNATIONAL_2 = SDL_SCANCODE_INTERNATIONAL2 , asw::input::INTERNATIONAL_3 = SDL_SCANCODE_INTERNATIONAL3 ,
  asw::input::INTERNATIONAL_4 = SDL_SCANCODE_INTERNATIONAL4 , asw::input::INTERNATIONAL_5 = SDL_SCANCODE_INTERNATIONAL5 , asw::input::INTERNATIONAL_6 = SDL_SCANCODE_INTERNATIONAL6 , asw::input::INTERNATIONAL_7 = SDL_SCANCODE_INTERNATIONAL7 ,
  asw::input::INTERNATIONAL_8 = SDL_SCANCODE_INTERNATIONAL8 , asw::input::INTERNATIONAL_9 = SDL_SCANCODE_INTERNATIONAL9 , asw::input::LANG_1 = SDL_SCANCODE_LANG1 , asw::input::LANG_2 = SDL_SCANCODE_LANG2 ,
  asw::input::LANG_3 = SDL_SCANCODE_LANG3 , asw::input::LANG_4 = SDL_SCANCODE_LANG4 , asw::input::LANG_5 = SDL_SCANCODE_LANG5 , asw::input::LANG_6 = SDL_SCANCODE_LANG6 ,
  asw::input::LANG_7 = SDL_SCANCODE_LANG7 , asw::input::LANG_8 = SDL_SCANCODE_LANG8 , asw::input::LANG_9 = SDL_SCANCODE_LANG9 , asw::input::ALT_ERASE = SDL_SCANCODE_ALTERASE ,
  asw::input::SYS_REQ = SDL_SCANCODE_SYSREQ , asw::input::CANCEL = SDL_SCANCODE_CANCEL , asw::input::CLEAR = SDL_SCANCODE_CLEAR , asw::input::PRIOR = SDL_SCANCODE_PRIOR ,
  asw::input::RETURN_2 = SDL_SCANCODE_RETURN2 , asw::input::SEPARATOR = SDL_SCANCODE_SEPARATOR , asw::input::OUT = SDL_SCANCODE_OUT , asw::input::OPER = SDL_SCANCODE_OPER ,
  asw::input::CLEAR_AGAIN = SDL_SCANCODE_CLEARAGAIN , asw::input::CRSEL = SDL_SCANCODE_CRSEL , asw::input::EXSEL = SDL_SCANCODE_EXSEL , asw::input::KP_00 = SDL_SCANCODE_KP_00 ,
  asw::input::KP_000 = SDL_SCANCODE_KP_000 , asw::input::THOUSANDS_SEPARATOR = SDL_SCANCODE_THOUSANDSSEPARATOR , asw::input::DECIMAL_SEPARATOR = SDL_SCANCODE_DECIMALSEPARATOR , asw::input::CURRENCY_UNIT = SDL_SCANCODE_CURRENCYUNIT ,
  asw::input::CURRENCY_SUBUNIT = SDL_SCANCODE_CURRENCYSUBUNIT , asw::input::KP_LEFT_PAREN = SDL_SCANCODE_KP_LEFTPAREN , asw::input::KP_RIGHT_PAREN = SDL_SCANCODE_KP_RIGHTPAREN , asw::input::KP_LEFT_BRACE = SDL_SCANCODE_KP_LEFTBRACE ,
  asw::input::KP_RIGHT_BRACE = SDL_SCANCODE_KP_RIGHTBRACE , asw::input::KP_TAB = SDL_SCANCODE_KP_TAB , asw::input::KP_BACKSPACE = SDL_SCANCODE_KP_BACKSPACE , asw::input::KP_A = SDL_SCANCODE_KP_A ,
  asw::input::KP_B = SDL_SCANCODE_KP_B , asw::input::KP_C = SDL_SCANCODE_KP_C , asw::input::KP_D = SDL_SCANCODE_KP_D , asw::input::KP_E = SDL_SCANCODE_KP_E ,
  asw::input::KP_F = SDL_SCANCODE_KP_F , asw::input::KP_XOR = SDL_SCANCODE_KP_XOR , asw::input::KP_POWER = SDL_SCANCODE_KP_POWER , asw::input::KP_PERCENT = SDL_SCANCODE_KP_PERCENT ,
  asw::input::KP_LESS = SDL_SCANCODE_KP_LESS , asw::input::KP_GREATER = SDL_SCANCODE_KP_GREATER , asw::input::KP_AMPERSAND = SDL_SCANCODE_KP_AMPERSAND , asw::input::KP_DOUBLE_AMPERSAND = SDL_SCANCODE_KP_DBLAMPERSAND ,
  asw::input::KP_VERTICAL_BAR = SDL_SCANCODE_KP_VERTICALBAR , asw::input::KP_DOUBLE_VERTICAL_BAR = SDL_SCANCODE_KP_DBLVERTICALBAR , asw::input::KP_COLON = SDL_SCANCODE_KP_COLON , asw::input::KP_HASH = SDL_SCANCODE_KP_HASH ,
  asw::input::KP_SPACE = SDL_SCANCODE_KP_SPACE , asw::input::KP_AT = SDL_SCANCODE_KP_AT , asw::input::KP_EXCLAMATION = SDL_SCANCODE_KP_EXCLAM , asw::input::KP_MEM_STORE = SDL_SCANCODE_KP_MEMSTORE ,
  asw::input::KP_MEM_RECALL = SDL_SCANCODE_KP_MEMRECALL , asw::input::KP_MEM_CLEAR = SDL_SCANCODE_KP_MEMCLEAR , asw::input::KP_MEM_ADD = SDL_SCANCODE_KP_MEMADD , asw::input::KP_MEM_SUBTRACT = SDL_SCANCODE_KP_MEMSUBTRACT ,
  asw::input::KP_MEM_MULTIPLY = SDL_SCANCODE_KP_MEMMULTIPLY , asw::input::KP_MEM_DIVIDE = SDL_SCANCODE_KP_MEMDIVIDE , asw::input::KP_PLUS_MINUS = SDL_SCANCODE_KP_PLUSMINUS , asw::input::KP_CLEAR = SDL_SCANCODE_KP_CLEAR ,
  asw::input::KP_CLEAR_ENTRY = SDL_SCANCODE_KP_CLEARENTRY , asw::input::KP_BINARY = SDL_SCANCODE_KP_BINARY , asw::input::KP_OCTAL = SDL_SCANCODE_KP_OCTAL , asw::input::KP_DECIMAL = SDL_SCANCODE_KP_DECIMAL ,
  asw::input::KP_HEXADECIMAL = SDL_SCANCODE_KP_HEXADECIMAL , asw::input::LCTRL = SDL_SCANCODE_LCTRL , asw::input::LSHIFT = SDL_SCANCODE_LSHIFT , asw::input::LALT = SDL_SCANCODE_LALT ,
  asw::input::LGUI = SDL_SCANCODE_LGUI , asw::input::RCTRL = SDL_SCANCODE_RCTRL , asw::input::RSHIFT = SDL_SCANCODE_RSHIFT , asw::input::RALT = SDL_SCANCODE_RALT ,
  asw::input::RGUI = SDL_SCANCODE_RGUI , asw::input::MODE = SDL_SCANCODE_MODE , asw::input::AUDIO_NEXT = SDL_SCANCODE_MEDIA_NEXT_TRACK , asw::input::AUDIO_PREV = SDL_SCANCODE_MEDIA_PREVIOUS_TRACK ,
  asw::input::AUDIO_STOP = SDL_SCANCODE_MEDIA_STOP , asw::input::AUDIO_PLAY = SDL_SCANCODE_MEDIA_PLAY , asw::input::MEDIA_SELECT = SDL_SCANCODE_MEDIA_SELECT , asw::input::AC_SEARCH = SDL_SCANCODE_AC_SEARCH ,
  asw::input::AC_HOME = SDL_SCANCODE_AC_HOME , asw::input::AC_BACK = SDL_SCANCODE_AC_BACK , asw::input::AC_FORWARD = SDL_SCANCODE_AC_FORWARD , asw::input::AC_STOP = SDL_SCANCODE_AC_STOP ,
  asw::input::AC_REFRESH = SDL_SCANCODE_AC_REFRESH , asw::input::AC_BOOKMARKS = SDL_SCANCODE_AC_BOOKMARKS , asw::input::EJECT = SDL_SCANCODE_MEDIA_EJECT , asw::input::SLEEP = SDL_SCANCODE_SLEEP ,
  asw::input::AUDIO_REWIND = SDL_SCANCODE_MEDIA_REWIND , asw::input::AUDIO_FAST_FORWARD = SDL_SCANCODE_MEDIA_FAST_FORWARD , asw::input::SOFT_LEFT = SDL_SCANCODE_SOFTLEFT , asw::input::SOFT_RIGHT = SDL_SCANCODE_SOFTRIGHT ,
  asw::input::CALL = SDL_SCANCODE_CALL , asw::input::ENDCALL = SDL_SCANCODE_ENDCALL , asw::input::NUM_SCANCODES = NUM_KEYS
}
 Enumeration of keys in the ASW library. More...
 
enum class  asw::input::CursorId {
  asw::input::DEFAULT = SDL_SYSTEM_CURSOR_DEFAULT , asw::input::TEXT = SDL_SYSTEM_CURSOR_TEXT , asw::input::WAIT = SDL_SYSTEM_CURSOR_WAIT , asw::input::CROSSHAIR = SDL_SYSTEM_CURSOR_CROSSHAIR ,
  asw::input::PROGRESS = SDL_SYSTEM_CURSOR_PROGRESS , asw::input::NWSE_RESIZE = SDL_SYSTEM_CURSOR_NWSE_RESIZE , asw::input::NESW_RESIZE = SDL_SYSTEM_CURSOR_NESW_RESIZE , asw::input::EW_RESIZE = SDL_SYSTEM_CURSOR_EW_RESIZE ,
  asw::input::NS_RESIZE = SDL_SYSTEM_CURSOR_NS_RESIZE , asw::input::MOVE = SDL_SYSTEM_CURSOR_MOVE , asw::input::NOT_ALLOWED = SDL_SYSTEM_CURSOR_NOT_ALLOWED , asw::input::POINTER = SDL_SYSTEM_CURSOR_POINTER ,
  asw::input::NW_RESIZE = SDL_SYSTEM_CURSOR_NW_RESIZE , asw::input::N_RESIZE = SDL_SYSTEM_CURSOR_N_RESIZE , asw::input::NE_RESIZE = SDL_SYSTEM_CURSOR_NE_RESIZE , asw::input::E_RESIZE = SDL_SYSTEM_CURSOR_E_RESIZE ,
  asw::input::SE_RESIZE = SDL_SYSTEM_CURSOR_SE_RESIZE , asw::input::S_RESIZE = SDL_SYSTEM_CURSOR_S_RESIZE , asw::input::SW_RESIZE = SDL_SYSTEM_CURSOR_SW_RESIZE , asw::input::W_RESIZE = SDL_SYSTEM_CURSOR_W_RESIZE ,
  asw::input::COUNT = NUM_CURSORS
}
 System cursor Ids. More...
 
enum class  asw::input::ControllerButton {
  asw::input::A = SDL_GAMEPAD_BUTTON_SOUTH , asw::input::B = SDL_GAMEPAD_BUTTON_EAST , asw::input::X = SDL_GAMEPAD_BUTTON_WEST , asw::input::Y = SDL_GAMEPAD_BUTTON_NORTH ,
  asw::input::BACK = SDL_GAMEPAD_BUTTON_BACK , asw::input::GUIDE = SDL_GAMEPAD_BUTTON_GUIDE , asw::input::START = SDL_GAMEPAD_BUTTON_START , asw::input::LEFT_STICK = SDL_GAMEPAD_BUTTON_LEFT_STICK ,
  asw::input::RIGHT_STICK = SDL_GAMEPAD_BUTTON_RIGHT_STICK , asw::input::LEFT_SHOULDER = SDL_GAMEPAD_BUTTON_LEFT_SHOULDER , asw::input::RIGHT_SHOULDER = SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER , asw::input::DPAD_UP = SDL_GAMEPAD_BUTTON_DPAD_UP ,
  asw::input::DPAD_DOWN = SDL_GAMEPAD_BUTTON_DPAD_DOWN , asw::input::DPAD_LEFT = SDL_GAMEPAD_BUTTON_DPAD_LEFT , asw::input::DPAD_RIGHT = SDL_GAMEPAD_BUTTON_DPAD_RIGHT , asw::input::MISC_1 = SDL_GAMEPAD_BUTTON_MISC1 ,
  asw::input::RIGHT_PADDLE_1 = SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1 , asw::input::LEFT_PADDLE_2 = SDL_GAMEPAD_BUTTON_LEFT_PADDLE1 , asw::input::RIGHT_PADDLE_3 = SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 , asw::input::LEFT_PADDLE_4 = SDL_GAMEPAD_BUTTON_LEFT_PADDLE2 ,
  asw::input::TOUCH_PAD = SDL_GAMEPAD_BUTTON_TOUCHPAD , asw::input::MAX = NUM_CONTROLLER_BUTTONS
}
 Mappings from SDL game controller buttons to ASW buttons. More...
 
enum class  asw::input::ControllerAxis {
  asw::input::LEFT_X = SDL_GAMEPAD_AXIS_LEFTX , asw::input::LEFT_Y = SDL_GAMEPAD_AXIS_LEFTY , asw::input::RIGHT_X = SDL_GAMEPAD_AXIS_RIGHTX , asw::input::RIGHT_Y = SDL_GAMEPAD_AXIS_RIGHTY ,
  asw::input::LEFT_TRIGGER = SDL_GAMEPAD_AXIS_LEFT_TRIGGER , asw::input::RIGHT_TRIGGER = SDL_GAMEPAD_AXIS_RIGHT_TRIGGER , asw::input::MAX = NUM_CONTROLLER_AXES
}
 Mappings from SDL game controller axes to ASW axes. More...
 

Functions

bool asw::input::isButtonDown (asw::input::MouseButton button)
 Check if a button is down.
 
bool asw::input::wasButtonPressed (asw::input::MouseButton button)
 Check if a button was pressed since the last update.
 
bool asw::input::wasButtonReleased (asw::input::MouseButton button)
 Check if a button was released since the last update.
 
bool asw::input::isKeyDown (asw::input::Key key)
 Check if a key is down.
 
bool asw::input::wasKeyPressed (asw::input::Key key)
 Check if a key was pressed since the last update.
 
bool asw::input::wasKeyReleased (asw::input::Key key)
 Check if a key was released since the last update.
 
void asw::input::setCursor (asw::input::CursorId cursor)
 Change cursor.
 
bool asw::input::isControllerButtonDown (int index, asw::input::ControllerButton button)
 Check if a controller button is down.
 
bool asw::input::wasControllerButtonPressed (int index, asw::input::ControllerButton button)
 Check if a controller button was pressed since the last update.
 
bool asw::input::wasControllerButtonReleased (int index, asw::input::ControllerButton button)
 Check if a controller button was released since the last update.
 
float asw::input::getControllerAxis (int index, asw::input::ControllerAxis axis)
 Get the value of a controller axis.
 
void asw::input::setControllerDeadZone (int index, float deadZone)
 
int asw::input::getControllerCount ()
 
std::string asw::input::getControllerName (int index)
 
void asw::input::reset ()
 Reset all input states. Called by the core.
 

Variables

constexpr int asw::input::NUM_MOUSE_BUTTONS = 5
 Number of mouse buttons in the ASW library.
 
constexpr int asw::input::NUM_KEYS = SDL_SCANCODE_COUNT
 Number of keys in the ASW library.
 
constexpr int asw::input::NUM_CURSORS = SDL_SYSTEM_CURSOR_COUNT
 Cursor count.
 
std::array< SDL_Cursor *, NUM_CURSORSasw::input::anonymous_namespace{input.h}::cursors {nullptr}
 Active cursor stores the current active cursor. It is updated by the core.
 
MouseState asw::input::mouse {}
 Global mouse state.
 
KeyState asw::input::keyboard {}
 Global keyboard state.
 
constexpr int asw::input::NUM_CONTROLLER_BUTTONS = SDL_GAMEPAD_BUTTON_COUNT
 Number of buttons on a game controller.
 
constexpr int asw::input::NUM_CONTROLLER_AXES = SDL_GAMEPAD_AXIS_COUNT
 
constexpr int asw::input::MAX_CONTROLLERS = 8
 Maximum number of controllers supported.
 
std::array< ControllerState, MAX_CONTROLLERSasw::input::controller {}
 Global controller state.
 

Detailed Description

Input module for the ASW library.

Author
Allan Legemaate (alege.nosp@m.maat.nosp@m.e@gma.nosp@m.il.c.nosp@m.om)
Date
2023-09-20

Definition in file input.h.