Move types

This commit is contained in:
Isaac Marovitz 2024-03-10 14:38:29 +00:00
parent 2cb80f37d4
commit f05f05b466
No known key found for this signature in database
GPG key ID: 97250B2B09A132E1
104 changed files with 389 additions and 122 deletions

View file

@ -2,7 +2,7 @@ using Ryujinx.Common.Logging;
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.HLE.HOS.Services.Am.AppletAE;
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.HLE.HOS.Services.Hid.Types; using Ryujinx.Horizon.Sdk.Hid.Npad;
using System; using System;
using System.IO; using System.IO;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;

View file

@ -1,4 +1,5 @@
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.HLE.HOS.Applets

View file

@ -3,7 +3,6 @@ using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard; using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.HLE.HOS.Services.Am.AppletAE;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
using Ryujinx.HLE.UI; using Ryujinx.HLE.UI;
using Ryujinx.HLE.UI.Input; using Ryujinx.HLE.UI.Input;
using Ryujinx.Memory; using Ryujinx.Memory;

View file

@ -3,15 +3,12 @@ using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.Exceptions; using Ryujinx.HLE.Exceptions;
using Ryujinx.HLE.HOS.Kernel.Memory; using Ryujinx.HLE.HOS.Kernel.Memory;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory; using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.Npad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using ControllerType = Ryujinx.Horizon.Sdk.Hid.Npad.ControllerType;
using PlayerIndex = Ryujinx.Horizon.Sdk.Hid.Npad.PlayerIndex;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid
{ {

View file

@ -1,6 +1,3 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid
{ {
public class DebugPadDevice : BaseDevice public class DebugPadDevice : BaseDevice

View file

@ -1,5 +1,4 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard;
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid

View file

@ -1,6 +1,3 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid
{ {
public class MouseDevice : BaseDevice public class MouseDevice : BaseDevice

View file

@ -1,9 +1,9 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Kernel.Threading; using Ryujinx.HLE.HOS.Kernel.Threading;
using Ryujinx.HLE.HOS.Services.Hid.Types; using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.Npad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad; using Ryujinx.Horizon.Sdk.Hid.Vibration;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;

View file

@ -1,5 +1,4 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen;
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid

View file

@ -1,3 +1,4 @@
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.HidServer namespace Ryujinx.HLE.HOS.Services.Hid.HidServer

View file

@ -3,9 +3,11 @@ using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Kernel.Threading; using Ryujinx.HLE.HOS.Kernel.Threading;
using Ryujinx.HLE.HOS.Services.Hid.HidServer; using Ryujinx.HLE.HOS.Services.Hid.HidServer;
using Ryujinx.HLE.HOS.Services.Hid.Types;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
using Ryujinx.Horizon.Common; using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using Ryujinx.Horizon.Sdk.Hid.SixAxis;
using Ryujinx.Horizon.Sdk.Hid.Vibration;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Hid.HidServer; using Ryujinx.HLE.HOS.Services.Hid.HidServer;
using Ryujinx.HLE.HOS.Services.Hid.Types; using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid
{ {

View file

@ -1,5 +1,6 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.HLE.HOS.Services.Hid
{ {

View file

@ -2,8 +2,8 @@ using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Services.Hid.HidServer; using Ryujinx.HLE.HOS.Services.Hid.HidServer;
using Ryujinx.HLE.HOS.Services.Hid.Irs.Types;
using Ryujinx.Horizon.Common; using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs namespace Ryujinx.HLE.HOS.Services.Hid.Irs

View file

@ -7,6 +7,7 @@ using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.HLE.HOS.Services.Hid.HidServer; using Ryujinx.HLE.HOS.Services.Hid.HidServer;
using Ryujinx.HLE.HOS.Services.Nfc.Nfp.NfpManager; using Ryujinx.HLE.HOS.Services.Nfc.Nfp.NfpManager;
using Ryujinx.Horizon.Common; using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System; using System;
using System.Buffers.Binary; using System.Buffers.Binary;
using System.Globalization; using System.Globalization;

View file

@ -1,5 +1,6 @@
using Ryujinx.HLE.HOS.Kernel.Threading; using Ryujinx.HLE.HOS.Kernel.Threading;
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp.NfpManager namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp.NfpManager
{ {

View file

@ -1,5 +1,6 @@
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.HLE.HOS.Tamper.Operations; using Ryujinx.HLE.HOS.Tamper.Operations;
using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.HLE.HOS.Tamper namespace Ryujinx.HLE.HOS.Tamper
{ {

View file

@ -1,4 +1,5 @@
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.HLE.HOS.Tamper namespace Ryujinx.HLE.HOS.Tamper
{ {

View file

@ -3,6 +3,8 @@ using Ryujinx.HLE.HOS.Kernel;
using Ryujinx.HLE.HOS.Kernel.Process; using Ryujinx.HLE.HOS.Kernel.Process;
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.HLE.HOS.Tamper; using Ryujinx.HLE.HOS.Tamper;
using Ryujinx.Horizon.Sdk.Hid;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System; using System;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;

View file

@ -1,5 +1,3 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
namespace Ryujinx.HLE.UI.Input namespace Ryujinx.HLE.UI.Input
{ {
delegate void NpadButtonHandler(int npadIndex, NpadButton button); delegate void NpadButtonHandler(int npadIndex, NpadButton button);

View file

@ -1,6 +1,3 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
namespace Ryujinx.HLE.UI.Input namespace Ryujinx.HLE.UI.Input
{ {
/// <summary> /// <summary>

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types namespace Ryujinx.Horizon.Sdk.Hid
{ {
[Flags] [Flags]
enum AppletFooterUiType : byte enum AppletFooterUiType : byte

View file

@ -1,4 +1,6 @@
namespace Ryujinx.HLE.HOS.Services.Hid using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct ControllerConfig public struct ControllerConfig
{ {

View file

@ -1,4 +1,6 @@
namespace Ryujinx.HLE.HOS.Services.Hid using Ryujinx.Horizon.Sdk.Hid.Npad;
namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct GamepadInput public struct GamepadInput
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types namespace Ryujinx.Horizon.Sdk.Hid
{ {
struct HidVector struct HidVector
{ {

View file

@ -0,0 +1,128 @@
using Ryujinx.Horizon.Sdk.Sf;
namespace Ryujinx.Horizon.Sdk.Hid
{
interface IHidDebugServer : IServiceObject
{
// Result DeactivateDebugPad();
// Result SetDebugPadAutoPilotState(DebugPadAutoPilotState arg0);
// Result UnsetDebugPadAutoPilotState();
// Result DeactivateTouchScreen();
// Result SetTouchScreenAutoPilotState(ReadOnlySpan<TouchState> arg0);
// Result UnsetTouchScreenAutoPilotState();
// Result GetTouchScreenConfiguration(out TouchScreenConfigurationForNx arg0, AppletResourceUserId arg1, ulong pid);
// Result ProcessTouchScreenAutoTune();
// Result ForceStopTouchScreenManagement();
// Result ForceRestartTouchScreenManagement(AppletResourceUserId arg0, int arg1, ulong pid);
// Result IsTouchScreenManaged(out bool arg0);
// Result DeactivateMouse();
// Result SetMouseAutoPilotState(MouseAutoPilotState arg0);
// Result UnsetMouseAutoPilotState();
// Result DeactivateKeyboard();
// Result SetKeyboardAutoPilotState(KeyboardAutoPilotState arg0);
// Result UnsetKeyboardAutoPilotState();
// Result DeactivateXpad(BasicXpadId arg0);
// Result ClearNpadSystemCommonPolicy(AppletResourceUserId arg0, ulong pid);
// Result DeactivateNpad(AppletResourceUserId arg0, ulong pid);
// Result ForceDisconnectNpad(uint arg0);
// Result DeactivateGesture();
// Result DeactivateHomeButton();
// Result SetHomeButtonAutoPilotState(HomeButtonAutoPilotState arg0);
// Result UnsetHomeButtonAutoPilotState();
// Result DeactivateSleepButton();
// Result SetSleepButtonAutoPilotState(SleepButtonAutoPilotState arg0);
// Result UnsetSleepButtonAutoPilotState();
// Result DeactivateCaptureButton();
// Result SetCaptureButtonAutoPilotState(CaptureButtonAutoPilotState arg0);
// Result UnsetCaptureButtonAutoPilotState();
// Result SetShiftAccelerometerCalibrationValue(SixAxisSensorHandle arg0, AppletResourceUserId arg1, float arg2, float arg3, ulong pid);
// Result GetShiftAccelerometerCalibrationValue(out float arg0, out float arg1, SixAxisSensorHandle arg2, AppletResourceUserId arg3, ulong pid);
// Result SetShiftGyroscopeCalibrationValue(SixAxisSensorHandle arg0, AppletResourceUserId arg1, float arg2, float arg3, ulong pid);
// Result GetShiftGyroscopeCalibrationValue(out float arg0, out float arg1, SixAxisSensorHandle arg2, AppletResourceUserId arg3, ulong pid);
// Result DeactivateConsoleSixAxisSensor();
// Result GetConsoleSixAxisSensorSamplingFrequency(out long arg0, AppletResourceUserId arg1, ulong pid);
// Result DeactivateSevenSixAxisSensor();
// Result GetConsoleSixAxisSensorCountStates(out int arg0, Span<ConsoleSixAxisSensorCountState> arg1, AppletResourceUserId arg2, ulong pid);
// Result GetAccelerometerFsr(out AccelerometerFsr arg0, AppletResourceUserId arg1, ulong pid);
// Result SetAccelerometerFsr(AccelerometerFsr arg0, AppletResourceUserId arg1, ulong pid);
// Result GetAccelerometerOdr(out AccelerometerOdr arg0, AppletResourceUserId arg1, ulong pid);
// Result SetAccelerometerOdr(AccelerometerOdr arg0, AppletResourceUserId arg1, ulong pid);
// Result GetGyroscopeFsr(out GyroscopeFsr arg0, AppletResourceUserId arg1, ulong pid);
// Result SetGyroscopeFsr(GyroscopeFsr arg0, AppletResourceUserId arg1, ulong pid);
// Result GetGyroscopeOdr(out GyroscopeOdr arg0, AppletResourceUserId arg1, ulong pid);
// Result SetGyroscopeOdr(GyroscopeOdr arg0, AppletResourceUserId arg1, ulong pid);
// Result GetWhoAmI(out WhoAmIValue arg0, AppletResourceUserId arg1, ulong pid);
// Result ActivateFirmwareUpdate();
// Result DeactivateFirmwareUpdate();
// Result StartFirmwareUpdate(UniquePadId arg0);
// Result GetFirmwareUpdateStage(out long arg0, out long arg1);
// Result GetFirmwareVersion(out FirmwareVersion arg0, uint arg1, DeviceType arg2);
// Result GetDestinationFirmwareVersion(out FirmwareVersion arg0, uint arg1, DeviceType arg2);
// Result DiscardFirmwareInfoCacheForRevert();
// Result StartFirmwareUpdateForRevert(UniquePadId arg0);
// Result GetAvailableFirmwareVersionForRevert(out FirmwareVersion arg0, UniquePadId arg1);
// Result IsFirmwareUpdatingDevice(out bool arg0, UniquePadId arg1);
// Result StartFirmwareUpdateIndividual(out FirmwareUpdateDeviceHandle arg0, UniquePadId arg1, long arg2, int arg3, ulong arg4);
// Result SetUsbFirmwareForceUpdateEnabled(bool arg0);
// Result SetAllKuinaDevicesToFirmwareUpdateMode();
// Result UpdateControllerColor(Unorm8x4 arg0, Unorm8x4 arg1, UniquePadId arg2);
// Result ConnectUsbPadsAsync();
// Result DisconnectUsbPadsAsync();
// Result UpdateDesignInfo(Unorm8x4 arg0, Unorm8x4 arg1, Unorm8x4 arg2, Unorm8x4 arg3, uint arg4, UniquePadId arg5);
// Result GetUniquePadDriverState(out PadRawState arg0, UniquePadId arg1);
// Result GetSixAxisSensorDriverStates(out long arg0, Span<SixAxisSensorState> arg1, UniquePadId arg2);
// Result GetRxPacketHistory(out JoyConFormatPacketRxHistory arg0, UniquePadId arg1);
// Result AcquireOperationEventHandle(out int arg0, UniquePadId arg1);
// Result ReadSerialFlash(uint arg0, int arg1, ulong arg2, UniquePadId arg3);
// Result WriteSerialFlash(uint arg0, int arg1, ulong arg2, ulong arg3, UniquePadId arg4);
// Result GetOperationResult(UniquePadId arg0);
// Result EnableShipmentMode(UniquePadId arg0);
// Result ClearPairingInfo(UniquePadId arg0);
// Result GetUniquePadDeviceTypeSetInternal(out DeviceType arg0, UniquePadId arg1);
// Result EnableAnalogStickPower(bool arg0, UniquePadId arg1);
// Result RequestKuinaUartClockCal(UniquePadId arg0);
// Result GetKuinaUartClockCal(out byte arg0, UniquePadId arg1);
// Result SetKuinaUartClockTrim(UniquePadId arg0, byte arg1);
// Result KuinaLoopbackTest(UniquePadId arg0);
// Result RequestBatteryVoltage(UniquePadId arg0);
// Result GetBatteryVoltage(out ushort arg0, UniquePadId arg1);
// Result GetUniquePadPowerInfo(out PowerInfo arg0, UniquePadId arg1);
// Result RebootUniquePad(UniquePadId arg0);
// Result RequestKuinaFirmwareVersion(UniquePadId arg0);
// Result GetKuinaFirmwareVersion(out UsbFirmwareVersion arg0, UniquePadId arg1);
// Result GetVidPid(out ushort arg0, out ushort arg1, UniquePadId arg2);
// Result GetAnalogStickCalibrationValue(out AnalogStickCalibrationValue arg0, UniquePadId arg1, AnalogStickDeviceType arg2);
// Result GetUniquePadIdsFull(out int arg0, Span<UniquePadId> arg1);
// Result ConnectUniquePad(UniquePadId arg0);
// Result IsVirtual(out bool arg0, out bool arg1, UniquePadId arg2);
// Result GetAnalogStickModuleParam(out AnalogStickModuleParam arg0, UniquePadId arg1, AnalogStickDeviceType arg2);
// Result UnsetAllAutoPilotVirtualPadState();
// Result AttachHdlsWorkBuffer(out HdlsSessionId arg0, int arg1, ulong arg2);
// Result ReleaseHdlsWorkBuffer(HdlsSessionId arg0);
// Result DumpHdlsNpadAssignmentState(HdlsSessionId arg0);
// Result DumpHdlsStates(HdlsSessionId arg0);
// Result ApplyHdlsNpadAssignmentState(HdlsSessionId arg0, bool arg1);
// Result ApplyHdlsStateList(HdlsSessionId arg0);
// Result AttachHdlsVirtualDevice(out HdlsHandle arg0, HdlsDeviceInfo arg1);
// Result DetachHdlsVirtualDevice(HdlsHandle arg0);
// Result SetHdlsState(HdlsHandle arg0, HdlsState arg1);
// Result AddRegisteredDevice(RegisteredDevice arg0);
// Result DisableExternalMcuOnNxDevice(bool arg0);
// Result DisableRailDeviceFiltering(bool arg0);
// Result EnableWiredPairing(bool arg0);
// Result EnableShipmentModeAutoClear(bool arg0);
// Result SetRailEnabled(bool arg0);
// Result SetFactoryInt(bool arg0, UniquePadId arg1);
// Result IsFactoryBootEnabled(out bool arg0, UniquePadId arg1);
// Result SetAnalogStickModelDataTemporarily(AnalogStickModelData arg0, UniquePadId arg1, int arg2);
// Result GetAnalogStickModelData(out AnalogStickModelData arg0, out bool arg1, UniquePadId arg2, int arg3);
// Result ResetAnalogStickModelData(UniquePadId arg0, int arg1);
// Result ConvertPadState(out PadState arg0, PadState arg1, UniquePadId arg2);
// Result AddButtonPlayData(ButtonPlayData arg0, UniquePadId arg1);
// Result StartButtonPlayData(UniquePadId arg0);
// Result StopButtonPlayData(UniquePadId arg0);
// Result DeactivateDigitizer();
// Result SetDigitizerAutoPilotState(DigitizerAutoPilotState arg0);
// Result UnsetDigitizerAutoPilotState();
}
}

View file

@ -0,0 +1,25 @@
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Applet;
using Ryujinx.Horizon.Sdk.Hid.Npad;
using Ryujinx.Horizon.Sdk.Sf;
using System;
namespace Ryujinx.Horizon.Sdk.Hid
{
interface IHidbusServer : IServiceObject
{
Result GetBusHandle(out BusHandle handle, out bool hasHandle, uint npadIdType, ulong busType, AppletResourceUserId resourceUserId);
Result IsExternalDeviceConnected(out bool isAttached, BusHandle handle);
Result Initialize(BusHandle handle, AppletResourceUserId resourceUserId);
Result Finalize(BusHandle handle, AppletResourceUserId resourceUserId);
Result EnableExternalDevice(BusHandle handle, bool isEnabled, ulong version, AppletResourceUserId resourceUserId);
Result GetExternalDeviceId(out uint deviceId, BusHandle handle);
Result SendCommandAsync(ReadOnlySpan<byte> buffer, BusHandle handle);
Result GetSendCommandAsyncResult(out uint outSize, Span<byte> buffer, BusHandle handle);
Result SetEventForSendCommandAsyncResult(out int eventHandle, BusHandle handle);
Result GetSharedMemoryHandle(out int sharedMemoryHandle);
Result EnableJoyPollingReceiveMode(ReadOnlySpan<byte> buffer, int transferMemoryHandle, uint size, uint joyPollingMode, BusHandle handle);
Result DisableJoyPollingReceiveMode(BusHandle handle);
Result SetStatusManagerType(uint statusManagerType);
}
}

View file

@ -0,0 +1,13 @@
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Applet;
using Ryujinx.Horizon.Sdk.Sf;
namespace Ryujinx.Horizon.Sdk.Hid
{
interface IHidbusSystemServer : IServiceObject
{
Result SetAppletResourceUserId(AppletResourceUserId resourceUserId);
Result RegisterAppletResourceUserId(AppletResourceUserId resourceUserId, int arg1);
Result UnregisterAppletResourceUserId(AppletResourceUserId resourceUserId);
}
}

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct JoystickPosition public struct JoystickPosition
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct KeyboardInput public struct KeyboardInput
{ {

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
struct BusHandle struct BusHandle

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum BusType : long public enum BusType : long
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
[Flags] [Flags]
public enum ControllerKeys : long public enum ControllerKeys : long

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
[Flags] [Flags]
public enum ControllerType public enum ControllerType

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum NpadColor : uint public enum NpadColor : uint
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum NpadHandheldActivationMode public enum NpadHandheldActivationMode
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum NpadIdType public enum NpadIdType
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum NpadJoyDeviceType public enum NpadJoyDeviceType
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum NpadStyleIndex : byte public enum NpadStyleIndex : byte
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Npad
{ {
public enum PlayerIndex public enum PlayerIndex
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types namespace Ryujinx.Horizon.Sdk.Hid
{ {
enum NpadJoyHoldType enum NpadJoyHoldType
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common
{ {
struct AnalogStickState struct AnalogStickState
{ {

View file

@ -1,6 +1,6 @@
using System.Threading; using System.Threading;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common
{ {
struct AtomicStorage<T> where T : unmanaged, ISampledDataStruct struct AtomicStorage<T> where T : unmanaged, ISampledDataStruct
{ {

View file

@ -2,7 +2,7 @@ using System;
using System.Buffers.Binary; using System.Buffers.Binary;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common
{ {
/// <summary> /// <summary>
/// This is a "marker interface" to add some compile-time safety to a convention-based optimization. /// This is a "marker interface" to add some compile-time safety to a convention-based optimization.

View file

@ -3,7 +3,7 @@ using System;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common
{ {
struct RingLifo<T> where T : unmanaged, ISampledDataStruct struct RingLifo<T> where T : unmanaged, ISampledDataStruct
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.DebugPad
{ {
[Flags] [Flags]
enum DebugPadAttribute : uint enum DebugPadAttribute : uint

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.DebugPad
{ {
[Flags] [Flags]
enum DebugPadButton : uint enum DebugPadButton : uint

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.DebugPad
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct DebugPadState : ISampledDataStruct struct DebugPadState : ISampledDataStruct

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Keyboard
{ {
struct KeyboardKey struct KeyboardKey
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Keyboard
{ {
enum KeyboardKeyShift enum KeyboardKeyShift
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Keyboard
{ {
[Flags] [Flags]
enum KeyboardModifier : ulong enum KeyboardModifier : ulong

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Keyboard
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct KeyboardState : ISampledDataStruct struct KeyboardState : ISampledDataStruct

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Mouse
{ {
[Flags] [Flags]
enum MouseAttribute : uint enum MouseAttribute : uint

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Mouse
{ {
[Flags] [Flags]
enum MouseButton : uint enum MouseButton : uint

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Mouse
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct MouseState : ISampledDataStruct struct MouseState : ISampledDataStruct

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum DeviceType enum DeviceType

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum NpadAttribute : uint enum NpadAttribute : uint

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
enum NpadBatteryLevel enum NpadBatteryLevel
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum NpadButton : ulong enum NpadButton : ulong

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
enum NpadColorAttribute : uint enum NpadColorAttribute : uint
{ {

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct NpadCommonState : ISampledDataStruct struct NpadCommonState : ISampledDataStruct

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
struct NpadFullKeyColorState struct NpadFullKeyColorState
{ {

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct NpadGcTriggerState : ISampledDataStruct struct NpadGcTriggerState : ISampledDataStruct

View file

@ -1,7 +1,7 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
struct NpadInternalState struct NpadInternalState
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
enum NpadJoyAssignmentMode : uint enum NpadJoyAssignmentMode : uint
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
struct NpadJoyColorState struct NpadJoyColorState
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
enum NpadLarkType : uint enum NpadLarkType : uint
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
enum NpadLuciaType enum NpadLuciaType
{ {

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x5000)] [StructLayout(LayoutKind.Sequential, Size = 0x5000)]
struct NpadState struct NpadState

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
/// <summary> /// <summary>
/// Nintendo pad style /// Nintendo pad style

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum NpadSystemButtonProperties : uint enum NpadSystemButtonProperties : uint

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum NpadSystemProperties : ulong enum NpadSystemProperties : ulong

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[Flags] [Flags]
enum SixAxisSensorAttribute : uint enum SixAxisSensorAttribute : uint

View file

@ -1,8 +1,8 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct SixAxisSensorState : ISampledDataStruct struct SixAxisSensorState : ISampledDataStruct

View file

@ -1,13 +1,13 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.DebugPad; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.DebugPad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Keyboard; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Keyboard;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Mouse; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Mouse;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Npad;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.TouchScreen;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory
{ {
/// <summary> /// <summary>
/// Represent the shared memory shared between applications for input. /// Represent the shared memory shared between applications for input.

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.TouchScreen
{ {
[Flags] [Flags]
public enum TouchAttribute : uint public enum TouchAttribute : uint

View file

@ -1,8 +1,8 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Common; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.Common;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.TouchScreen
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct TouchScreenState : ISampledDataStruct struct TouchScreenState : ISampledDataStruct

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen namespace Ryujinx.Horizon.Sdk.Hid.SharedMemory.TouchScreen
{ {
struct TouchState struct TouchState
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.SixAxis
{ {
public struct AccelerometerParameters public struct AccelerometerParameters
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.SixAxis
{ {
public enum GyroscopeZeroDriftMode public enum GyroscopeZeroDriftMode
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.SixAxis
{ {
public struct SensorFusionParameters public struct SensorFusionParameters
{ {

View file

@ -1,6 +1,7 @@
using Ryujinx.Horizon.Sdk.Hid.Npad;
using System.Numerics; using System.Numerics;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct SixAxisInput public struct SixAxisInput
{ {

View file

@ -1,6 +1,6 @@
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.TouchScreen; using Ryujinx.Horizon.Sdk.Hid.SharedMemory.TouchScreen;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid
{ {
public struct TouchPoint public struct TouchPoint
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Vibration
{ {
public struct VibrationDeviceHandle public struct VibrationDeviceHandle
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Vibration
{ {
public enum VibrationDevicePosition public enum VibrationDevicePosition
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Vibration
{ {
public enum VibrationDeviceType public enum VibrationDeviceType
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Vibration
{ {
public struct VibrationDeviceValue public struct VibrationDeviceValue
{ {

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Services.Hid namespace Ryujinx.Horizon.Sdk.Hid.Vibration
{ {
public struct VibrationValue public struct VibrationValue
{ {

View file

@ -0,0 +1,29 @@
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Applet;
using Ryujinx.Horizon.Sdk.Sf;
using System;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
interface IIrSensorServer : IServiceObject
{
Result ActivateIrsensor(AppletResourceUserId arg0, ulong pid);
Result DeactivateIrsensor(AppletResourceUserId arg0, ulong pid);
Result GetIrsensorSharedMemoryHandle(out int arg0, AppletResourceUserId arg1, ulong pid);
Result StopImageProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, ulong pid);
Result RunMomentProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedMomentProcessorConfig arg2, ulong pid);
Result RunClusteringProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedClusteringProcessorConfig arg2, ulong pid);
Result RunImageTransferProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedImageTransferProcessorConfig arg2, int arg3, ulong arg4, ulong pid);
Result GetImageTransferProcessorState(AppletResourceUserId arg0, out ImageTransferProcessorState arg1, Span<byte> arg2, IrCameraHandle arg3, ulong pid);
Result RunTeraPluginProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedTeraPluginProcessorConfig arg2, ulong pid);
Result GetNpadIrCameraHandle(out IrCameraHandle arg0, uint arg1);
Result RunPointingProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedPointingProcessorConfig arg2, ulong pid);
Result SuspendImageProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, ulong pid);
Result CheckFirmwareVersion(AppletResourceUserId arg0, IrCameraHandle arg1, PackedMcuVersion arg2, ulong pid);
Result SetFunctionLevel(AppletResourceUserId arg0, IrCameraHandle arg1, PackedFunctionLevel arg2, ulong pid);
Result RunImageTransferExProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedImageTransferProcessorExConfig arg2, int arg3, ulong arg4, ulong pid);
Result RunIrLedProcessor(AppletResourceUserId arg0, IrCameraHandle arg1, PackedIrLedProcessorConfig arg2, ulong pid);
Result StopImageProcessorAsync(AppletResourceUserId arg0, IrCameraHandle arg1, ulong pid);
Result ActivateIrsensorWithFunctionLevel(AppletResourceUserId arg0, PackedFunctionLevel arg1, ulong pid);
}
}

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x10)] [StructLayout(LayoutKind.Sequential, Size = 0x10)]
struct ImageTransferProcessorState struct ImageTransferProcessorState

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x4)] [StructLayout(LayoutKind.Sequential, Size = 0x4)]
struct IrCameraHandle struct IrCameraHandle

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x28)] [StructLayout(LayoutKind.Sequential, Size = 0x28)]
struct PackedClusteringProcessorConfig struct PackedClusteringProcessorConfig
@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types
public ushort WindowOfInterestY; public ushort WindowOfInterestY;
public ushort WindowOfInterestWidth; public ushort WindowOfInterestWidth;
public ushort WindowOfInterestHeight; public ushort WindowOfInterestHeight;
public uint RequiredMcuVersion; public PackedMcuVersion RequiredMcuVersion;
public uint ObjectPixelCountMin; public uint ObjectPixelCountMin;
public uint ObjectPixelCountMax; public uint ObjectPixelCountMax;
public byte ObjectIntensityMin; public byte ObjectIntensityMin;

View file

@ -0,0 +1,10 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
[StructLayout(LayoutKind.Sequential, Size = 0x4)]
struct PackedFunctionLevel
{
public byte IrSensorFunctionLevel;
}
}

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x18)] [StructLayout(LayoutKind.Sequential, Size = 0x18)]
struct PackedImageTransferProcessorConfig struct PackedImageTransferProcessorConfig
@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types
public byte IsNegativeImageUsed; public byte IsNegativeImageUsed;
public byte Reserved1; public byte Reserved1;
public uint Reserved2; public uint Reserved2;
public uint RequiredMcuVersion; public PackedMcuVersion RequiredMcuVersion;
public byte Format; public byte Format;
public byte Reserved3; public byte Reserved3;
public ushort Reserved4; public ushort Reserved4;

View file

@ -0,0 +1,20 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
[StructLayout(LayoutKind.Sequential, Size = 0x20)]
struct PackedImageTransferProcessorExConfig
{
public long ExposureTime;
public byte LightTarget;
public byte Gain;
public byte IsNegativeImageUsed;
public byte Reserved1;
public PackedMcuVersion RequiredMcuVersion;
public byte OrigFormat;
public byte TrimmingFormat;
public ushort TrimmingStartX;
public ushort TrimmingStartY;
public byte IsExternalLightFilterEnabled;
}
}

View file

@ -0,0 +1,11 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
[StructLayout(LayoutKind.Sequential, Size = 0x8)]
struct PackedIrLedProcessorConfig
{
public PackedMcuVersion RequiredMcuVersion;
public byte LightTarget;
}
}

View file

@ -0,0 +1,11 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
[StructLayout(LayoutKind.Sequential, Size = 0x4)]
public struct PackedMcuVersion
{
public short MajorVersion;
public short MinorVersion;
}
}

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x20)] [StructLayout(LayoutKind.Sequential, Size = 0x20)]
struct PackedMomentProcessorConfig struct PackedMomentProcessorConfig
@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types
public ushort WindowOfInterestY; public ushort WindowOfInterestY;
public ushort WindowOfInterestWidth; public ushort WindowOfInterestWidth;
public ushort WindowOfInterestHeight; public ushort WindowOfInterestHeight;
public uint RequiredMcuVersion; public PackedMcuVersion RequiredMcuVersion;
public byte Preprocess; public byte Preprocess;
public byte PreprocessIntensityThreshold; public byte PreprocessIntensityThreshold;
public ushort Reserved3; public ushort Reserved3;

View file

@ -0,0 +1,14 @@
using System.Runtime.InteropServices;
namespace Ryujinx.Horizon.Sdk.Irsensor
{
[StructLayout(LayoutKind.Sequential, Size = 0x20)]
struct PackedPointingProcessorConfig
{
public ushort WindowOfInterestX;
public ushort WindowOfInterestY;
public ushort WindowOfInterestWidth;
public ushort WindowOfInterestHeight;
public PackedMcuVersion RequiredMcuVersion;
}
}

View file

@ -1,11 +1,11 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Services.Hid.Irs.Types namespace Ryujinx.Horizon.Sdk.Irsensor
{ {
[StructLayout(LayoutKind.Sequential, Size = 0x8)] [StructLayout(LayoutKind.Sequential, Size = 0x8)]
struct PackedTeraPluginProcessorConfig struct PackedTeraPluginProcessorConfig
{ {
public uint RequiredMcuVersion; public PackedMcuVersion RequiredMcuVersion;
public byte Mode; public byte Mode;
public byte Unknown1; public byte Unknown1;
public byte Unknown2; public byte Unknown2;

Some files were not shown because too many files have changed in this diff Show more