aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/HOS/Services
diff options
context:
space:
mode:
authorAc_K <Acoustik666@gmail.com>2020-09-20 06:32:58 +0200
committerGitHub <noreply@github.com>2020-09-20 14:32:58 +1000
commit0158dc4db310b320a38eaf09e67276e4af8a12bf (patch)
tree53db3d60986e7db5ca32feaae8787930ad1d12f3 /Ryujinx.HLE/HOS/Services
parentd0e36b7b19a8477d7715b729bb389972edc7de66 (diff)
acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration (#1555)
* acc/hid: Implement ListQualifiedUsers and SetTouchScreenConfiguration * Fix symbols
Diffstat (limited to 'Ryujinx.HLE/HOS/Services')
-rw-r--r--Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs25
-rw-r--r--Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs12
2 files changed, 37 insertions, 0 deletions
diff --git a/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs b/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs
index d1bf94e7..6382a4ba 100644
--- a/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs
+++ b/Ryujinx.HLE/HOS/Services/Account/Acc/IAccountServiceForApplication.cs
@@ -274,6 +274,31 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success;
}
+ [Command(131)] // 6.0.0+
+ // ListOpenContextStoredUsers() -> array<nn::account::Uid, 0xa>
+ public ResultCode ListOpenContextStoredUsers(ServiceCtx context)
+ {
+ long outputPosition = context.Request.RecvListBuff[0].Position;
+ long outputSize = context.Request.RecvListBuff[0].Size;
+
+ MemoryHelper.FillWithZeros(context.Memory, outputPosition, (int)outputSize);
+
+ // TODO: This seems to write stored userids of the OpenContext in the buffer. We needs to determine them.
+
+ Logger.Stub?.PrintStub(LogClass.ServiceAcc);
+
+ return ResultCode.Success;
+ }
+
+ [Command(141)] // 6.0.0+
+ // ListQualifiedUsers() -> array<nn::account::Uid, 0xa>
+ public ResultCode ListQualifiedUsers(ServiceCtx context)
+ {
+ // TODO: Determine how users are "qualified". We assume all users are "qualified" for now.
+
+ return WriteUserList(context, context.Device.System.State.Account.GetAllUsers());
+ }
+
[Command(150)] // 6.0.0+
// IsUserAccountSwitchLocked() -> bool
public ResultCode IsUserAccountSwitchLocked(ServiceCtx context)
diff --git a/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
index ec4c0980..a700b0ca 100644
--- a/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
+++ b/Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs
@@ -1501,5 +1501,17 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success;
}
+
+ [Command(1002)] // 9.0.0+
+ // SetTouchScreenConfiguration(nn::hid::TouchScreenConfigurationForNx, nn::applet::AppletResourceUserId)
+ public ResultCode SetTouchScreenConfiguration(ServiceCtx context)
+ {
+ long touchScreenConfigurationForNx = context.RequestData.ReadInt64();
+ long appletResourceUserId = context.RequestData.ReadInt64();
+
+ Logger.Stub?.PrintStub(LogClass.ServiceHid, new { appletResourceUserId, touchScreenConfigurationForNx });
+
+ return ResultCode.Success;
+ }
}
}