diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2022-01-25 22:15:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-25 22:15:45 +0100 |
commit | 432f4441b9420778970d9846750ff1458e6aaa03 (patch) | |
tree | 3b500254540c0df824342b8f7dd737931ce446ab /src | |
parent | Merge pull request #7773 from lioncash/udp-deprecated (diff) | |
parent | input_common/input_engine: Ensure PadIdentifier UUIDs have a valid initial state (diff) | |
download | yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar.gz yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar.bz2 yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar.lz yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar.xz yuzu-432f4441b9420778970d9846750ff1458e6aaa03.tar.zst yuzu-432f4441b9420778970d9846750ff1458e6aaa03.zip |
Diffstat (limited to 'src')
-rw-r--r-- | src/input_common/input_engine.h | 4 | ||||
-rw-r--r-- | src/input_common/input_mapping.cpp | 11 | ||||
-rw-r--r-- | src/input_common/input_mapping.h | 8 | ||||
-rw-r--r-- | src/input_common/main.cpp | 6 | ||||
-rw-r--r-- | src/input_common/main.h | 2 |
5 files changed, 18 insertions, 13 deletions
diff --git a/src/input_common/input_engine.h b/src/input_common/input_engine.h index 390581c94..fe2faee5a 100644 --- a/src/input_common/input_engine.h +++ b/src/input_common/input_engine.h @@ -16,7 +16,7 @@ // Pad Identifier of data source struct PadIdentifier { - Common::UUID guid{}; + Common::UUID guid{Common::INVALID_UUID}; std::size_t port{}; std::size_t pad{}; @@ -89,7 +89,7 @@ struct UpdateCallback { // Triggered if data changed on the controller and the engine is on configuring mode struct MappingCallback { - std::function<void(MappingData)> on_data; + std::function<void(const MappingData&)> on_data; }; // Input Identifier of data source diff --git a/src/input_common/input_mapping.cpp b/src/input_common/input_mapping.cpp index 475257f42..a7a6ad8c2 100644 --- a/src/input_common/input_mapping.cpp +++ b/src/input_common/input_mapping.cpp @@ -2,14 +2,13 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included -#include "common/common_types.h" #include "common/settings.h" #include "input_common/input_engine.h" #include "input_common/input_mapping.h" namespace InputCommon { -MappingFactory::MappingFactory() {} +MappingFactory::MappingFactory() = default; void MappingFactory::BeginMapping(Polling::InputType type) { is_enabled = true; @@ -19,7 +18,7 @@ void MappingFactory::BeginMapping(Polling::InputType type) { second_axis = -1; } -[[nodiscard]] const Common::ParamPackage MappingFactory::GetNextInput() { +Common::ParamPackage MappingFactory::GetNextInput() { Common::ParamPackage input; input_queue.Pop(input); return input; @@ -57,7 +56,7 @@ void MappingFactory::StopMapping() { void MappingFactory::RegisterButton(const MappingData& data) { Common::ParamPackage new_input; new_input.Set("engine", data.engine); - if (data.pad.guid != Common::UUID{}) { + if (data.pad.guid.IsValid()) { new_input.Set("guid", data.pad.guid.Format()); } new_input.Set("port", static_cast<int>(data.pad.port)); @@ -93,7 +92,7 @@ void MappingFactory::RegisterButton(const MappingData& data) { void MappingFactory::RegisterStick(const MappingData& data) { Common::ParamPackage new_input; new_input.Set("engine", data.engine); - if (data.pad.guid != Common::UUID{}) { + if (data.pad.guid.IsValid()) { new_input.Set("guid", data.pad.guid.Format()); } new_input.Set("port", static_cast<int>(data.pad.port)); @@ -138,7 +137,7 @@ void MappingFactory::RegisterStick(const MappingData& data) { void MappingFactory::RegisterMotion(const MappingData& data) { Common::ParamPackage new_input; new_input.Set("engine", data.engine); - if (data.pad.guid != Common::UUID{}) { + if (data.pad.guid.IsValid()) { new_input.Set("guid", data.pad.guid.Format()); } new_input.Set("port", static_cast<int>(data.pad.port)); diff --git a/src/input_common/input_mapping.h b/src/input_common/input_mapping.h index 93564b5f8..e0dfbc7ad 100644 --- a/src/input_common/input_mapping.h +++ b/src/input_common/input_mapping.h @@ -3,8 +3,14 @@ // Refer to the license.txt file included #pragma once + +#include "common/param_package.h" #include "common/threadsafe_queue.h" +namespace InputCommon::Polling { +enum class InputType; +} + namespace InputCommon { class InputEngine; struct MappingData; @@ -20,7 +26,7 @@ public: void BeginMapping(Polling::InputType type); /// Returns an input event with mapping information from the input_queue - [[nodiscard]] const Common::ParamPackage GetNextInput(); + [[nodiscard]] Common::ParamPackage GetNextInput(); /** * Registers mapping input data from the driver diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 940744c5f..a4d7ed645 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -27,7 +27,7 @@ namespace InputCommon { struct InputSubsystem::Impl { void Initialize() { mapping_factory = std::make_shared<MappingFactory>(); - MappingCallback mapping_callback{[this](MappingData data) { RegisterInput(data); }}; + MappingCallback mapping_callback{[this](const MappingData& data) { RegisterInput(data); }}; keyboard = std::make_shared<Keyboard>("keyboard"); keyboard->SetMappingCallback(mapping_callback); @@ -284,7 +284,7 @@ struct InputSubsystem::Impl { #endif } - void RegisterInput(MappingData data) { + void RegisterInput(const MappingData& data) { mapping_factory->RegisterInput(data); } @@ -394,7 +394,7 @@ void InputSubsystem::BeginMapping(Polling::InputType type) { impl->mapping_factory->BeginMapping(type); } -const Common::ParamPackage InputSubsystem::GetNextInput() const { +Common::ParamPackage InputSubsystem::GetNextInput() const { return impl->mapping_factory->GetNextInput(); } diff --git a/src/input_common/main.h b/src/input_common/main.h index c6f97f691..baf107e0f 100644 --- a/src/input_common/main.h +++ b/src/input_common/main.h @@ -126,7 +126,7 @@ public: void BeginMapping(Polling::InputType type); /// Returns an input event with mapping information. - [[nodiscard]] const Common::ParamPackage GetNextInput() const; + [[nodiscard]] Common::ParamPackage GetNextInput() const; /// Stop polling from all backends. void StopMapping() const; |