20#ifndef HEADER_INPUT_MANAGER_HPP
21#define HEADER_INPUT_MANAGER_HPP
29#include "guiengine/event_handler.hpp"
30#include "input/input.hpp"
31#include "utils/no_copy.hpp"
34#include <SDL_events.h>
57 std::map<int, float> m_gamepads_timer;
62 std::set<std::tuple<int, int>> m_sensed_input_high_gamepad;
63 std::set<int> m_sensed_input_high_kbd;
64 std::set<int> m_sensed_input_zero_gamepad;
66 InputDriverMode m_mode;
75 int m_mouse_val_x, m_mouse_val_y;
77 void handleStaticAction(
int id0,
int value);
78 void inputSensing(Input::InputType type,
int deviceID,
int btnID,
79 Input::AxisDirection axisDirection,
int value);
82 std::map<int, std::unique_ptr<SDLController> > m_sdl_controller;
91 GUIEngine::EventPropagation
input(
const irr::SEvent& event);
93 DeviceManager* getDeviceManager() {
return m_device_manager; }
97 InputDriverMode getMode() {
return m_mode; }
107 void update(
float dt);
122 void handleJoystick(SDL_Event& event);
127 void dispatchInput(Input::InputType,
int deviceID,
int btnID,
128 Input::AxisDirection direction,
int value,
129 bool shift_mask =
false);
This class holds the list of all known devices (ands their configurations), as well as the list of cu...
Definition: device_manager.hpp:63
Utility class, you can inherit from this class to disallow the assignment operator and copy construct...
Definition: no_copy.hpp:26
Definition: sdl_controller.hpp:36