From 0248614add99c1df1bc7c9ff97091f678ff75aca Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 12:36:28 -0400 Subject: GC Adapter Implementation --- src/input_common/keyboard.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src/input_common/keyboard.cpp') diff --git a/src/input_common/keyboard.cpp b/src/input_common/keyboard.cpp index afb8e6612..d76791860 100644 --- a/src/input_common/keyboard.cpp +++ b/src/input_common/keyboard.cpp @@ -13,7 +13,8 @@ namespace InputCommon { class KeyButton final : public Input::ButtonDevice { public: explicit KeyButton(std::shared_ptr key_button_list_) - : key_button_list(std::move(key_button_list_)) {} + : key_button_list(std::move(key_button_list_)) { + } ~KeyButton() override; @@ -49,8 +50,10 @@ public: void ChangeKeyStatus(int key_code, bool pressed) { std::lock_guard guard{mutex}; for (const KeyButtonPair& pair : list) { - if (pair.key_code == key_code) + if (pair.key_code == key_code) { pair.key_button->status.store(pressed); + break; + } } } @@ -66,7 +69,9 @@ private: std::list list; }; -Keyboard::Keyboard() : key_button_list{std::make_shared()} {} +Keyboard::Keyboard() + : key_button_list{std::make_shared()} { +} KeyButton::~KeyButton() { key_button_list->RemoveKeyButton(this); @@ -76,7 +81,7 @@ std::unique_ptr Keyboard::Create(const Common::ParamPackage int key_code = params.Get("code", 0); std::unique_ptr button = std::make_unique(key_button_list); key_button_list->AddKeyButton(key_code, button.get()); - return button; + return std::move(button); } void Keyboard::PressKey(int key_code) { -- cgit v1.2.3