diff options
author | german77 <juangerman-13@hotmail.com> | 2021-05-03 01:59:02 +0200 |
---|---|---|
committer | german77 <juangerman-13@hotmail.com> | 2021-05-03 02:08:33 +0200 |
commit | 6e814735747994a6bae02c833e35dc6648f373bd (patch) | |
tree | ac8805339be3755730779832b024b2dbcbb12b1f | |
parent | Merge pull request #6269 from lioncash/file-shadow (diff) | |
download | yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar.gz yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar.bz2 yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar.lz yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar.xz yuzu-6e814735747994a6bae02c833e35dc6648f373bd.tar.zst yuzu-6e814735747994a6bae02c833e35dc6648f373bd.zip |
Diffstat (limited to '')
-rw-r--r-- | src/input_common/mouse/mouse_input.cpp | 9 | ||||
-rw-r--r-- | src/input_common/mouse/mouse_input.h | 8 | ||||
-rw-r--r-- | src/yuzu/bootmanager.cpp | 2 |
3 files changed, 18 insertions, 1 deletions
diff --git a/src/input_common/mouse/mouse_input.cpp b/src/input_common/mouse/mouse_input.cpp index fff1c6b45..a335e6da1 100644 --- a/src/input_common/mouse/mouse_input.cpp +++ b/src/input_common/mouse/mouse_input.cpp @@ -143,6 +143,15 @@ void Mouse::ReleaseButton(MouseButton button_) { mouse_info[button_index].data.axis = {0, 0}; } +void Mouse::ReleaseAllButtons() { + buttons = 0; + for (auto& info : mouse_info) { + info.tilt_speed = 0; + info.data.pressed = false; + info.data.axis = {0, 0}; + } +} + void Mouse::BeginConfiguration() { buttons = 0; last_button = MouseButton::Undefined; diff --git a/src/input_common/mouse/mouse_input.h b/src/input_common/mouse/mouse_input.h index 750d9b011..5a971ad67 100644 --- a/src/input_common/mouse/mouse_input.h +++ b/src/input_common/mouse/mouse_input.h @@ -65,10 +65,16 @@ public: void MouseMove(int x, int y, int center_x, int center_y); /** - * Signals that a motion sensor tilt has ended. + * Signals that a button is released. + * @param button_ the button pressed */ void ReleaseButton(MouseButton button_); + /** + * Signals that all buttons are released + */ + void ReleaseAllButtons(); + [[nodiscard]] bool ToggleButton(std::size_t button_); [[nodiscard]] bool UnlockButton(std::size_t button_); diff --git a/src/yuzu/bootmanager.cpp b/src/yuzu/bootmanager.cpp index 9c7daeac7..7ff9491f4 100644 --- a/src/yuzu/bootmanager.cpp +++ b/src/yuzu/bootmanager.cpp @@ -539,6 +539,8 @@ bool GRenderWindow::event(QEvent* event) { void GRenderWindow::focusOutEvent(QFocusEvent* event) { QWidget::focusOutEvent(event); input_subsystem->GetKeyboard()->ReleaseAllKeys(); + input_subsystem->GetMouse()->ReleaseAllButtons(); + this->TouchReleased(0); } void GRenderWindow::resizeEvent(QResizeEvent* event) { |