| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -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"},
 | 
					 | 
					 | 
					 | 
					        {131, &Hid::IsUnintendedHomeButtonInputProtectionEnabled, "IsUnintendedHomeButtonInputProtectionEnabled"},
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {132, nullptr, "EnableUnintendedHomeButtonInputProtection"},
 | 
					 | 
					 | 
					 | 
					        {132, &Hid::EnableUnintendedHomeButtonInputProtection, "EnableUnintendedHomeButtonInputProtection"},
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
 | 
					 | 
					 | 
					 | 
					        {133, nullptr, "SetNpadJoyAssignmentModeSingleWithDestination"},
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
 | 
					 | 
					 | 
					 | 
					        {134, nullptr, "SetNpadAnalogStickUseCenterClamp"},
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        {135, nullptr, "SetNpadCaptureButtonAssignment"},
 | 
					 | 
					 | 
					 | 
					        {135, nullptr, "SetNpadCaptureButtonAssignment"},
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -809,6 +809,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>()};
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
 
 |