diff options
Diffstat (limited to 'src/input_common/mouse/mouse_input.cpp')
| -rw-r--r-- | src/input_common/mouse/mouse_input.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/input_common/mouse/mouse_input.cpp b/src/input_common/mouse/mouse_input.cpp index b864d26f2..d81e790ee 100644 --- a/src/input_common/mouse/mouse_input.cpp +++ b/src/input_common/mouse/mouse_input.cpp | |||
| @@ -59,7 +59,7 @@ void Mouse::UpdateYuzuSettings() { | |||
| 59 | }); | 59 | }); |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | void Mouse::PressButton(int x, int y, int button_) { | 62 | void Mouse::PressButton(int x, int y, MouseButton button_) { |
| 63 | const auto button_index = static_cast<std::size_t>(button_); | 63 | const auto button_index = static_cast<std::size_t>(button_); |
| 64 | if (button_index >= mouse_info.size()) { | 64 | if (button_index >= mouse_info.size()) { |
| 65 | return; | 65 | return; |
| @@ -67,7 +67,7 @@ void Mouse::PressButton(int x, int y, int button_) { | |||
| 67 | 67 | ||
| 68 | const auto button = 1U << button_index; | 68 | const auto button = 1U << button_index; |
| 69 | buttons |= static_cast<u16>(button); | 69 | buttons |= static_cast<u16>(button); |
| 70 | last_button = static_cast<MouseButton>(button_index); | 70 | last_button = button_; |
| 71 | 71 | ||
| 72 | mouse_info[button_index].mouse_origin = Common::MakeVec(x, y); | 72 | mouse_info[button_index].mouse_origin = Common::MakeVec(x, y); |
| 73 | mouse_info[button_index].last_mouse_position = Common::MakeVec(x, y); | 73 | mouse_info[button_index].last_mouse_position = Common::MakeVec(x, y); |
| @@ -129,7 +129,7 @@ void Mouse::MouseMove(int x, int y, int center_x, int center_y) { | |||
| 129 | } | 129 | } |
| 130 | } | 130 | } |
| 131 | 131 | ||
| 132 | void Mouse::ReleaseButton(int button_) { | 132 | void Mouse::ReleaseButton(MouseButton button_) { |
| 133 | const auto button_index = static_cast<std::size_t>(button_); | 133 | const auto button_index = static_cast<std::size_t>(button_); |
| 134 | if (button_index >= mouse_info.size()) { | 134 | if (button_index >= mouse_info.size()) { |
| 135 | return; | 135 | return; |
| @@ -152,6 +152,11 @@ void Mouse::BeginConfiguration() { | |||
| 152 | 152 | ||
| 153 | void Mouse::EndConfiguration() { | 153 | void Mouse::EndConfiguration() { |
| 154 | buttons = 0; | 154 | buttons = 0; |
| 155 | for (MouseInfo& info : mouse_info) { | ||
| 156 | info.tilt_speed = 0; | ||
| 157 | info.data.pressed = false; | ||
| 158 | info.data.axis = {0, 0}; | ||
| 159 | } | ||
| 155 | last_button = MouseButton::Undefined; | 160 | last_button = MouseButton::Undefined; |
| 156 | mouse_queue.Clear(); | 161 | mouse_queue.Clear(); |
| 157 | configuring = false; | 162 | configuring = false; |