diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-01 22:23:56 +0100 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2024-01-04 03:21:14 +0100 |
commit | 6a244465cef86d7329f12dd1dfd5d6fdd415a0ed (patch) | |
tree | 0b69faca9aee4ab31705d07d57e55a75b1b2a809 /src/core/hle/service/hid/resource_manager.cpp | |
parent | Merge pull request #12554 from german77/directconnect (diff) | |
download | yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar.gz yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar.bz2 yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar.lz yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar.xz yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.tar.zst yuzu-6a244465cef86d7329f12dd1dfd5d6fdd415a0ed.zip |
Diffstat (limited to 'src/core/hle/service/hid/resource_manager.cpp')
-rw-r--r-- | src/core/hle/service/hid/resource_manager.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/core/hle/service/hid/resource_manager.cpp b/src/core/hle/service/hid/resource_manager.cpp index 84b4be3ed..ab49259ac 100644 --- a/src/core/hle/service/hid/resource_manager.cpp +++ b/src/core/hle/service/hid/resource_manager.cpp @@ -129,12 +129,12 @@ std::shared_ptr<UniquePad> ResourceManager::GetUniquePad() const { } Result ResourceManager::CreateAppletResource(u64 aruid) { - if (aruid == 0) { + if (aruid == SystemAruid) { const auto result = RegisterCoreAppletResource(); if (result.IsError()) { return result; } - return GetNpad()->Activate(); + return GetNpad()->ActivateNpadResource(); } const auto result = CreateAppletResourceImpl(aruid); @@ -147,7 +147,7 @@ Result ResourceManager::CreateAppletResource(u64 aruid) { six_axis->Activate(); touch_screen->Activate(); - return GetNpad()->Activate(aruid); + return GetNpad()->ActivateNpadResource(aruid); } Result ResourceManager::CreateAppletResourceImpl(u64 aruid) { @@ -174,7 +174,7 @@ void ResourceManager::InitializeHidCommonSampler() { debug_pad->SetAppletResource(applet_resource); digitizer->SetAppletResource(applet_resource); keyboard->SetAppletResource(applet_resource); - npad->SetAppletResource(applet_resource); + npad->SetNpadExternals(applet_resource, &shared_mutex); six_axis->SetAppletResource(applet_resource); mouse->SetAppletResource(applet_resource); debug_mouse->SetAppletResource(applet_resource); @@ -214,7 +214,11 @@ Result ResourceManager::UnregisterCoreAppletResource() { Result ResourceManager::RegisterAppletResourceUserId(u64 aruid, bool bool_value) { std::scoped_lock lock{shared_mutex}; - return applet_resource->RegisterAppletResourceUserId(aruid, bool_value); + auto result = applet_resource->RegisterAppletResourceUserId(aruid, bool_value); + if (result.IsSuccess()) { + result = npad->RegisterAppletResourceUserId(aruid); + } + return result; } void ResourceManager::UnregisterAppletResourceUserId(u64 aruid) { |