summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/core/hle/service/hid/hid.cpp23
-rw-r--r--src/core/hle/service/hid/hid.h1
2 files changed, 23 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index b0390bdb2..89327cd86 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -249,7 +249,7 @@ Hid::Hid(Core::System& system) : ServiceFramework("hid"), system(system) {
249 {208, nullptr, "GetActualVibrationGcErmCommand"}, 249 {208, nullptr, "GetActualVibrationGcErmCommand"},
250 {209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"}, 250 {209, &Hid::BeginPermitVibrationSession, "BeginPermitVibrationSession"},
251 {210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"}, 251 {210, &Hid::EndPermitVibrationSession, "EndPermitVibrationSession"},
252 {211, nullptr, "IsVibrationDeviceMounted"}, 252 {211, &Hid::IsVibrationDeviceMounted, "IsVibrationDeviceMounted"},
253 {300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"}, 253 {300, &Hid::ActivateConsoleSixAxisSensor, "ActivateConsoleSixAxisSensor"},
254 {301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"}, 254 {301, &Hid::StartConsoleSixAxisSensor, "StartConsoleSixAxisSensor"},
255 {302, &Hid::StopConsoleSixAxisSensor, "StopConsoleSixAxisSensor"}, 255 {302, &Hid::StopConsoleSixAxisSensor, "StopConsoleSixAxisSensor"},
@@ -1129,6 +1129,27 @@ void Hid::EndPermitVibrationSession(Kernel::HLERequestContext& ctx) {
1129 rb.Push(RESULT_SUCCESS); 1129 rb.Push(RESULT_SUCCESS);
1130} 1130}
1131 1131
1132void Hid::IsVibrationDeviceMounted(Kernel::HLERequestContext& ctx) {
1133 IPC::RequestParser rp{ctx};
1134 struct Parameters {
1135 Controller_NPad::DeviceHandle vibration_device_handle{};
1136 INSERT_PADDING_WORDS(1);
1137 u64 applet_resource_user_id{};
1138 };
1139
1140 const auto parameters{rp.PopRaw<Parameters>()};
1141
1142 LOG_WARNING(
1143 Service_HID,
1144 "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}",
1145 parameters.vibration_device_handle.npad_type, parameters.vibration_device_handle.npad_id,
1146 parameters.vibration_device_handle.device_index, parameters.applet_resource_user_id);
1147
1148 IPC::ResponseBuilder rb{ctx, 3};
1149 rb.Push(RESULT_SUCCESS);
1150 rb.Push(true);
1151}
1152
1132void Hid::ActivateConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) { 1153void Hid::ActivateConsoleSixAxisSensor(Kernel::HLERequestContext& ctx) {
1133 IPC::RequestParser rp{ctx}; 1154 IPC::RequestParser rp{ctx};
1134 const auto applet_resource_user_id{rp.Pop<u64>()}; 1155 const auto applet_resource_user_id{rp.Pop<u64>()};
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h
index 57bc93778..c8e4a4b55 100644
--- a/src/core/hle/service/hid/hid.h
+++ b/src/core/hle/service/hid/hid.h
@@ -134,6 +134,7 @@ private:
134 void SendVibrationValues(Kernel::HLERequestContext& ctx); 134 void SendVibrationValues(Kernel::HLERequestContext& ctx);
135 void BeginPermitVibrationSession(Kernel::HLERequestContext& ctx); 135 void BeginPermitVibrationSession(Kernel::HLERequestContext& ctx);
136 void EndPermitVibrationSession(Kernel::HLERequestContext& ctx); 136 void EndPermitVibrationSession(Kernel::HLERequestContext& ctx);
137 void IsVibrationDeviceMounted(Kernel::HLERequestContext& ctx);
137 void ActivateConsoleSixAxisSensor(Kernel::HLERequestContext& ctx); 138 void ActivateConsoleSixAxisSensor(Kernel::HLERequestContext& ctx);
138 void StartConsoleSixAxisSensor(Kernel::HLERequestContext& ctx); 139 void StartConsoleSixAxisSensor(Kernel::HLERequestContext& ctx);
139 void StopConsoleSixAxisSensor(Kernel::HLERequestContext& ctx); 140 void StopConsoleSixAxisSensor(Kernel::HLERequestContext& ctx);