diff options
author | german77 <juangerman-13@hotmail.com> | 2021-03-06 13:27:02 -0600 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2021-03-06 13:27:02 -0600 |
commit | 41e94b7b99f83a45633d555160b31b50f021c350 (patch) | |
tree | 3383b74713144712144eeb5cb6a247ba4be9da42 /src/input_common/keyboard.cpp | |
parent | 4bcc5bacffb21e1f6c2859ba26faf865aaea8855 (diff) |
Enable mouse toggle buttons
Diffstat (limited to 'src/input_common/keyboard.cpp')
-rw-r--r-- | src/input_common/keyboard.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/input_common/keyboard.cpp b/src/input_common/keyboard.cpp index fa0e60ac10..c467ff4c5f 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; }; |