|
@@ -224,8 +224,8 @@ Hid::Hid(Core::System& system) : ServiceFramework("hid"), system(system) {
|
|
|
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
|
{128, &Hid::SetNpadHandheldActivationMode, "SetNpadHandheldActivationMode"},
|
|
|
{129, &Hid::GetNpadHandheldActivationMode, "GetNpadHandheldActivationMode"},
|
|
{129, &Hid::GetNpadHandheldActivationMode, "GetNpadHandheldActivationMode"},
|
|
|
{130, &Hid::SwapNpadAssignment, "SwapNpadAssignment"},
|
|
{130, &Hid::SwapNpadAssignment, "SwapNpadAssignment"},
|
|
|
- {131, nullptr, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
|
|
|
|
- {132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
|
|
|
|
|
|
|
+ {131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"},
|
|
|
|
|
+ {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"},
|
|
|
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
|
{133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
|
|
|
{134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
|
|
{134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
|
|
|
{135, nullptr, "SetNpadCaptureButtonAssignment"},
|
|
{135, nullptr, "SetNpadCaptureButtonAssignment"},
|
|
@@ -796,6 +796,40 @@ void Hid::SwapNpadAssignment(Kernel::HLERequestContext& ctx) {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+void Hid::IsUnintendedHomeButtonInputProtectionEnabled(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
+ IPC::RequestParser rp{ctx};
|
|
|
|
|
+ const auto npad_id{rp.Pop<u32>()};
|
|
|
|
|
+ const auto applet_resource_user_id{rp.Pop<u64>()};
|
|
|
|
|
+
|
|
|
|
|
+ LOG_WARNING(Service_HID, "(STUBBED) called, npad_id={}, applet_resource_user_id={}", npad_id,
|
|
|
|
|
+ applet_resource_user_id);
|
|
|
|
|
+
|
|
|
|
|
+ auto& controller = applet_resource->GetController<Controller_NPad>(HidController::NPad);
|
|
|
|
|
+
|
|
|
|
|
+ IPC::ResponseBuilder rb{ctx, 3};
|
|
|
|
|
+ rb.Push(RESULT_SUCCESS);
|
|
|
|
|
+ rb.Push<bool>(controller.IsUnintendedHomeButtonInputProtectionEnabled(npad_id));
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+void Hid::EnableUnintendedHomeButtonInputProtection(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
+ IPC::RequestParser rp{ctx};
|
|
|
|
|
+ const auto unintended_home_button_input_protection{rp.Pop<bool>()};
|
|
|
|
|
+ const auto npad_id{rp.Pop<u32>()};
|
|
|
|
|
+ const auto applet_resource_user_id{rp.Pop<u64>()};
|
|
|
|
|
+
|
|
|
|
|
+ LOG_WARNING(Service_HID,
|
|
|
|
|
+ "(STUBBED) called, unintended_home_button_input_protection={}, npad_id={},"
|
|
|
|
|
+ "applet_resource_user_id={}",
|
|
|
|
|
+ npad_id, unintended_home_button_input_protection, applet_resource_user_id);
|
|
|
|
|
+
|
|
|
|
|
+ auto& controller = applet_resource->GetController<Controller_NPad>(HidController::NPad);
|
|
|
|
|
+ controller.SetUnintendedHomeButtonInputProtectionEnabled(
|
|
|
|
|
+ unintended_home_button_input_protection, npad_id);
|
|
|
|
|
+
|
|
|
|
|
+ IPC::ResponseBuilder rb{ctx, 2};
|
|
|
|
|
+ rb.Push(RESULT_SUCCESS);
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
void Hid::BeginPermitVibrationSession(Kernel::HLERequestContext& ctx) {
|
|
void Hid::BeginPermitVibrationSession(Kernel::HLERequestContext& ctx) {
|
|
|
IPC::RequestParser rp{ctx};
|
|
IPC::RequestParser rp{ctx};
|
|
|
const auto applet_resource_user_id{rp.Pop<u64>()};
|
|
const auto applet_resource_user_id{rp.Pop<u64>()};
|