Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
Handles game controller events for games. More...
#include <GameClientJoystick.h>
Public Member Functions | |
CGameClientJoystick (CGameClient &addon, const std::string &portAddress, const ControllerPtr &controller) | |
Constructor. | |
~CGameClientJoystick () override | |
void | RegisterInput (JOYSTICK::IInputProvider *inputProvider) |
void | UnregisterInput (JOYSTICK::IInputProvider *inputProvider) |
std::string | ControllerID () const override |
The add-on ID of the game controller associated with this input handler. | |
bool | HasFeature (const std::string &feature) const override |
Return true if the input handler accepts the given feature. | |
bool | AcceptsInput (const std::string &feature) const override |
Return true if the input handler is currently accepting input for the given feature. | |
bool | OnButtonPress (const std::string &feature, bool bPressed) override |
A digital button has been pressed or released. | |
void | OnButtonHold (const std::string &feature, unsigned int holdTimeMs) override |
A digital button has been pressed for more than one event frame. | |
bool | OnButtonMotion (const std::string &feature, float magnitude, unsigned int motionTimeMs) override |
An analog button (trigger or a pressure-sensitive button) has changed state. | |
bool | OnAnalogStickMotion (const std::string &feature, float x, float y, unsigned int motionTimeMs) override |
An analog stick has moved. | |
bool | OnAccelerometerMotion (const std::string &feature, float x, float y, float z) override |
An accelerometer's state has changed. | |
bool | OnWheelMotion (const std::string &feature, float position, unsigned int motionTimeMs) override |
A wheel has changed state. | |
bool | OnThrottleMotion (const std::string &feature, float position, unsigned int motionTimeMs) override |
A throttle has changed state. | |
void | OnInputFrame () override |
Called at the end of the frame that provided input. | |
const std::string & | GetPortAddress () const |
ControllerPtr | GetController () const |
std::string | GetControllerAddress () const |
PERIPHERALS::PeripheralPtr | GetSource () const |
std::string | GetSourceLocation () const |
float | GetActivation () const |
void | SetSource (PERIPHERALS::PeripheralPtr sourcePeripheral) |
void | ClearSource () |
bool | SetRumble (const std::string &feature, float magnitude) |
Public Member Functions inherited from KODI::JOYSTICK::IInputHandler | |
virtual | ~IInputHandler ()=default |
void | SetInputReceiver (IInputReceiver *receiver) |
void | ResetInputReceiver (void) |
IInputReceiver * | InputReceiver (void) |
Handles game controller events for games.
Listens to game controller events and forwards them to the games (as game_input_event).
CGameClientJoystick::CGameClientJoystick | ( | CGameClient & | addon, |
const std::string & | portAddress, | ||
const ControllerPtr & | controller ) |
Constructor.
addon | The game client implementation. |
port | The port this game controller is associated with. |
controller | The game controller which is used (for controller mapping). |
dllStruct | The emulator or game to which the events are sent. |
|
overridedefault |
|
overridevirtual |
Return true if the input handler is currently accepting input for the given feature.
feature | A feature belonging to the controller specified by ControllerID() |
This does not prevent the input events from being called, but can return false to indicate that input wasn't handled for the specified feature.
Implements KODI::JOYSTICK::IInputHandler.
void CGameClientJoystick::ClearSource | ( | ) |
|
overridevirtual |
The add-on ID of the game controller associated with this input handler.
Implements KODI::JOYSTICK::IInputHandler.
float CGameClientJoystick::GetActivation | ( | ) | const |
|
inline |
std::string CGameClientJoystick::GetControllerAddress | ( | ) | const |
|
inline |
|
inline |
std::string CGameClientJoystick::GetSourceLocation | ( | ) | const |
|
overridevirtual |
Return true if the input handler accepts the given feature.
feature | A feature belonging to the controller specified by ControllerID() |
Implements KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
An accelerometer's state has changed.
feature | The accelerometer being accelerated |
x | The x coordinate in the closed interval [-1, 1] |
y | The y coordinate in the closed interval [-1, 1] |
z | The z coordinate in the closed interval [-1, 1] |
Reimplemented from KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
An analog stick has moved.
feature | The analog stick being moved |
x | The x coordinate in the closed interval [-1, 1] |
y | The y coordinate in the closed interval [-1, 1] |
motionTimeMs | The time elapsed since this analog stick was centered, or 0 if the analog stick is centered |
Implements KODI::JOYSTICK::IInputHandler.
|
inlineoverridevirtual |
A digital button has been pressed for more than one event frame.
feature | The feature being held |
holdTimeMs | The time elapsed since the initial press (ms) |
If OnButtonPress() returns true for the initial press, then this callback is invoked on subsequent frames until the button is released.
Implements KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
An analog button (trigger or a pressure-sensitive button) has changed state.
feature | The feature changing state |
magnitude | The button pressure or trigger travel distance in the closed interval [0, 1] |
motionTimeMs | The time elapsed since the magnitude was 0 |
Implements KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
A digital button has been pressed or released.
feature | The feature being pressed |
bPressed | True if pressed, false if released |
Implements KODI::JOYSTICK::IInputHandler.
|
inlineoverridevirtual |
Called at the end of the frame that provided input.
Implements KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
A throttle has changed state.
Up is positive position, down is negative position.
feature | The wheel changing state |
position | The position in the closed interval [-1, 1] |
motionTimeMs | The time elapsed since the position was 0 |
Implements KODI::JOYSTICK::IInputHandler.
|
overridevirtual |
A wheel has changed state.
Left is negative position, right is positive position
feature | The wheel changing state |
position | The position in the closed interval [-1, 1] |
motionTimeMs | The time elapsed since the position was 0 |
Implements KODI::JOYSTICK::IInputHandler.
void CGameClientJoystick::RegisterInput | ( | JOYSTICK::IInputProvider * | inputProvider | ) |
bool CGameClientJoystick::SetRumble | ( | const std::string & | feature, |
float | magnitude ) |
void CGameClientJoystick::SetSource | ( | PERIPHERALS::PeripheralPtr | sourcePeripheral | ) |
void CGameClientJoystick::UnregisterInput | ( | JOYSTICK::IInputProvider * | inputProvider | ) |