SuperTuxKart
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
InputDevice Class Referenceabstract

base class for input devices More...

#include <input_device.hpp>

Inheritance diagram for InputDevice:
Inheritance graph
[legend]

Public Member Functions

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.
 
DeviceConfiggetConfiguration ()
 Returns the configuration for this device.
 
DeviceType getType () const
 Returns the type of this device.
 
StateManager::ActivePlayergetPlayer ()
 Returns the player using this device.
 
const std::string & getName () const
 Returns the name of this device.
 
void setConnected (bool val)
 
bool isConnected () const
 

Protected Attributes

bool m_connected
 For SDL controller it's set false when it's unplugged.
 
DeviceType m_type
 Device type (keyboard, gamepad).
 
StateManager::ActivePlayerm_player
 Which player is using this device.
 
DeviceConfigm_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.
 

Detailed Description

base class for input devices

Member Function Documentation

◆ processAndMapInput()

virtual bool InputDevice::processAndMapInput ( Input::InputType  type,
const int  id,
InputManager::InputDriverMode  mode,
PlayerAction action,
int *  value = NULL 
)
pure 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
typeType of input (e.g. IT_STICKMOTION, ...).
idID of the key that was pressed or of the axis that was triggered (depending on the value of the 'type' parameter).
modeUsed to determine whether to map menu actions or game actions
[out]actionThe action associated to this input (only check this value if method returned true)
[in,out]valueThe value associated with this type (typically how far a gamepad axis is moved).
Returns
Whether the pressed key/button is bound with an action

Implemented in MultitouchDevice, GamePadDevice, and KeyboardDevice.


The documentation for this class was generated from the following files: