summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/XInput
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2019-03-09 09:57:37 -0600
committerJordan Woyak <jordan.woyak@gmail.com>2019-03-29 09:04:16 -0500
commiteadbdd6bc389cd89c3e3e57a31dabaeadf161865 (patch)
treee64941bcb188067cf5355a9cee1a74b42a5ae6ab /Source/Core/InputCommon/ControllerInterface/XInput
parentd26c1ce24d9108114d7eab97cfc2ab4f3eea28ee (diff)
ControllerInterface/Win32: Prevent devcies from losing their "id" on a hotplug event.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/XInput')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp5
-rw-r--r--Source/Core/InputCommon/ControllerInterface/XInput/XInput.h9
2 files changed, 10 insertions, 4 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp
index f3e984d897..d6ecdb9d81 100644
--- a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.cpp
@@ -194,6 +194,11 @@ void Device::UpdateMotors()
}
}
+std::optional<int> Device::GetPreferredId() const
+{
+ return m_index;
+}
+
// GET name/source/id
std::string Device::Button::GetName() const
diff --git a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
index f2a81e3840..0b299e6324 100644
--- a/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
+++ b/Source/Core/InputCommon/ControllerInterface/XInput/XInput.h
@@ -92,8 +92,9 @@ public:
Device(const XINPUT_CAPABILITIES& capabilities, u8 index);
- std::string GetName() const override;
- std::string GetSource() const override;
+ std::string GetName() const final override;
+ std::string GetSource() const final override;
+ std::optional<int> GetPreferredId() const final override;
void UpdateMotors();
@@ -104,5 +105,5 @@ private:
const BYTE m_subtype;
const u8 m_index;
};
-}
-}
+} // namespace XInput
+} // namespace ciface