hle: Stub IHidbusServer.GetBusHandle (#5284)
This commit is contained in:
parent
0cc266ff19
commit
915a0f7173
3 changed files with 45 additions and 1 deletions
|
@ -1,8 +1,29 @@
|
||||||
namespace Ryujinx.HLE.HOS.Services.Hid
|
using Ryujinx.Common;
|
||||||
|
using Ryujinx.Common.Logging;
|
||||||
|
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Hid
|
||||||
{
|
{
|
||||||
[Service("hidbus")]
|
[Service("hidbus")]
|
||||||
class IHidbusServer : IpcService
|
class IHidbusServer : IpcService
|
||||||
{
|
{
|
||||||
public IHidbusServer(ServiceCtx context) { }
|
public IHidbusServer(ServiceCtx context) { }
|
||||||
|
|
||||||
|
[CommandCmif(1)]
|
||||||
|
// GetBusHandle(nn::hid::NpadIdType, nn::hidbus::BusType, nn::applet::AppletResourceUserId) -> (bool HasHandle, nn::hidbus::BusHandle)
|
||||||
|
public ResultCode GetBusHandle(ServiceCtx context)
|
||||||
|
{
|
||||||
|
NpadIdType npadIdType = (NpadIdType)context.RequestData.ReadInt32();
|
||||||
|
context.RequestData.BaseStream.Position += 4; // Padding
|
||||||
|
BusType busType = (BusType)context.RequestData.ReadInt64();
|
||||||
|
long appletResourceUserId = context.RequestData.ReadInt64();
|
||||||
|
|
||||||
|
context.ResponseData.Write(false);
|
||||||
|
context.ResponseData.BaseStream.Position += 7; // Padding
|
||||||
|
context.ResponseData.WriteStruct(new BusHandle());
|
||||||
|
|
||||||
|
Logger.Stub?.PrintStub(LogClass.ServiceHid, new { npadIdType, busType, appletResourceUserId });
|
||||||
|
|
||||||
|
return ResultCode.Success;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
14
src/Ryujinx.HLE/HOS/Services/Hid/Types/Npad/BusHandle.cs
Normal file
14
src/Ryujinx.HLE/HOS/Services/Hid/Types/Npad/BusHandle.cs
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Hid
|
||||||
|
{
|
||||||
|
[StructLayout(LayoutKind.Sequential)]
|
||||||
|
struct BusHandle
|
||||||
|
{
|
||||||
|
public int AbstractedPadId;
|
||||||
|
public byte InternalIndex;
|
||||||
|
public byte PlayerNumber;
|
||||||
|
public byte BusTypeId;
|
||||||
|
public byte IsValid;
|
||||||
|
}
|
||||||
|
}
|
9
src/Ryujinx.HLE/HOS/Services/Hid/Types/Npad/BusType.cs
Normal file
9
src/Ryujinx.HLE/HOS/Services/Hid/Types/Npad/BusType.cs
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Hid
|
||||||
|
{
|
||||||
|
public enum BusType : long
|
||||||
|
{
|
||||||
|
LeftJoyRail = 0,
|
||||||
|
RightJoyRail = 1,
|
||||||
|
InternalBus = 2
|
||||||
|
}
|
||||||
|
}
|
Reference in a new issue