Snapshot of gamepad / game controller state. More...
#include <le2d/input/gamepad.hpp>
Classes | |
| struct | FirstUsed |
| Selector for first used gamepad. More... | |
| struct | LastUsed |
| Selector for last used gamepad. More... | |
| class | Manager |
| Stores and maintains Gamepad states. More... | |
Public Types | |
| enum struct | Id : std::int8_t |
| Strong type wrapper for Gamepad ID. More... | |
| using | Binding = std::variant< FirstUsed, LastUsed, Id > |
| Variant of selectors. | |
Public Member Functions | |
| auto | get_id () const -> Id |
| auto | is_connected () const -> bool |
| auto | get_name () const -> klib::CString |
| auto | any_button_pressed () const -> bool |
| auto | any_axis_nonzero (float dead_zone=nonzero_dead_zone_v) const -> bool |
| auto | is_pressed (int button) const -> bool |
| auto | get_axis (int axis, float dead_zone=dead_zone_v) const -> float |
Static Public Attributes | |
| static constexpr float | dead_zone_v = 0.08f |
| static constexpr float | nonzero_dead_zone_v = 0.2f |
Snapshot of gamepad / game controller state.
Note: Use le::Gamepad::get_active() or le::Gamepad::get_by_id() every frame, to get the latest snapshot.
| using le::input::Gamepad::Binding = std::variant<FirstUsed, LastUsed, Id> |
Variant of selectors.
|
strong |
Strong type wrapper for Gamepad ID.
| auto le::input::Gamepad::any_axis_nonzero | ( | float | dead_zone = nonzero_dead_zone_v | ) | const -> bool |
| dead_zone | Magnitude floor. |
| auto le::input::Gamepad::any_button_pressed | ( | ) | const -> bool |
| auto le::input::Gamepad::get_axis | ( | int | axis, |
| float | dead_zone = dead_zone_v |
||
| ) | const -> float |
| axis | GLFW_GAMEPAD_AXIS_<ID>. |
| dead_zone | Magnitude floor. |
| auto le::input::Gamepad::get_name | ( | ) | const -> klib::CString |
|
inline |
| auto le::input::Gamepad::is_pressed | ( | int | button | ) | const -> bool |
| button | GLFW_GAMEPAD_BUTTON_<ID>. |
|
staticconstexpr |
|
staticconstexpr |