diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2023-02-23 04:08:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-02-23 04:08:35 +0100 |
commit | ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c (patch) | |
tree | ac8c6c62c2f43c41e887b269520c6d2482cf95a2 /src/core/hle/service | |
parent | Merge pull request #9847 from german77/timeout (diff) | |
parent | settings: Add more input settings to the log (diff) | |
download | yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar.gz yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar.bz2 yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar.lz yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar.xz yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.tar.zst yuzu-ca8a804a3c28f53bba9d1f9080ae15c13f60ce9c.zip |
Diffstat (limited to 'src/core/hle/service')
-rw-r--r-- | src/core/hle/service/hid/controllers/gesture.cpp | 5 | ||||
-rw-r--r-- | src/core/hle/service/hid/controllers/mouse.cpp | 3 | ||||
-rw-r--r-- | src/core/hle/service/hid/controllers/touchscreen.cpp | 5 |
3 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/controllers/gesture.cpp b/src/core/hle/service/hid/controllers/gesture.cpp index 32e0708ba..de0090cc5 100644 --- a/src/core/hle/service/hid/controllers/gesture.cpp +++ b/src/core/hle/service/hid/controllers/gesture.cpp @@ -65,6 +65,11 @@ void Controller_Gesture::OnUpdate(const Core::Timing::CoreTiming& core_timing) { } void Controller_Gesture::ReadTouchInput() { + if (!Settings::values.touchscreen.enabled) { + fingers = {}; + return; + } + const auto touch_status = console->GetTouch(); for (std::size_t id = 0; id < fingers.size(); ++id) { fingers[id] = touch_status[id]; diff --git a/src/core/hle/service/hid/controllers/mouse.cpp b/src/core/hle/service/hid/controllers/mouse.cpp index b11cb438d..0afc66681 100644 --- a/src/core/hle/service/hid/controllers/mouse.cpp +++ b/src/core/hle/service/hid/controllers/mouse.cpp @@ -33,10 +33,11 @@ void Controller_Mouse::OnUpdate(const Core::Timing::CoreTiming& core_timing) { return; } + next_state = {}; + const auto& last_entry = shared_memory->mouse_lifo.ReadCurrentEntry().state; next_state.sampling_number = last_entry.sampling_number + 1; - next_state.attribute.raw = 0; if (Settings::values.mouse_enabled) { const auto& mouse_button_state = emulated_devices->GetMouseButtons(); const auto& mouse_position_state = emulated_devices->GetMousePosition(); diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp index 1da8d3eb0..d90a4e732 100644 --- a/src/core/hle/service/hid/controllers/touchscreen.cpp +++ b/src/core/hle/service/hid/controllers/touchscreen.cpp @@ -58,6 +58,11 @@ void Controller_Touchscreen::OnUpdate(const Core::Timing::CoreTiming& core_timin } if (!finger.pressed && current_touch.pressed) { + // Ignore all touch fingers if disabled + if (!Settings::values.touchscreen.enabled) { + continue; + } + finger.attribute.start_touch.Assign(1); finger.pressed = true; finger.position = current_touch.position; |