forked from eden-emu/eden
		
	hid: Reimplement Begin/EndPermitVibrationSession
Upon further investigation, these commands allow temporary vibrations even when the "Controller Vibration" system setting is disabled. As a result, vibrations are allowed when either the system setting or this flag is set to true. Therefore, we can only block vibrations when both flags are set to false.
This commit is contained in:
		
							parent
							
								
									d8ad2f3484
								
							
						
					
					
						commit
						ad50209383
					
				
					 3 changed files with 17 additions and 5 deletions
				
			
		|  | @ -1119,15 +1119,20 @@ void Hid::BeginPermitVibrationSession(Kernel::HLERequestContext& ctx) { | |||
|     IPC::RequestParser rp{ctx}; | ||||
|     const auto applet_resource_user_id{rp.Pop<u64>()}; | ||||
| 
 | ||||
|     LOG_WARNING(Service_HID, "(STUBBED) called, applet_resource_user_id={}", | ||||
|                 applet_resource_user_id); | ||||
|     applet_resource->GetController<Controller_NPad>(HidController::NPad) | ||||
|         .SetPermitVibrationSession(true); | ||||
| 
 | ||||
|     LOG_DEBUG(Service_HID, "called, applet_resource_user_id={}", applet_resource_user_id); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
| 
 | ||||
| void Hid::EndPermitVibrationSession(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service_HID, "(STUBBED) called"); | ||||
|     applet_resource->GetController<Controller_NPad>(HidController::NPad) | ||||
|         .SetPermitVibrationSession(false); | ||||
| 
 | ||||
|     LOG_DEBUG(Service_HID, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Morph
						Morph