Gainput
v1.0.0
|
A pad input device. More...
#include <GainputInputDevicePad.h>
Public Member Functions | |
InputDevicePad (InputManager &manager, DeviceId device, unsigned index, DeviceVariant variant) | |
Initializes the device. More... | |
~InputDevicePad () | |
Shuts down the device. | |
DeviceType | GetType () const |
Returns DT_PAD. | |
DeviceVariant | GetVariant () const |
Returns the device variant. | |
const char * | GetTypeName () const |
Returns the device type's name. | |
bool | IsValidButtonId (DeviceButtonId deviceButton) const |
Returns if the given button is valid for this device. | |
size_t | GetAnyButtonDown (DeviceButtonSpec *outButtons, size_t maxButtonCount) const |
Checks if any button on this device is down. More... | |
size_t | GetButtonName (DeviceButtonId deviceButton, char *buffer, size_t bufferLength) const |
Gets the name of the given button. More... | |
ButtonType | GetButtonType (DeviceButtonId deviceButton) const |
Returns the type of the given button. | |
DeviceButtonId | GetButtonByName (const char *name) const |
Returns the button's ID if the name is of this device's buttons. More... | |
InputState * | GetNextInputState () |
Returns the device's state that is currently being determined, may be 0 if not available. | |
bool | Vibrate (float leftMotor, float rightMotor) |
Enables the rumble feature of the pad. More... | |
InputDevicePadImpl * | GetPimpl () |
Returns the platform-specific implementation of this device. | |
Public Member Functions inherited from gainput::InputDevice | |
InputDevice (InputManager &manager, DeviceId device, unsigned index) | |
Initializes the input device. More... | |
virtual | ~InputDevice () |
Empty virtual destructor. | |
void | Update (InputDeltaState *delta) |
Update this device, internally called by InputManager. More... | |
DeviceId | GetDeviceId () const |
Returns this device's ID. | |
unsigned | GetIndex () const |
Returns the device's index among devices of the same type. | |
virtual bool | IsLateUpdate () const |
Returns if this device should be updated after other devices. | |
DeviceState | GetState () const |
Returns the device state. | |
virtual bool | IsAvailable () const |
Returns if this device is available. | |
bool | GetBool (DeviceButtonId deviceButton) const |
Returns the current state of the given button. | |
bool | GetBoolPrevious (DeviceButtonId deviceButton) const |
Returns the previous state of the given button. | |
float | GetFloat (DeviceButtonId deviceButton) const |
Returns the current state of the given button. | |
float | GetFloatPrevious (DeviceButtonId deviceButton) const |
Returns the previous state of the given button. | |
InputState * | GetInputState () |
Returns the device's state, probably best if only used internally. | |
const InputState * | GetInputState () const |
Returns the device's state, probably best if only used internally. | |
InputState * | GetPreviousInputState () |
Returns the device's previous state, probably best if only used internally. | |
float | GetDeadZone (DeviceButtonId buttonId) const |
Returns the previously set dead zone for the given button or 0.0f if none was set yet. | |
void | SetDeadZone (DeviceButtonId buttonId, float value) |
Sets the dead zone for the given button. | |
void | SetDebugRenderingEnabled (bool enabled) |
Enable/disable debug rendering of this device. | |
bool | IsDebugRenderingEnabled () const |
Returns true if debug rendering is enabled, false otherwise. | |
bool | IsSynced () const |
void | SetSynced (bool synced) |
Sets if this device is being controlled remotely or from a recording. More... | |
Static Public Attributes | |
static const char * | PadDeviceIds [MaxPadCount] |
The operating system device IDs for all possible pads. | |
Static Public Attributes inherited from gainput::InputDevice | |
static const unsigned | AutoIndex = unsigned(-1) |
Protected Member Functions | |
void | InternalUpdate (InputDeltaState *delta) |
Implementation of the device's Update function. More... | |
DeviceState | InternalGetState () const |
Implementation of the device's GetState function. More... | |
Protected Member Functions inherited from gainput::InputDevice | |
size_t | CheckAllButtonsDown (DeviceButtonSpec *outButtons, size_t maxButtonCount, unsigned start, unsigned end) const |
Checks which buttons are down. More... | |
Additional Inherited Members | |
Public Types inherited from gainput::InputDevice | |
enum | DeviceType { DT_MOUSE, DT_KEYBOARD, DT_PAD, DT_TOUCH, DT_BUILTIN, DT_REMOTE, DT_GESTURE, DT_CUSTOM, DT_COUNT } |
Type of an input device. More... | |
enum | DeviceVariant { DV_STANDARD, DV_RAW, DV_NULL } |
Variant of an input device type. More... | |
enum | DeviceState { DS_OK, DS_LOW_BATTERY, DS_UNAVAILABLE } |
State of an input device. More... | |
Protected Attributes inherited from gainput::InputDevice | |
InputManager & | manager_ |
The manager this device belongs to. | |
DeviceId | deviceId_ |
The ID of this device. | |
unsigned | index_ |
Index of this device among devices of the same type. | |
InputState * | state_ |
The current state of this device. | |
InputState * | previousState_ |
The previous state of this device. | |
float * | deadZones_ |
bool | debugRenderingEnabled_ |
Specifies if this device is currently rendering debug information. | |
bool | synced_ |
A pad input device.
This input device provides support for gamepad devices. The valid device buttons are defined in the PadButton enum.
This device is implemented on Android NDK, Linux and Windows.
Note that the Android implementation does not support any external pads, but only internal sensors (acceleration, gyroscope, magnetic field).
gainput::InputDevicePad::InputDevicePad | ( | InputManager & | manager, |
DeviceId | device, | ||
unsigned | index, | ||
DeviceVariant | variant | ||
) |
Initializes the device.
Instantiate the device using InputManager::CreateDevice().
manager | The input manager this device is managed by. |
device | The ID of this device. |
|
virtual |
Checks if any button on this device is down.
[out] | outButtons | An array with maxButtonCount fields to receive the device buttons that are down. |
maxButtonCount | The number of fields in outButtons. |
Reimplemented from gainput::InputDevice.
|
virtual |
Returns the button's ID if the name is of this device's buttons.
name | Name of the device button to look for. |
Reimplemented from gainput::InputDevice.
|
virtual |
Gets the name of the given button.
deviceButton | ID of the button. |
buffer | A char-buffer to receive the button name. |
bufferLength | Length of the buffer receiving the button name in bytes. |
Reimplemented from gainput::InputDevice.
|
protectedvirtual |
Implementation of the device's GetState function.
Implements gainput::InputDevice.
|
protectedvirtual |
Implementation of the device's Update function.
delta | The delta state to add changes to. May be 0. |
Implements gainput::InputDevice.
bool gainput::InputDevicePad::Vibrate | ( | float | leftMotor, |
float | rightMotor | ||
) |
Enables the rumble feature of the pad.
leftMotor | Speed of the left motor, between 0.0 and 1.0. |
rightMotor | Speed of the right motor, between 0.0 and 1.0. |