diff options
author | Ac_K <Acoustik666@gmail.com> | 2020-09-20 06:32:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-20 14:32:58 +1000 |
commit | 0158dc4db310b320a38eaf09e67276e4af8a12bf (patch) | |
tree | 53db3d60986e7db5ca32feaae8787930ad1d12f3 /Ryujinx.HLE/HOS/Services | |
parent | d0e36b7b19a8477d7715b729bb389972edc7de66 (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.cs | 25 | ||||
-rw-r--r-- | Ryujinx.HLE/HOS/Services/Hid/IHidServer.cs | 12 |
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; + } } } |