specialisation of Inputdevice for gamepad type devices
More...
#include <gamepad_device.hpp>
|
| GamePadDevice (const int irrIndex, const std::string &name, const int axis_number, const int button_count, GamepadConfig *configuration) |
| Constructor for GamePadDevice from a connected gamepad for which no configuration existed (defaults will be used)
|
|
virtual | ~GamePadDevice () |
| Destructor for GamePadDevice.
|
|
bool | isButtonPressed (const int i) |
|
void | setButtonPressed (const int i, bool isButtonPressed) |
|
virtual bool | processAndMapInput (Input::InputType type, const int id, InputManager::InputDriverMode mode, PlayerAction *action, int *value=NULL) OVERRIDE |
| Invoked when this device it used.
|
|
int | getNumberOfButtons () const |
| Returns the number of buttons of this gamepad.
|
|
bool | moved (int value) const |
| Returns if the specified value is larger than the deadzone.
|
|
int | getIrrIndex () const |
| Returns the irrlicht index of this gamepad.
|
|
void | setIrrIndex (int i) |
|
bool | useForceFeedback () const |
|
int | getAutoCenterStrength () const |
|
virtual bool | processAndMapInput (Input::InputType type, const int id, InputManager::InputDriverMode mode, PlayerAction *action, int *value=NULL)=0 |
| Invoked when this device it used.
|
|
void | setPlayer (StateManager::ActivePlayer *owner) |
| Sets which players uses this device; or pass NULL to say no player uses it.
|
|
void | setConfiguration (DeviceConfig *config) |
| Sets the configuration to be used by this input device.
|
|
DeviceConfig * | getConfiguration () |
| Returns the configuration for this device.
|
|
DeviceType | getType () const |
| Returns the type of this device.
|
|
StateManager::ActivePlayer * | getPlayer () |
| Returns the player using this device.
|
|
const std::string & | getName () const |
| Returns the name of this device.
|
|
void | setConnected (bool val) |
|
bool | isConnected () const |
|
|
void | resetAxisDirection (const int axis, Input::AxisDirection direction) |
|
|
std::vector< bool > | m_button_pressed |
|
std::vector< Input::AxisDirection > | m_prev_axis_directions |
|
int | m_irr_index |
| Irrlicht index of this gamepad.
|
|
|
bool | m_connected |
| For SDL controller it's set false when it's unplugged.
|
|
DeviceType | m_type |
| Device type (keyboard, gamepad).
|
|
StateManager::ActivePlayer * | m_player |
| Which player is using this device.
|
|
DeviceConfig * | m_configuration |
| The configuration for this device.
|
|
std::string | m_name |
| If device has a name; unused for keyboards since AFAIK we can't tell keyboards apart.
|
|
specialisation of Inputdevice for gamepad type devices
◆ GamePadDevice()
GamePadDevice::GamePadDevice |
( |
const int |
irr_index, |
|
|
const std::string & |
name, |
|
|
const int |
axis_count, |
|
|
const int |
button_count, |
|
|
GamepadConfig * |
configuration |
|
) |
| |
Constructor for GamePadDevice from a connected gamepad for which no configuration existed (defaults will be used)
- Parameters
-
irrIndex | Index of stick as given by irrLicht. |
◆ processAndMapInput()
bool GamePadDevice::processAndMapInput |
( |
Input::InputType |
type, |
|
|
const int |
id, |
|
|
InputManager::InputDriverMode |
mode, |
|
|
PlayerAction * |
action, |
|
|
int * |
value = NULL |
|
) |
| |
|
virtual |
Invoked when this device it used.
Verifies if the key/button that was pressed is associated with a binding. If yes, sets action and returns true; otherwise returns false. It can also modify the value used.
- Parameters
-
| type | Type of input (e.g. IT_STICKMOTION, ...). |
| id | ID of the key that was pressed or of the axis that was triggered (depending on the value of the 'type' parameter). |
| mode | Used to determine whether to map menu actions or game actions |
[out] | action | The action associated to this input (only check this value if method returned true) |
[in,out] | value | The value associated with this type (typically how far a gamepad axis is moved). |
- Returns
- Whether the pressed key/button is bound with an action
Implements InputDevice.
The documentation for this class was generated from the following files: