Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
Interface for handling input events for game controllers. More...
#include <IInputHandler.h>
Public Member Functions | |
virtual | ~IInputHandler ()=default |
virtual std::string | ControllerID (void) const =0 |
The add-on ID of the game controller associated with this input handler. | |
virtual bool | HasFeature (const FeatureName &feature) const =0 |
Return true if the input handler accepts the given feature. | |
virtual bool | AcceptsInput (const FeatureName &feature) const =0 |
Return true if the input handler is currently accepting input for the given feature. | |
virtual bool | OnButtonPress (const FeatureName &feature, bool bPressed)=0 |
A digital button has been pressed or released. | |
virtual void | OnButtonHold (const FeatureName &feature, unsigned int holdTimeMs)=0 |
A digital button has been pressed for more than one event frame. | |
virtual bool | OnButtonMotion (const FeatureName &feature, float magnitude, unsigned int motionTimeMs)=0 |
An analog button (trigger or a pressure-sensitive button) has changed state. | |
virtual bool | OnAnalogStickMotion (const FeatureName &feature, float x, float y, unsigned int motionTimeMs)=0 |
An analog stick has moved. | |
virtual bool | OnAccelerometerMotion (const FeatureName &feature, float x, float y, float z) |
An accelerometer's state has changed. | |
virtual bool | OnWheelMotion (const FeatureName &feature, float position, unsigned int motionTimeMs)=0 |
A wheel has changed state. | |
virtual bool | OnThrottleMotion (const FeatureName &feature, float position, unsigned int motionTimeMs)=0 |
A throttle has changed state. | |
virtual void | OnInputFrame ()=0 |
Called at the end of the frame that provided input. | |
void | SetInputReceiver (IInputReceiver *receiver) |
void | ResetInputReceiver (void) |
IInputReceiver * | InputReceiver (void) |
Interface for handling input events for game controllers.
|
virtualdefault |
|
pure virtual |
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.
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
The add-on ID of the game controller associated with this input handler.
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
Return true if the input handler accepts the given feature.
feature | A feature belonging to the controller specified by ControllerID() |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
inline |
|
inlinevirtual |
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 in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
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 |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
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.
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
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 |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
A digital button has been pressed or released.
feature | The feature being pressed |
bPressed | True if pressed, false if released |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
Called at the end of the frame that provided input.
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
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 |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
pure virtual |
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 |
Implemented in KODI::GAME::CAgentJoystick, KODI::GAME::CGameClientJoystick, KODI::GAME::CInputSink, KODI::GAME::CPortInput, KODI::JOYSTICK::CJoystickMonitor, and KODI::KEYMAP::CKeymapHandler.
|
inline |