summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/controllers/npad.cpp
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2022-05-22 00:03:08 +0200
committerNarr the Reg <juangerman-13@hotmail.com>2022-05-27 17:21:10 +0200
commitc889a5805e72dc34527cc99456d0c6727266ef39 (patch)
tree5e915235c6b54ebf7713ccf700a71cd481302685 /src/core/hle/service/hid/controllers/npad.cpp
parentservice: hid: Add error handling to sixaxis functions (diff)
downloadyuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar.gz
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar.bz2
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar.lz
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar.xz
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.tar.zst
yuzu-c889a5805e72dc34527cc99456d0c6727266ef39.zip
Diffstat (limited to 'src/core/hle/service/hid/controllers/npad.cpp')
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index ef6befbd9..c9909ad5a 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -1074,6 +1074,32 @@ ResultCode Controller_NPad::IsFirmwareUpdateAvailableForSixAxisSensor(
return ResultSuccess;
}
+ResultCode Controller_NPad::EnableSixAxisSensorUnalteredPassthrough(
+ const Core::HID::SixAxisSensorHandle& sixaxis_handle, bool is_enabled) {
+ const auto is_valid = VerifyValidSixAxisSensorHandle(sixaxis_handle);
+ if (is_valid.IsError()) {
+ LOG_ERROR(Service_HID, "Invalid handle, error_code={}", is_valid.raw);
+ return is_valid;
+ }
+
+ auto& sixaxis = GetSixaxisState(sixaxis_handle);
+ sixaxis.unaltered_passtrough = is_enabled;
+ return ResultSuccess;
+}
+
+ResultCode Controller_NPad::IsSixAxisSensorUnalteredPassthroughEnabled(
+ const Core::HID::SixAxisSensorHandle& sixaxis_handle, bool& is_enabled) const {
+ const auto is_valid = VerifyValidSixAxisSensorHandle(sixaxis_handle);
+ if (is_valid.IsError()) {
+ LOG_ERROR(Service_HID, "Invalid handle, error_code={}", is_valid.raw);
+ return is_valid;
+ }
+
+ const auto& sixaxis = GetSixaxisState(sixaxis_handle);
+ is_enabled = sixaxis.unaltered_passtrough;
+ return ResultSuccess;
+}
+
ResultCode Controller_NPad::SetSixAxisEnabled(const Core::HID::SixAxisSensorHandle& sixaxis_handle,
bool sixaxis_status) {
const auto is_valid = VerifyValidSixAxisSensorHandle(sixaxis_handle);