Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
KODI::GAME::CPortInput Class Reference

#include <PortInput.h>

Inheritance diagram for KODI::GAME::CPortInput:
KODI::JOYSTICK::IInputHandler KODI::KEYMAP::IKeymapEnvironment

Public Member Functions

 CPortInput (JOYSTICK::IInputHandler *gameInput)
 
 ~CPortInput () override
 
void RegisterInput (JOYSTICK::IInputProvider *provider)
 
void UnregisterInput (JOYSTICK::IInputProvider *provider)
 
float GetActivation () const
 
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.
 
int GetWindowID () const override
 Get the window ID for which actions should be translated.
 
void SetWindowID (int windowId) override
 Set the window ID.
 
int GetFallthrough (int windowId) const override
 Get the fallthrough window to when a key definition is missing.
 
bool UseGlobalFallthrough () const override
 Specify if the global keymap should be used when the window and fallback window are undefined.
 
bool UseEasterEgg () const override
 Specify if the agent should monitor for easter egg presses.
 
- Public Member Functions inherited from KODI::JOYSTICK::IInputHandler
virtual ~IInputHandler ()=default
 
void SetInputReceiver (IInputReceiver *receiver)
 
void ResetInputReceiver (void)
 
IInputReceiverInputReceiver (void)
 
- Public Member Functions inherited from KODI::KEYMAP::IKeymapEnvironment
virtual ~IKeymapEnvironment ()=default
 

Constructor & Destructor Documentation

◆ CPortInput()

CPortInput::CPortInput ( JOYSTICK::IInputHandler * gameInput)

◆ ~CPortInput()

CPortInput::~CPortInput ( )
overridedefault

Member Function Documentation

◆ AcceptsInput()

bool CPortInput::AcceptsInput ( const std::string & feature) const
overridevirtual

Return true if the input handler is currently accepting input for the given feature.

Parameters
featureA feature belonging to the controller specified by ControllerID()
Returns
True if the feature is currently accepting input, false otherwise

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.

◆ ControllerID()

std::string CPortInput::ControllerID ( ) const
overridevirtual

The add-on ID of the game controller associated with this input handler.

Returns
The ID of the add-on extending kodi.game.controller

Implements KODI::JOYSTICK::IInputHandler.

◆ GetActivation()

float CPortInput::GetActivation ( ) const

◆ GetFallthrough()

int KODI::GAME::CPortInput::GetFallthrough ( int windowId) const
inlineoverridevirtual

Get the fallthrough window to when a key definition is missing.

Parameters
windowIdThe window ID
Returns
The window ID, or -1 for no fallthrough

Implements KODI::KEYMAP::IKeymapEnvironment.

◆ GetWindowID()

int CPortInput::GetWindowID ( ) const
overridevirtual

Get the window ID for which actions should be translated.

Returns
The window ID

Implements KODI::KEYMAP::IKeymapEnvironment.

◆ HasFeature()

bool KODI::GAME::CPortInput::HasFeature ( const std::string & feature) const
inlineoverridevirtual

Return true if the input handler accepts the given feature.

Parameters
featureA feature belonging to the controller specified by ControllerID()
Returns
True if the feature is used for input, false otherwise

Implements KODI::JOYSTICK::IInputHandler.

◆ OnAccelerometerMotion()

bool CPortInput::OnAccelerometerMotion ( const std::string & feature,
float x,
float y,
float z )
overridevirtual

An accelerometer's state has changed.

Parameters
featureThe accelerometer being accelerated
xThe x coordinate in the closed interval [-1, 1]
yThe y coordinate in the closed interval [-1, 1]
zThe z coordinate in the closed interval [-1, 1]
Returns
True if the event was handled otherwise false

Reimplemented from KODI::JOYSTICK::IInputHandler.

◆ OnAnalogStickMotion()

bool CPortInput::OnAnalogStickMotion ( const std::string & feature,
float x,
float y,
unsigned int motionTimeMs )
overridevirtual

An analog stick has moved.

Parameters
featureThe analog stick being moved
xThe x coordinate in the closed interval [-1, 1]
yThe y coordinate in the closed interval [-1, 1]
motionTimeMsThe time elapsed since this analog stick was centered, or 0 if the analog stick is centered
Returns
True if the event was handled otherwise false

Implements KODI::JOYSTICK::IInputHandler.

◆ OnButtonHold()

void CPortInput::OnButtonHold ( const std::string & feature,
unsigned int holdTimeMs )
overridevirtual

A digital button has been pressed for more than one event frame.

Parameters
featureThe feature being held
holdTimeMsThe 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.

◆ OnButtonMotion()

bool CPortInput::OnButtonMotion ( const std::string & feature,
float magnitude,
unsigned int motionTimeMs )
overridevirtual

An analog button (trigger or a pressure-sensitive button) has changed state.

Parameters
featureThe feature changing state
magnitudeThe button pressure or trigger travel distance in the closed interval [0, 1]
motionTimeMsThe time elapsed since the magnitude was 0
Returns
True if the event was handled otherwise false

Implements KODI::JOYSTICK::IInputHandler.

◆ OnButtonPress()

bool CPortInput::OnButtonPress ( const std::string & feature,
bool bPressed )
overridevirtual

A digital button has been pressed or released.

Parameters
featureThe feature being pressed
bPressedTrue if pressed, false if released
Returns
True if the event was handled otherwise false

Implements KODI::JOYSTICK::IInputHandler.

◆ OnInputFrame()

void CPortInput::OnInputFrame ( )
overridevirtual

Called at the end of the frame that provided input.

Implements KODI::JOYSTICK::IInputHandler.

◆ OnThrottleMotion()

bool CPortInput::OnThrottleMotion ( const std::string & feature,
float position,
unsigned int motionTimeMs )
overridevirtual

A throttle has changed state.

Up is positive position, down is negative position.

Parameters
featureThe wheel changing state
positionThe position in the closed interval [-1, 1]
motionTimeMsThe time elapsed since the position was 0
Returns
True if the event was handled otherwise false

Implements KODI::JOYSTICK::IInputHandler.

◆ OnWheelMotion()

bool CPortInput::OnWheelMotion ( const std::string & feature,
float position,
unsigned int motionTimeMs )
overridevirtual

A wheel has changed state.

Left is negative position, right is positive position

Parameters
featureThe wheel changing state
positionThe position in the closed interval [-1, 1]
motionTimeMsThe time elapsed since the position was 0
Returns
True if the event was handled otherwise false

Implements KODI::JOYSTICK::IInputHandler.

◆ RegisterInput()

void CPortInput::RegisterInput ( JOYSTICK::IInputProvider * provider)

◆ SetWindowID()

void KODI::GAME::CPortInput::SetWindowID ( int windowId)
inlineoverridevirtual

Set the window ID.

Parameters
Thewindow ID, used for translating actions

Implements KODI::KEYMAP::IKeymapEnvironment.

◆ UnregisterInput()

void CPortInput::UnregisterInput ( JOYSTICK::IInputProvider * provider)

◆ UseEasterEgg()

bool KODI::GAME::CPortInput::UseEasterEgg ( ) const
inlineoverridevirtual

Specify if the agent should monitor for easter egg presses.

Implements KODI::KEYMAP::IKeymapEnvironment.

◆ UseGlobalFallthrough()

bool KODI::GAME::CPortInput::UseGlobalFallthrough ( ) const
inlineoverridevirtual

Specify if the global keymap should be used when the window and fallback window are undefined.

Implements KODI::KEYMAP::IKeymapEnvironment.


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