From 48b76ff90f62183d5ad25a33ce9855b22e33dd97 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Wed, 12 Feb 2020 16:49:17 -0600 Subject: InputCommon: Improve input detection to produce buton combinations. --- Source/Core/InputCommon/ControllerInterface/Device.h | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'Source/Core/InputCommon/ControllerInterface/Device.h') diff --git a/Source/Core/InputCommon/ControllerInterface/Device.h b/Source/Core/InputCommon/ControllerInterface/Device.h index fa97a79a59..2612f59627 100644 --- a/Source/Core/InputCommon/ControllerInterface/Device.h +++ b/Source/Core/InputCommon/ControllerInterface/Device.h @@ -4,6 +4,7 @@ #pragma once +#include #include #include #include @@ -194,6 +195,17 @@ public: class DeviceContainer { public: + using Clock = std::chrono::steady_clock; + + struct InputDetection + { + std::shared_ptr device; + Device::Input* input; + Clock::time_point press_time; + std::optional release_time; + ControlState smoothness; + }; + Device::Input* FindInput(std::string_view name, const Device* def_dev) const; Device::Output* FindOutput(std::string_view name, const Device* def_dev) const; @@ -203,8 +215,10 @@ public: bool HasConnectedDevice(const DeviceQualifier& qualifier) const; - std::vector, Device::Input*>> - DetectInput(u32 wait_ms, const std::vector& device_strings) const; + std::vector DetectInput(const std::vector& device_strings, + std::chrono::milliseconds initial_wait, + std::chrono::milliseconds confirmation_wait, + std::chrono::milliseconds maximum_wait) const; protected: mutable std::recursive_mutex m_devices_mutex; -- cgit v1.2.3