summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
diff options
context:
space:
mode:
authorJMC47 <JMC4789@gmail.com>2020-02-09 09:29:00 -0500
committerGitHub <noreply@github.com>2020-02-09 09:29:00 -0500
commit5ab846ad121d2da5e0df1e7c29f32f01afcefe6d (patch)
treeee01c57f49a778e203f408c90f025d686eb969a6 /Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
parent3cec5443cdaac2d889007c683a0cccaaef582397 (diff)
parente7400cafd2c3c708444cbc3dddaab872d0959d89 (diff)
Merge pull request #8614 from jordan-woyak/xinput-battery
InputCommon/XInput: Expose battery as input and cleanups.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/XInput/XInput.h')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/XInput/XInput.h75
1 files changed, 8 insertions, 67 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
index 3c543fb18f..5417f350b5 100644
--- a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
+++ b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
@@ -24,82 +24,23 @@ void Init();
void PopulateDevices();
void DeInit();
-class Device : public Core::Device
+class Device final : public Core::Device
{
-private:
- class Button : public Core::Device::Input
- {
- public:
- Button(u8 index, const WORD& buttons) : m_buttons(buttons), m_index(index) {}
- std::string GetName() const override;
- ControlState GetState() const override;
-
- private:
- const WORD& m_buttons;
- u8 m_index;
- };
-
- class Axis : public Core::Device::Input
- {
- public:
- Axis(u8 index, const SHORT& axis, SHORT range) : m_axis(axis), m_range(range), m_index(index) {}
- std::string GetName() const override;
- ControlState GetState() const override;
-
- private:
- const SHORT& m_axis;
- const SHORT m_range;
- const u8 m_index;
- };
-
- class Trigger : public Core::Device::Input
- {
- public:
- Trigger(u8 index, const BYTE& trigger, BYTE range)
- : m_trigger(trigger), m_range(range), m_index(index)
- {
- }
- std::string GetName() const override;
- ControlState GetState() const override;
-
- private:
- const BYTE& m_trigger;
- const BYTE m_range;
- const u8 m_index;
- };
-
- class Motor : public Core::Device::Output
- {
- public:
- Motor(u8 index, Device* parent, WORD& motor, WORD range)
- : m_motor(motor), m_range(range), m_index(index), m_parent(parent)
- {
- }
- std::string GetName() const override;
- void SetState(ControlState state) override;
-
- private:
- WORD& m_motor;
- const WORD m_range;
- const u8 m_index;
- Device* m_parent;
- };
-
public:
- void UpdateInput() override;
-
Device(const XINPUT_CAPABILITIES& capabilities, u8 index);
- std::string GetName() const final override;
- std::string GetSource() const final override;
- std::optional<int> GetPreferredId() const final override;
+ std::string GetName() const override;
+ std::string GetSource() const override;
+ std::optional<int> GetPreferredId() const override;
+
+ void UpdateInput() override;
void UpdateMotors();
private:
- XINPUT_STATE m_state_in;
+ XINPUT_STATE m_state_in{};
XINPUT_VIBRATION m_state_out{};
- XINPUT_VIBRATION m_current_state_out{};
+ ControlState m_battery_level{};
const BYTE m_subtype;
const u8 m_index;
};