summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service
diff options
context:
space:
mode:
authorMorph <39850852+Morph1984@users.noreply.github.com>2021-05-03 05:25:10 +0200
committerGitHub <noreply@github.com>2021-05-03 05:25:10 +0200
commit707ed72a3cba2a92ea7e7f8488b9f4232d8da072 (patch)
tree028dbe810df83d0bfa23f549095bf54646792ecb /src/core/hle/service
parentMerge pull request #6269 from lioncash/file-shadow (diff)
parenthid: Fix touch not initializing properly if disabled (diff)
downloadyuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar.gz
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar.bz2
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar.lz
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar.xz
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.tar.zst
yuzu-707ed72a3cba2a92ea7e7f8488b9f4232d8da072.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/hid/controllers/gesture.cpp6
-rw-r--r--src/core/hle/service/hid/controllers/touchscreen.cpp6
2 files changed, 10 insertions, 2 deletions
diff --git a/src/core/hle/service/hid/controllers/gesture.cpp b/src/core/hle/service/hid/controllers/gesture.cpp
index 71545bf1f..69708c79d 100644
--- a/src/core/hle/service/hid/controllers/gesture.cpp
+++ b/src/core/hle/service/hid/controllers/gesture.cpp
@@ -33,7 +33,7 @@ void Controller_Gesture::OnUpdate(const Core::Timing::CoreTiming& core_timing, u
shared_memory.header.timestamp = core_timing.GetCPUTicks();
shared_memory.header.total_entry_count = 17;
- if (!IsControllerActivated() || !Settings::values.touchscreen.enabled) {
+ if (!IsControllerActivated()) {
shared_memory.header.entry_count = 0;
shared_memory.header.last_entry_index = 0;
return;
@@ -129,6 +129,10 @@ void Controller_Gesture::OnLoadInputDevices() {
}
std::optional<std::size_t> Controller_Gesture::GetUnusedFingerID() const {
+ // Dont assign any touch input to a point if disabled
+ if (!Settings::values.touchscreen.enabled) {
+ return std::nullopt;
+ }
std::size_t first_free_id = 0;
while (first_free_id < MAX_POINTS) {
if (!fingers[first_free_id].pressed) {
diff --git a/src/core/hle/service/hid/controllers/touchscreen.cpp b/src/core/hle/service/hid/controllers/touchscreen.cpp
index 8f56a0255..55e3cc014 100644
--- a/src/core/hle/service/hid/controllers/touchscreen.cpp
+++ b/src/core/hle/service/hid/controllers/touchscreen.cpp
@@ -33,7 +33,7 @@ void Controller_Touchscreen::OnUpdate(const Core::Timing::CoreTiming& core_timin
shared_memory.header.timestamp = core_timing.GetCPUTicks();
shared_memory.header.total_entry_count = 17;
- if (!IsControllerActivated() || !Settings::values.touchscreen.enabled) {
+ if (!IsControllerActivated()) {
shared_memory.header.entry_count = 0;
shared_memory.header.last_entry_index = 0;
return;
@@ -105,6 +105,10 @@ void Controller_Touchscreen::OnLoadInputDevices() {
}
std::optional<std::size_t> Controller_Touchscreen::GetUnusedFingerID() const {
+ // Dont assign any touch input to a finger if disabled
+ if (!Settings::values.touchscreen.enabled) {
+ return std::nullopt;
+ }
std::size_t first_free_id = 0;
while (first_free_id < MAX_FINGERS) {
if (!fingers[first_free_id].pressed) {