summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/hid/resource_manager.cpp
diff options
context:
space:
mode:
authorNarr the Reg <juangerman-13@hotmail.com>2024-01-01 22:23:56 +0100
committerNarr the Reg <juangerman-13@hotmail.com>2024-01-04 03:21:14 +0100
commit6a244465cef86d7329f12dd1dfd5d6fdd415a0ed (patch)
tree0b69faca9aee4ab31705d07d57e55a75b1b2a809 /src/core/hle/service/hid/resource_manager.cpp
parentMerge pull request #12554 from german77/directconnect (diff)
downloadyuzu-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.cpp14
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) {