summaryrefslogtreecommitdiffstats
path: root/src/input_common/keyboard.cpp
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2021-03-06 20:27:02 +0100
committergerman77 <juangerman-13@hotmail.com>2021-03-06 20:27:02 +0100
commit41e94b7b99f83a45633d555160b31b50f021c350 (patch)
tree3383b74713144712144eeb5cb6a247ba4be9da42 /src/input_common/keyboard.cpp
parentAdd toggle button option for normal buttons (diff)
downloadyuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar.gz
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar.bz2
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar.lz
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar.xz
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.tar.zst
yuzu-41e94b7b99f83a45633d555160b31b50f021c350.zip
Diffstat (limited to 'src/input_common/keyboard.cpp')
-rw-r--r--src/input_common/keyboard.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/input_common/keyboard.cpp b/src/input_common/keyboard.cpp
index fa0e60ac1..c467ff4c5 100644
--- a/src/input_common/keyboard.cpp
+++ b/src/input_common/keyboard.cpp
@@ -19,16 +19,18 @@ public:
bool GetStatus() const override {
if (toggle) {
- return toggled_status.load();
+ return toggled_status.load(std::memory_order_relaxed);
}
return status.load();
}
void ToggleButton() {
- if (!lock) {
- lock = true;
- toggled_status.store(!toggled_status.load());
+ if (lock) {
+ return;
}
+ lock = true;
+ const bool old_toggle_status = toggled_status.load();
+ toggled_status.store(!old_toggle_status);
}
void UnlockButton() {
@@ -41,7 +43,7 @@ private:
std::shared_ptr<KeyButtonList> key_button_list;
std::atomic<bool> status{false};
std::atomic<bool> toggled_status{false};
- bool lock = {};
+ bool lock{false};
const bool toggle;
};