mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-30 18:24:15 +01:00 
			
		
		
		
	Merge pull request #12734 from german77/enable-applet
service: hid: Implement EnableAppletForInput
This commit is contained in:
		
						commit
						57ff934f0d
					
				| @ -533,7 +533,7 @@ void IHidSystemServer::EnableAppletToGetInput(HLERequestContext& ctx) { | ||||
|              parameters.is_enabled, parameters.applet_resource_user_id); | ||||
| 
 | ||||
|     GetResourceManager()->EnableInput(parameters.applet_resource_user_id, parameters.is_enabled); | ||||
|     // GetResourceManager()->GetNpad()->EnableInput(parameters.applet_resource_user_id);
 | ||||
|     GetResourceManager()->GetNpad()->EnableAppletToGetInput(parameters.applet_resource_user_id); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(ResultSuccess); | ||||
| @ -596,7 +596,7 @@ void IHidSystemServer::EnableAppletToGetPadInput(HLERequestContext& ctx) { | ||||
|              parameters.is_enabled, parameters.applet_resource_user_id); | ||||
| 
 | ||||
|     GetResourceManager()->EnablePadInput(parameters.applet_resource_user_id, parameters.is_enabled); | ||||
|     // GetResourceManager()->GetNpad()->EnableInput(parameters.applet_resource_user_id);
 | ||||
|     GetResourceManager()->GetNpad()->EnableAppletToGetInput(parameters.applet_resource_user_id); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(ResultSuccess); | ||||
|  | ||||
| @ -480,6 +480,10 @@ void NPad::OnUpdate(const Core::Timing::CoreTiming& core_timing) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             if (!data->flag.enable_pad_input) { | ||||
|                 continue; | ||||
|             } | ||||
| 
 | ||||
|             RequestPadStateUpdate(aruid, controller.device->GetNpadIdType()); | ||||
|             auto& pad_state = controller.npad_pad_state; | ||||
|             auto& libnx_state = controller.npad_libnx_state; | ||||
| @ -1316,4 +1320,13 @@ void NPad::UpdateHandheldAbstractState() { | ||||
|     abstracted_pads[NpadIdTypeToIndex(Core::HID::NpadIdType::Handheld)].Update(); | ||||
| } | ||||
| 
 | ||||
| void NPad::EnableAppletToGetInput(u64 aruid) { | ||||
|     std::scoped_lock lock{mutex}; | ||||
|     std::scoped_lock shared_lock{*applet_resource_holder.shared_mutex}; | ||||
| 
 | ||||
|     for (auto& abstract_pad : abstracted_pads) { | ||||
|         abstract_pad.EnableAppletToGetInput(aruid); | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| } // namespace Service::HID
 | ||||
|  | ||||
| @ -153,6 +153,8 @@ public: | ||||
| 
 | ||||
|     void UpdateHandheldAbstractState(); | ||||
| 
 | ||||
|     void EnableAppletToGetInput(u64 aruid); | ||||
| 
 | ||||
| private: | ||||
|     struct NpadControllerData { | ||||
|         NpadInternalState* shared_memory = nullptr; | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user