11 #include "input/joysticks/JoystickTypes.h" 25 class CDriverPrimitive;
27 class IButtonMapCallback;
49 virtual std::string ControllerID(
void)
const = 0;
58 virtual bool NeedsCooldown(
void)
const = 0;
67 virtual bool AcceptsPrimitive(PRIMITIVE_TYPE type)
const = 0;
80 virtual bool MapPrimitive(
IButtonMap* buttonMap,
103 virtual void OnEventFrame(
const IButtonMap* buttonMap,
bool bMotion) = 0;
114 virtual void OnLateAxis(
const IButtonMap* buttonMap,
unsigned int axisIndex) = 0;
117 void SetButtonMapCallback(
const std::string& deviceLocation,
IButtonMapCallback* callback)
119 m_callbacks[deviceLocation] = callback;
121 void ResetButtonMapCallbacks(
void) { m_callbacks.clear(); }
122 std::map<std::string, IButtonMapCallback*>& ButtonMapCallbacks(
void) {
return m_callbacks; }
125 std::map<std::string, IButtonMapCallback*> m_callbacks;
Definition: AudioDecoder.h:18
Basic driver element associated with input events.
Definition: DriverPrimitive.h:70
Interface for mapping buttons to Kodi actions.
Definition: IKeymap.h:28