summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/hid.cpp
diff options
context:
space:
mode:
authorgerman77 <juangerman-13@hotmail.com>2022-05-22 00:21:45 +0200
committerNarr the Reg <juangerman-13@hotmail.com>2022-05-27 17:22:37 +0200
commita1f2610522dd7d66f370dacc821f2b30029a218e (patch)
tree42684db4bc71578b13d8f301816e231e8c058391 /src/core/hle/service/hid/hid.cpp
parentservice: hid: Implement LoadSixAxisSensorCalibrationParameter and GetSixAxisSensorIcInformation (diff)
downloadyuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar.gz
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar.bz2
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar.lz
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar.xz
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.tar.zst
yuzu-a1f2610522dd7d66f370dacc821f2b30029a218e.zip
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/hid/hid.cpp27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 19d12cf51..8a496c38c 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -262,7 +262,7 @@ Hid::Hid(Core::System& system_)
{86, nullptr, "StoreSixAxisSensorCalibrationParameter"},
{87, &Hid::LoadSixAxisSensorCalibrationParameter, "LoadSixAxisSensorCalibrationParameter"},
{88, &Hid::GetSixAxisSensorIcInformation, "GetSixAxisSensorIcInformation"},
- {89, nullptr, "ResetIsSixAxisSensorDeviceNewlyAssigned"},
+ {89, &Hid::ResetIsSixAxisSensorDeviceNewlyAssigned, "ResetIsSixAxisSensorDeviceNewlyAssigned"},
{91, &Hid::ActivateGesture, "ActivateGesture"},
{100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"},
{101, &Hid::GetSupportedNpadStyleSet, "GetSupportedNpadStyleSet"},
@@ -930,6 +930,31 @@ void Hid::GetSixAxisSensorIcInformation(Kernel::HLERequestContext& ctx) {
rb.Push(result);
}
+void Hid::ResetIsSixAxisSensorDeviceNewlyAssigned(Kernel::HLERequestContext& ctx) {
+ IPC::RequestParser rp{ctx};
+ struct Parameters {
+ Core::HID::SixAxisSensorHandle sixaxis_handle;
+ INSERT_PADDING_WORDS_NOINIT(1);
+ u64 applet_resource_user_id;
+ };
+ static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size.");
+
+ const auto parameters{rp.PopRaw<Parameters>()};
+
+ auto& controller = GetAppletResource()->GetController<Controller_NPad>(HidController::NPad);
+ const auto result =
+ controller.ResetIsSixAxisSensorDeviceNewlyAssigned(parameters.sixaxis_handle);
+
+ LOG_WARNING(
+ Service_HID,
+ "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}",
+ parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id,
+ parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id);
+
+ IPC::ResponseBuilder rb{ctx, 2};
+ rb.Push(result);
+}
+
void Hid::ActivateGesture(Kernel::HLERequestContext& ctx) {
IPC::RequestParser rp{ctx};
struct Parameters {