diff options
author | german77 <juangerman-13@hotmail.com> | 2022-05-23 03:34:32 +0200 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2022-05-23 18:01:14 +0200 |
commit | c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec (patch) | |
tree | 60f52dfd3e59f1424d03ab71a8cb28b9b845d486 /src/core/hid | |
parent | Merge pull request #8342 from lat9nq/clang-latest-stdc++ (diff) | |
download | yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar.gz yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar.bz2 yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar.lz yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar.xz yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.tar.zst yuzu-c82806f9cb88f390ae3fb048ba7ff2bb138fa3ec.zip |
Diffstat (limited to 'src/core/hid')
-rw-r--r-- | src/core/hid/emulated_console.cpp | 15 | ||||
-rw-r--r-- | src/core/hid/input_converter.cpp | 4 |
2 files changed, 15 insertions, 4 deletions
diff --git a/src/core/hid/emulated_console.cpp b/src/core/hid/emulated_console.cpp index fd220ccb5..aac45907d 100644 --- a/src/core/hid/emulated_console.cpp +++ b/src/core/hid/emulated_console.cpp @@ -27,12 +27,19 @@ void EmulatedConsole::SetTouchParams() { // We can't use mouse as touch if native mouse is enabled touch_params[index++] = Common::ParamPackage{"engine:mouse,axis_x:10,axis_y:11,button:0"}; } - touch_params[index++] = Common::ParamPackage{"engine:touch,axis_x:0,axis_y:1,button:0"}; - touch_params[index++] = Common::ParamPackage{"engine:touch,axis_x:2,axis_y:3,button:1"}; + + touch_params[index++] = + Common::ParamPackage{"engine:touch,axis_x:0,axis_y:1,button:0,touch_id:0"}; + touch_params[index++] = + Common::ParamPackage{"engine:touch,axis_x:2,axis_y:3,button:1,touch_id:1"}; + touch_params[index++] = + Common::ParamPackage{"engine:touch,axis_x:4,axis_y:5,button:2,touch_id:2"}; + touch_params[index++] = + Common::ParamPackage{"engine:touch,axis_x:6,axis_y:7,button:3,touch_id:3"}; touch_params[index++] = - Common::ParamPackage{"engine:cemuhookudp,axis_x:17,axis_y:18,button:65536"}; + Common::ParamPackage{"engine:cemuhookudp,axis_x:17,axis_y:18,button:65536,touch_id:0"}; touch_params[index++] = - Common::ParamPackage{"engine:cemuhookudp,axis_x:19,axis_y:20,button:131072"}; + Common::ParamPackage{"engine:cemuhookudp,axis_x:19,axis_y:20,button:131072,touch_id:1"}; const auto button_index = static_cast<u64>(Settings::values.touch_from_button_map_index.GetValue()); diff --git a/src/core/hid/input_converter.cpp b/src/core/hid/input_converter.cpp index 3c26260f3..18d9f042d 100644 --- a/src/core/hid/input_converter.cpp +++ b/src/core/hid/input_converter.cpp @@ -1,6 +1,7 @@ // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later +#include <algorithm> #include <random> #include "common/input.h" @@ -196,6 +197,9 @@ Common::Input::TouchStatus TransformToTouch(const Common::Input::CallbackStatus& x = std::clamp(x, 0.0f, 1.0f); y = std::clamp(y, 0.0f, 1.0f); + // Limit id to maximum number of fingers + status.id = std::clamp(status.id, 0, 16); + if (status.pressed.inverted) { status.pressed.value = !status.pressed.value; } |