11 #include "PeripheralAddon.h" 12 #include "input/joysticks/DriverPrimitive.h" 13 #include "input/joysticks/JoystickTypes.h" 14 #include "input/joysticks/interfaces/IButtonMap.h" 15 #include "peripherals/PeripheralTypes.h" 16 #include "threads/CriticalSection.h" 29 const std::weak_ptr<CPeripheralAddon>& addon,
30 const std::string& strControllerId);
35 std::string
ControllerID(
void)
const override {
return m_strControllerId; }
37 std::string
Location(
void)
const override;
39 bool Load(
void)
override;
41 void Reset(
void)
override;
43 bool IsEmpty(
void)
const override;
47 bool SetAppearance(
const std::string& controllerId)
const override;
50 KODI::JOYSTICK::FeatureName& feature)
override;
52 KODI::JOYSTICK::FEATURE_TYPE
GetFeatureType(
const KODI::JOYSTICK::FeatureName& feature)
override;
54 bool GetScalar(
const KODI::JOYSTICK::FeatureName& feature,
57 void AddScalar(
const KODI::JOYSTICK::FeatureName& feature,
61 KODI::JOYSTICK::ANALOG_STICK_DIRECTION direction,
65 KODI::JOYSTICK::ANALOG_STICK_DIRECTION direction,
69 KODI::JOYSTICK::RELATIVE_POINTER_DIRECTION direction,
73 KODI::JOYSTICK::RELATIVE_POINTER_DIRECTION direction,
86 bool GetWheel(
const KODI::JOYSTICK::FeatureName& feature,
87 KODI::JOYSTICK::WHEEL_DIRECTION direction,
90 void AddWheel(
const KODI::JOYSTICK::FeatureName& feature,
91 KODI::JOYSTICK::WHEEL_DIRECTION direction,
94 bool GetThrottle(
const KODI::JOYSTICK::FeatureName& feature,
95 KODI::JOYSTICK::THROTTLE_DIRECTION direction,
98 void AddThrottle(
const KODI::JOYSTICK::FeatureName& feature,
99 KODI::JOYSTICK::THROTTLE_DIRECTION direction,
102 bool GetKey(
const KODI::JOYSTICK::FeatureName& feature,
105 void AddKey(
const KODI::JOYSTICK::FeatureName& feature,
109 const std::vector<KODI::JOYSTICK::CDriverPrimitive>& primitives)
override;
113 bool GetAxisProperties(
unsigned int axisIndex,
int& center,
unsigned int& range)
override;
120 typedef std::map<KODI::JOYSTICK::CDriverPrimitive, KODI::JOYSTICK::FeatureName> DriverMap;
121 typedef std::vector<KODI::JOYSTICK::CDriverPrimitive> JoystickPrimitiveVector;
124 static DriverMap CreateLookupTable(
const FeatureMap& features);
128 KODI::JOYSTICK::RELATIVE_POINTER_DIRECTION dir);
134 const std::weak_ptr<CPeripheralAddon> m_addon;
135 const std::string m_strControllerId;
138 std::string m_controllerAppearance;
139 FeatureMap m_features;
140 DriverMap m_driverMap;
141 JoystickPrimitiveVector m_ignoredPrimitives;
144 mutable CCriticalSection m_mutex;
JOYSTICK_FEATURE_PRIMITIVE
Definition: peripheral.h:538
Definition: RetroPlayerInput.h:15
Basic driver element associated with input events.
Definition: DriverPrimitive.h:70
Definition: Peripheral.h:71