|
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++.
|
Input module for the ASW library. More...
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::NumMouseButtons = 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::Num1 = SDL_SCANCODE_1 , asw::input::Num2 = SDL_SCANCODE_2 , asw::input::Num3 = SDL_SCANCODE_3 , asw::input::Num4 = SDL_SCANCODE_4 , asw::input::Num5 = SDL_SCANCODE_5 , asw::input::Num6 = SDL_SCANCODE_6 , asw::input::Num7 = SDL_SCANCODE_7 , asw::input::Num8 = SDL_SCANCODE_8 , asw::input::Num9 = SDL_SCANCODE_9 , asw::input::Num0 = 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::Minux = SDL_SCANCODE_MINUS , asw::input::Equals = SDL_SCANCODE_EQUALS , asw::input::LeftBracket = SDL_SCANCODE_LEFTBRACKET , asw::input::RightBracket = SDL_SCANCODE_RIGHTBRACKET , asw::input::Backslash = SDL_SCANCODE_BACKSLASH , asw::input::Nonoshash = 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::PrintScreen = SDL_SCANCODE_PRINTSCREEN , asw::input::ScrollLock = SDL_SCANCODE_SCROLLLOCK , asw::input::Pause = SDL_SCANCODE_PAUSE , asw::input::Insert = SDL_SCANCODE_INSERT , asw::input::Home = SDL_SCANCODE_HOME , asw::input::PageUp = SDL_SCANCODE_PAGEUP , asw::input::Delete = SDL_SCANCODE_DELETE , asw::input::End = SDL_SCANCODE_END , asw::input::PageDown = 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::NumLockClear = SDL_SCANCODE_NUMLOCKCLEAR , asw::input::KpDivide = SDL_SCANCODE_KP_DIVIDE , asw::input::KpMultiply = SDL_SCANCODE_KP_MULTIPLY , asw::input::KpMinus = SDL_SCANCODE_KP_MINUS , asw::input::KpPlus = SDL_SCANCODE_KP_PLUS , asw::input::KpEnter = SDL_SCANCODE_KP_ENTER , asw::input::Kp1 = SDL_SCANCODE_KP_1 , asw::input::Kp2 = SDL_SCANCODE_KP_2 , asw::input::Kp3 = SDL_SCANCODE_KP_3 , asw::input::Kp4 = SDL_SCANCODE_KP_4 , asw::input::Kp5 = SDL_SCANCODE_KP_5 , asw::input::Kp6 = SDL_SCANCODE_KP_6 , asw::input::Kp7 = SDL_SCANCODE_KP_7 , asw::input::Kp8 = SDL_SCANCODE_KP_8 , asw::input::Kp9 = SDL_SCANCODE_KP_9 , asw::input::Kp0 = SDL_SCANCODE_KP_0 , asw::input::KpPeriod = SDL_SCANCODE_KP_PERIOD , asw::input::NonusBackslash = SDL_SCANCODE_NONUSBACKSLASH , asw::input::Application = SDL_SCANCODE_APPLICATION , asw::input::Power = SDL_SCANCODE_POWER , asw::input::KpEquals = 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::VolumeUp = SDL_SCANCODE_VOLUMEUP , asw::input::VolumeDown = SDL_SCANCODE_VOLUMEDOWN , asw::input::KpComma = SDL_SCANCODE_KP_COMMA , asw::input::KpEqualsSas400 = SDL_SCANCODE_KP_EQUALSAS400 , asw::input::International1 = SDL_SCANCODE_INTERNATIONAL1 , asw::input::International2 = SDL_SCANCODE_INTERNATIONAL2 , asw::input::International3 = SDL_SCANCODE_INTERNATIONAL3 , asw::input::International4 = SDL_SCANCODE_INTERNATIONAL4 , asw::input::International5 = SDL_SCANCODE_INTERNATIONAL5 , asw::input::International6 = SDL_SCANCODE_INTERNATIONAL6 , asw::input::International7 = SDL_SCANCODE_INTERNATIONAL7 , asw::input::International8 = SDL_SCANCODE_INTERNATIONAL8 , asw::input::International9 = SDL_SCANCODE_INTERNATIONAL9 , asw::input::Lang1 = SDL_SCANCODE_LANG1 , asw::input::Lang2 = SDL_SCANCODE_LANG2 , asw::input::Lang3 = SDL_SCANCODE_LANG3 , asw::input::Lang4 = SDL_SCANCODE_LANG4 , asw::input::Lang5 = SDL_SCANCODE_LANG5 , asw::input::Lang6 = SDL_SCANCODE_LANG6 , asw::input::Lang7 = SDL_SCANCODE_LANG7 , asw::input::Lang8 = SDL_SCANCODE_LANG8 , asw::input::Lang9 = SDL_SCANCODE_LANG9 , asw::input::AltErase = SDL_SCANCODE_ALTERASE , asw::input::SysReq = SDL_SCANCODE_SYSREQ , asw::input::Cancel = SDL_SCANCODE_CANCEL , asw::input::Clear = SDL_SCANCODE_CLEAR , asw::input::Prior = SDL_SCANCODE_PRIOR , asw::input::Return2 = SDL_SCANCODE_RETURN2 , asw::input::Separator = SDL_SCANCODE_SEPARATOR , asw::input::Out = SDL_SCANCODE_OUT , asw::input::Oper = SDL_SCANCODE_OPER , asw::input::ClearAgain = SDL_SCANCODE_CLEARAGAIN , asw::input::Crsel = SDL_SCANCODE_CRSEL , asw::input::Exsel = SDL_SCANCODE_EXSEL , asw::input::Kp00 = SDL_SCANCODE_KP_00 , asw::input::Kp000 = SDL_SCANCODE_KP_000 , asw::input::ThousandsSeparator = SDL_SCANCODE_THOUSANDSSEPARATOR , asw::input::DecimalSeparator = SDL_SCANCODE_DECIMALSEPARATOR , asw::input::CurrencyUnit = SDL_SCANCODE_CURRENCYUNIT , asw::input::CurrencySubunit = SDL_SCANCODE_CURRENCYSUBUNIT , asw::input::KpLeftParen = SDL_SCANCODE_KP_LEFTPAREN , asw::input::KpRightParan = SDL_SCANCODE_KP_RIGHTPAREN , asw::input::KpLeftBrace = SDL_SCANCODE_KP_LEFTBRACE , asw::input::KpRightBrace = SDL_SCANCODE_KP_RIGHTBRACE , asw::input::KpTab = SDL_SCANCODE_KP_TAB , asw::input::KpBackspace = SDL_SCANCODE_KP_BACKSPACE , asw::input::KpA = SDL_SCANCODE_KP_A , asw::input::KpB = SDL_SCANCODE_KP_B , asw::input::KpC = SDL_SCANCODE_KP_C , asw::input::KpD = SDL_SCANCODE_KP_D , asw::input::KpE = SDL_SCANCODE_KP_E , asw::input::KpF = SDL_SCANCODE_KP_F , asw::input::KpXor = SDL_SCANCODE_KP_XOR , asw::input::KpPower = SDL_SCANCODE_KP_POWER , asw::input::KpPercent = SDL_SCANCODE_KP_PERCENT , asw::input::KpLess = SDL_SCANCODE_KP_LESS , asw::input::KpGreater = SDL_SCANCODE_KP_GREATER , asw::input::KpAmpersand = SDL_SCANCODE_KP_AMPERSAND , asw::input::KpDoubleAmpersand = SDL_SCANCODE_KP_DBLAMPERSAND , asw::input::KpVerticalBar = SDL_SCANCODE_KP_VERTICALBAR , asw::input::KpDoubleVerticalBar = SDL_SCANCODE_KP_DBLVERTICALBAR , asw::input::KpColon = SDL_SCANCODE_KP_COLON , asw::input::KpHash = SDL_SCANCODE_KP_HASH , asw::input::KpSpace = SDL_SCANCODE_KP_SPACE , asw::input::KpAt = SDL_SCANCODE_KP_AT , asw::input::KpExclam = SDL_SCANCODE_KP_EXCLAM , asw::input::KpMemStore = SDL_SCANCODE_KP_MEMSTORE , asw::input::KpMemRecall = SDL_SCANCODE_KP_MEMRECALL , asw::input::KpMemClear = SDL_SCANCODE_KP_MEMCLEAR , asw::input::KpMemAdd = SDL_SCANCODE_KP_MEMADD , asw::input::KpMemSubtract = SDL_SCANCODE_KP_MEMSUBTRACT , asw::input::KpMemMultiply = SDL_SCANCODE_KP_MEMMULTIPLY , asw::input::KpMemDivide = SDL_SCANCODE_KP_MEMDIVIDE , asw::input::KpPlusMinus = SDL_SCANCODE_KP_PLUSMINUS , asw::input::KpClear = SDL_SCANCODE_KP_CLEAR , asw::input::KpClearEntry = SDL_SCANCODE_KP_CLEARENTRY , asw::input::KpBinary = SDL_SCANCODE_KP_BINARY , asw::input::KpOctal = SDL_SCANCODE_KP_OCTAL , asw::input::KpDecimal = SDL_SCANCODE_KP_DECIMAL , asw::input::KpHexadecimal = 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::MediaNextTrack = SDL_SCANCODE_MEDIA_NEXT_TRACK , asw::input::MediaPreviousTrack = SDL_SCANCODE_MEDIA_PREVIOUS_TRACK , asw::input::MediaStop = SDL_SCANCODE_MEDIA_STOP , asw::input::MediaPlay = SDL_SCANCODE_MEDIA_PLAY , asw::input::MediaSelect = SDL_SCANCODE_MEDIA_SELECT , asw::input::AcSearch = SDL_SCANCODE_AC_SEARCH , asw::input::AcHome = SDL_SCANCODE_AC_HOME , asw::input::AcBack = SDL_SCANCODE_AC_BACK , asw::input::AcForward = SDL_SCANCODE_AC_FORWARD , asw::input::AcStop = SDL_SCANCODE_AC_STOP , asw::input::AcRefresh = SDL_SCANCODE_AC_REFRESH , asw::input::AcBookmarks = SDL_SCANCODE_AC_BOOKMARKS , asw::input::Eject = SDL_SCANCODE_MEDIA_EJECT , asw::input::Sleep = SDL_SCANCODE_SLEEP , asw::input::AudioRewind = SDL_SCANCODE_MEDIA_REWIND , asw::input::AudioFastForward = SDL_SCANCODE_MEDIA_FAST_FORWARD , asw::input::SoftLeft = SDL_SCANCODE_SOFTLEFT , asw::input::SoftRight = SDL_SCANCODE_SOFTRIGHT , asw::input::Call = SDL_SCANCODE_CALL , asw::input::EndCall = SDL_SCANCODE_ENDCALL , asw::input::NumKeys = 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::NwseResize = SDL_SYSTEM_CURSOR_NWSE_RESIZE , asw::input::NeswResize = SDL_SYSTEM_CURSOR_NESW_RESIZE , asw::input::EwResize = SDL_SYSTEM_CURSOR_EW_RESIZE , asw::input::NsResize = SDL_SYSTEM_CURSOR_NS_RESIZE , asw::input::Move = SDL_SYSTEM_CURSOR_MOVE , asw::input::NotAllowed = SDL_SYSTEM_CURSOR_NOT_ALLOWED , asw::input::Pointer = SDL_SYSTEM_CURSOR_POINTER , asw::input::NwResize = SDL_SYSTEM_CURSOR_NW_RESIZE , asw::input::NResize = SDL_SYSTEM_CURSOR_N_RESIZE , asw::input::NeResize = SDL_SYSTEM_CURSOR_NE_RESIZE , asw::input::EResize = SDL_SYSTEM_CURSOR_E_RESIZE , asw::input::SEResize = SDL_SYSTEM_CURSOR_SE_RESIZE , asw::input::SResize = SDL_SYSTEM_CURSOR_S_RESIZE , asw::input::SWResize = SDL_SYSTEM_CURSOR_SW_RESIZE , asw::input::WResize = SDL_SYSTEM_CURSOR_W_RESIZE , asw::input::NumCursors = 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::LeftStick = SDL_GAMEPAD_BUTTON_LEFT_STICK , asw::input::RightStick = SDL_GAMEPAD_BUTTON_RIGHT_STICK , asw::input::LeftShoulder = SDL_GAMEPAD_BUTTON_LEFT_SHOULDER , asw::input::RightShoulder = SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER , asw::input::DPadUp = SDL_GAMEPAD_BUTTON_DPAD_UP , asw::input::DPadDown = SDL_GAMEPAD_BUTTON_DPAD_DOWN , asw::input::DPadLeft = SDL_GAMEPAD_BUTTON_DPAD_LEFT , asw::input::DPadRight = SDL_GAMEPAD_BUTTON_DPAD_RIGHT , asw::input::Misc1 = SDL_GAMEPAD_BUTTON_MISC1 , asw::input::RightPaddle1 = SDL_GAMEPAD_BUTTON_RIGHT_PADDLE1 , asw::input::LeftPaddle1 = SDL_GAMEPAD_BUTTON_LEFT_PADDLE1 , asw::input::RightPaddle2 = SDL_GAMEPAD_BUTTON_RIGHT_PADDLE2 , asw::input::LeftPaddle2 = SDL_GAMEPAD_BUTTON_LEFT_PADDLE2 , asw::input::TouchPad = SDL_GAMEPAD_BUTTON_TOUCHPAD , asw::input::NumControllerButtons = NUM_CONTROLLER_BUTTONS } |
| Mappings from SDL game controller buttons to ASW buttons. More... | |
| enum class | asw::input::ControllerAxis { asw::input::LeftX = SDL_GAMEPAD_AXIS_LEFTX , asw::input::LeftY = SDL_GAMEPAD_AXIS_LEFTY , asw::input::RightX = SDL_GAMEPAD_AXIS_RIGHTX , asw::input::RightY = SDL_GAMEPAD_AXIS_RIGHTY , asw::input::LeftTrigger = SDL_GAMEPAD_AXIS_LEFT_TRIGGER , asw::input::RightTrigger = SDL_GAMEPAD_AXIS_RIGHT_TRIGGER , asw::input::NumControllerAxes = NUM_CONTROLLER_AXES } |
| Mappings from SDL game controller axes to ASW axes. More... | |
Functions | |
| bool | asw::input::getMouseButton (asw::input::MouseButton button) |
| Check if a mouse button is down. | |
| bool | asw::input::getMouseButtonDown (asw::input::MouseButton button) |
| Check if a mouse button was pressed since the last update. | |
| bool | asw::input::getMouseButtonUp (asw::input::MouseButton button) |
| Check if a mouse button was released since the last update. | |
| bool | asw::input::getKey (asw::input::Key key) |
| Check if a key is down. | |
| bool | asw::input::getKeyDown (asw::input::Key key) |
| Check if a key was pressed since the last update. | |
| bool | asw::input::getKeyUp (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::getControllerButton (int index, asw::input::ControllerButton button) |
| Check if a controller button is down. | |
| bool | asw::input::getControllerButtonDown (int index, asw::input::ControllerButton button) |
| Check if a controller button was pressed since the last update. | |
| bool | asw::input::getControllerButtonUp (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 = 6 |
| 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_CURSORS > | asw::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_CONTROLLERS > | asw::input::controller {} |
| Global controller state. | |
Input module for the ASW library.
Definition in file input.h.