19 #ifndef DEVICE_MANAGER_HPP
20 #define DEVICE_MANAGER_HPP
22 #include "input/gamepad_config.hpp"
23 #include "input/input_manager.hpp"
24 #include "input/keyboard_config.hpp"
25 #include "states_screens/state_manager.hpp"
26 #include "utils/no_copy.hpp"
27 #include "utils/ptr_vector.hpp"
30 #include <IEventReceiver.h>
73 PlayerAssignMode m_assign_mode;
86 InputDevice *mapGamepadInput( Input::InputType type,
int deviceID,
87 int btnID,
int axisDir,
89 InputManager::InputDriverMode mode,
93 InputManager::InputDriverMode mode,
105 PlayerAssignMode getAssignMode()
const {
return m_assign_mode; }
106 void setAssignMode(
const PlayerAssignMode assignMode);
110 int getGamePadAmount()
const {
return m_gamepads.size(); }
111 int getGamePadConfigAmount()
const {
return m_gamepad_configs.size(); }
113 GamepadConfig* getGamepadConfig(
const int i) {
return m_gamepad_configs.get(i); }
115 void clearGamepads();
117 bool getConfigForGamepad(
const int sdl_id,
118 const std::string& name,
122 void addEmptyKeyboard();
124 void clearKeyboard();
125 int getKeyboardAmount() {
return m_keyboards.size(); }
126 int getActiveKeyboardAmount()
129 for (
unsigned int i=0;i<m_keyboard_configs.size();i++)
131 if (m_keyboard_configs[i].isEnabled()) active++;
135 int getKeyboardConfigAmount()
const {
return m_keyboard_configs.size(); }
137 KeyboardConfig* getKeyboardConfig(
const int i) {
return m_keyboard_configs.get(i); }
142 void clearMultitouchDevices();
143 void updateMultitouchDevice();
160 bool translateInput( Input::InputType type,
165 InputManager::InputDriverMode mode,
169 void clearLatestUsedDevice();
contains the key bindings information related to one input device
Definition: device_config.hpp:42
This class holds the list of all known devices (ands their configurations), as well as the list of cu...
Definition: device_manager.hpp:63
StateManager::ActivePlayer * getSinglePlayer()
Returns the active player if there is only a single local player.
Definition: device_manager.hpp:177
void setSinglePlayer(StateManager::ActivePlayer *p)
Sets the ActivePlayer if there is only a single local player.
Definition: device_manager.hpp:185
StateManager::ActivePlayer * m_single_player
Will be non-null in single-player mode.
Definition: device_manager.hpp:77
bool m_map_fire_to_select
If this is flag is set the next fire event (if the fire key is not mapped to anything else) will be m...
Definition: device_manager.hpp:83
void mapFireToSelect(bool v)
Sets or reset the 'map fire to select' option.
Definition: device_manager.hpp:192
specialisation of Inputdevice for gamepad type devices
Definition: gamepad_device.hpp:33
specialisation of DeviceConfig for gamepad type devices
Definition: gamepad_config.hpp:43
specialisation of DeviceConfig for keyboard type devices
Definition: keyboard_config.hpp:35
specialisation of InputDevice for keyboard type devices
Definition: keyboard_device.hpp:34
Definition: multitouch_device.hpp:76
Utility class, you can inherit from this class to disallow the assignment operator and copy construct...
Definition: no_copy.hpp:26
Represents a player that is currently playing.
Definition: state_manager.hpp:76