![]() |
Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
Base class for joystick features. More...
#include <FeatureHandling.h>
Public Member Functions | |
CJoystickFeature (const FeatureName &name, IInputHandler *handler, IButtonMap *buttonMap) | |
virtual | ~CJoystickFeature ()=default |
virtual bool | OnDigitalMotion (const CDriverPrimitive &source, bool bPressed)=0 |
A digital motion has occurred. | |
virtual bool | OnAnalogMotion (const CDriverPrimitive &source, float magnitude)=0 |
An analog motion has occurred. | |
virtual void | ProcessMotions (void)=0 |
Process the motions that have occurred since the last invocation. | |
bool | AcceptsInput (bool bActivation) |
Check if the input handler is accepting input. | |
Protected Member Functions | |
void | ResetMotion () |
Reset motion timer. | |
void | StartMotion () |
Start the motion timer. | |
bool | InMotion () const |
Check if the feature is in motion. | |
unsigned int | MotionTimeMs () const |
Get the time for which the feature has been in motion. | |
Protected Attributes | |
const FeatureName | m_name |
IInputHandler *const | m_handler |
IButtonMap *const | m_buttonMap |
const bool | m_bEnabled |
Base class for joystick features.
See list of feature types in JoystickTypes.h.
CJoystickFeature::CJoystickFeature | ( | const FeatureName & | name, |
IInputHandler * | handler, | ||
IButtonMap * | buttonMap ) |
|
virtualdefault |
Check if the input handler is accepting input.
bActivation | True if the motion is activating (true or positive), false if the motion is deactivating (false or zero) |
|
protected |
Check if the feature is in motion.
|
protected |
Get the time for which the feature has been in motion.
|
pure virtual |
An analog motion has occurred.
source | The source of the motion. Must be a semiaxis |
magnitude | The magnitude of the press or motion in the interval [0.0, 1.0] |
For semiaxes, the magnitude is the force or travel distance in the direction of the semiaxis. If the value is in the opposite direction, the magnitude is 0.0.
For example, if the analog stick goes left, the negative semiaxis will have a value of 1.0 and the positive semiaxis will have a value of 0.0.
Implemented in KODI::JOYSTICK::CAccelerometer, KODI::JOYSTICK::CAnalogStick, KODI::JOYSTICK::CScalarFeature, KODI::JOYSTICK::CThrottle, and KODI::JOYSTICK::CWheel.
|
pure virtual |
A digital motion has occurred.
source | The source of the motion. Must be digital (button or hat) |
bPressed | True for press motion, false for release motion |
Implemented in KODI::JOYSTICK::CAccelerometer, KODI::JOYSTICK::CAnalogStick, KODI::JOYSTICK::CAxisFeature, and KODI::JOYSTICK::CScalarFeature.
Process the motions that have occurred since the last invocation.
This allows features with motion on multiple driver primitives to call their handler once all driver primitives are accounted for.
Implemented in KODI::JOYSTICK::CAccelerometer, KODI::JOYSTICK::CAnalogStick, KODI::JOYSTICK::CAxisFeature, and KODI::JOYSTICK::CScalarFeature.
|
protected |
Reset motion timer.
|
protected |
Start the motion timer.
|
protected |
|
protected |
|
protected |
|
protected |