Unravel Engine C++ Reference
Loading...
Searching...
No Matches
os_gamepad.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "../bimap.hpp"
5#include "../gamepad.hpp"
6#include <ospp/gamepad.h>
7#include <map>
8#include <string>
9
10namespace input
11{
12class os_gamepad : public gamepad
13{
14 int index_;
15 std::map<unsigned, float> axis_map_;
16 button_state_map button_state_map_;
17 std::string name_;
18
19 bool refresh_device_{true};
20 os::gamepad::device_t device_;
21public:
22 os_gamepad(int index);
23 ~os_gamepad() override;
24 auto get_axis_value(uint32_t axis) const -> float override;
25 auto get_button_state(uint32_t button) const -> button_state override;
26 auto get_name() const -> const std::string& override;
27 auto is_connected() const -> bool override;
28 auto is_down(uint32_t button) const -> bool override;
29 auto is_pressed(uint32_t button) const -> bool override;
30 auto is_released(uint32_t button) const -> bool override;
31 void update();
32 void refresh_device();
33 void open_device();
34 void close_device();
35};
36} // namespace input
auto is_released(uint32_t button) const -> bool override
auto is_connected() const -> bool override
auto is_pressed(uint32_t button) const -> bool override
~os_gamepad() override
auto is_down(uint32_t button) const -> bool override
auto get_button_state(uint32_t button) const -> button_state override
auto get_axis_value(uint32_t axis) const -> float override
auto get_name() const -> const std::string &override
os_gamepad(int index)
Definition os_gamepad.cpp:9