Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
|
#include <GUIConfigurationWizard.h>
Public Member Functions | |
CGUIConfigurationWizard () | |
~CGUIConfigurationWizard () override | |
void | Run (const std::string &strControllerId, const std::vector< IFeatureButton * > &buttons) override |
Start the wizard for the specified buttons. | |
void | OnUnfocus (IFeatureButton *button) override |
Callback for feature losing focus. | |
bool | Abort (bool bWait=true) override |
Abort a running wizard. | |
void | RegisterKey (const CPhysicalFeature &key) override |
Register a key by its keycode. | |
void | UnregisterKeys () override |
Unregister all registered keys. | |
std::string | ControllerID () const override |
The add-on ID of the game controller associated with this button mapper. | |
bool | NeedsCooldown () const override |
Return true if the button mapper wants a cooldown between button mapping commands. | |
bool | AcceptsPrimitive (JOYSTICK::PRIMITIVE_TYPE type) const override |
Return true if the button mapper accepts primitives of the given type. | |
bool | MapPrimitive (JOYSTICK::IButtonMap *buttonMap, KEYMAP::IKeymap *keymap, const JOYSTICK::CDriverPrimitive &primitive) override |
Handle button/hat press or axis threshold. | |
void | OnEventFrame (const JOYSTICK::IButtonMap *buttonMap, bool bMotion) override |
Called once per event frame to notify the implementation of motion status. | |
void | OnLateAxis (const JOYSTICK::IButtonMap *buttonMap, unsigned int axisIndex) override |
Called when an axis has been detected after mapping began. | |
bool | OnKeyPress (const CKey &key) override |
A key has been pressed. | |
void | OnKeyRelease (const CKey &key) override |
A key has been released. | |
void | Notify (const Observable &obs, const ObservableMessage msg) override |
Process a message from an observable. | |
Public Member Functions inherited from KODI::GAME::IConfigurationWizard | |
virtual | ~IConfigurationWizard ()=default |
Public Member Functions inherited from KODI::JOYSTICK::IButtonMapper | |
IButtonMapper ()=default | |
virtual | ~IButtonMapper ()=default |
void | SetButtonMapCallback (const std::string &deviceLocation, IButtonMapCallback *callback) |
void | ResetButtonMapCallbacks (void) |
std::map< std::string, IButtonMapCallback * > & | ButtonMapCallbacks (void) |
Public Member Functions inherited from KODI::KEYBOARD::IKeyboardDriverHandler | |
virtual | ~IKeyboardDriverHandler ()=default |
Public Member Functions inherited from Observer | |
Observer ()=default | |
virtual | ~Observer ()=default |
Protected Member Functions | |
void | Process () override |
Protected Member Functions inherited from CThread | |
CThread (const char *ThreadName) | |
virtual void | OnStartup () |
virtual void | OnExit () |
WaitResponse | AbortableWait (CEvent &event, std::chrono::milliseconds duration=std::chrono::milliseconds(-1)) |
CThread (IRunnable *pRunnable, const char *ThreadName) | |
virtual | ~CThread () |
void | Create (bool bAutoDelete=false) |
template<typename Rep , typename Period > | |
void | Sleep (std::chrono::duration< Rep, Period > duration) |
bool | IsAutoDelete () const |
virtual void | StopThread (bool bWait=true) |
bool | IsRunning () const |
bool | IsCurrentThread () const |
bool | Join (std::chrono::milliseconds duration) |
bool | SetPriority (const ThreadPriority &priority) |
Set the threads priority. This uses the platforms native threading library to do so. | |
virtual void | OnException () |
Additional Inherited Members | |
Protected Types inherited from CThread | |
enum | WaitResponse { WAIT_INTERRUPTED = -1 , WAIT_SIGNALED = 0 , WAIT_TIMEDOUT = 1 } |
Static Protected Member Functions inherited from CThread | |
static const std::thread::id | GetCurrentThreadId () |
static CThread * | GetCurrentThread () |
Protected Attributes inherited from CThread | |
std::atomic< bool > | m_bStop |
CGUIConfigurationWizard::CGUIConfigurationWizard | ( | ) |
|
overridedefault |
Abort a running wizard.
bWait | True if the call should block until the wizard is fully aborted |
Implements KODI::GAME::IConfigurationWizard.
|
inlineoverridevirtual |
Return true if the button mapper accepts primitives of the given type.
type | The primitive type |
Implements KODI::JOYSTICK::IButtonMapper.
|
inlineoverridevirtual |
The add-on ID of the game controller associated with this button mapper.
Implements KODI::JOYSTICK::IButtonMapper.
|
overridevirtual |
Handle button/hat press or axis threshold.
buttonMap | The button map being manipulated |
keymap | An interface capable of translating features to Kodi actions |
primitive | The driver primitive |
Called in the same thread as IButtonMapper::OnFrame.
Implements KODI::JOYSTICK::IButtonMapper.
|
inlineoverridevirtual |
Return true if the button mapper wants a cooldown between button mapping commands.
Implements KODI::JOYSTICK::IButtonMapper.
|
overridevirtual |
Process a message from an observable.
obs | The observable that sends the message. |
msg | The message. |
Implements Observer.
|
overridevirtual |
Called once per event frame to notify the implementation of motion status.
buttonMap | The button map passed to MapPrimitive() (shall not be modified) |
bMotion | True if a previously-mapped axis is still in motion |
This allows the implementer to wait for an axis to be centered before allowing it to be used as Kodi input.
If mapping finishes on an axis, then the axis will still be pressed and sending input every frame when the mapping ends. For example, when the right analog stick is the last feature to be mapped, it is still pressed when mapping ends and immediately sends Volume Down actions.
The fix is to allow implementers to wait until all axes are motionless before detaching themselves.
Called in the same thread as IButtonMapper::MapPrimitive.
Implements KODI::JOYSTICK::IButtonMapper.
A key has been pressed.
key | The pressed key |
Implements KODI::KEYBOARD::IKeyboardDriverHandler.
A key has been released.
key | The released key |
Implements KODI::KEYBOARD::IKeyboardDriverHandler.
|
overridevirtual |
Called when an axis has been detected after mapping began.
axisIndex | The index of the axis being discovered |
Some joystick drivers don't report an initial value for analog axes.
Called in the same thread as IButtonMapper::MapPrimitive.
Implements KODI::JOYSTICK::IButtonMapper.
|
overridevirtual |
Callback for feature losing focus.
button | The feature button losing focus |
Implements KODI::GAME::IConfigurationWizard.
|
overridevirtual |
Register a key by its keycode.
key | A key with a valid keycode |
This should be called before Run(). It allows the user to choose a key to map instead of scrolling through a long list.
Implements KODI::GAME::IConfigurationWizard.
|
overridevirtual |
Start the wizard for the specified buttons.
controllerId | The controller ID being mapped |
buttons | The buttons to map |
Implements KODI::GAME::IConfigurationWizard.
|
overridevirtual |
Unregister all registered keys.
Implements KODI::GAME::IConfigurationWizard.