Ryujinx/src/Ryujinx.Horizon/Sdk/Hid/IHidServer.cs

151 lines
15 KiB
C#
Raw Normal View History

2024-03-13 15:32:02 +00:00
using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Applet;
using Ryujinx.Horizon.Sdk.Hid.SixAxis;
using Ryujinx.Horizon.Sdk.Hid.Vibration;
using Ryujinx.Horizon.Sdk.Sf;
using System;
namespace Ryujinx.Horizon.Sdk.Hid
{
interface IHidServer : IServiceObject
{
Result CreateAppletResource(out IAppletResource arg0, AppletResourceUserId appletResourceUserId, ulong pid);
Result ActivateDebugPad(AppletResourceUserId appletResourceUserId, ulong pid);
Result ActivateTouchScreen(AppletResourceUserId appletResourceUserId, ulong pid);
Result ActivateMouse(AppletResourceUserId appletResourceUserId, ulong pid);
Result ActivateKeyboard(AppletResourceUserId appletResourceUserId, ulong pid);
Result SendKeyboardLockKeyEvent(AppletResourceUserId appletResourceUserId, KeyboardLockKeyEvent keyboardLockKeyEvent, ulong pid);
Result AcquireXpadIdEventHandle(out int arg0, ulong arg1);
Result ReleaseXpadIdEventHandle(ulong arg0);
Result ActivateXpad(AppletResourceUserId appletResourceUserId, BasicXpadId arg1, ulong pid);
Result GetXpadIds(out long arg0, Span<BasicXpadId> arg1);
Result ActivateJoyXpad(JoyXpadId arg0);
Result GetJoyXpadLifoHandle(out int arg0, JoyXpadId arg1);
Result GetJoyXpadIds(out long arg0, Span<JoyXpadId> arg1);
Result ActivateSixAxisSensor(BasicXpadId arg0);
Result DeactivateSixAxisSensor(BasicXpadId arg0);
Result GetSixAxisSensorLifoHandle(out int arg0, BasicXpadId arg1);
Result ActivateJoySixAxisSensor(JoyXpadId arg0);
Result DeactivateJoySixAxisSensor(JoyXpadId arg0);
Result GetJoySixAxisSensorLifoHandle(out int arg0, JoyXpadId arg1);
Result StartSixAxisSensor(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result StopSixAxisSensor(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result IsSixAxisSensorFusionEnabled(out bool arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result EnableSixAxisSensorFusion(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, bool arg2, ulong pid);
Result SetSixAxisSensorFusionParameters(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, float arg2, float arg3, ulong pid);
Result GetSixAxisSensorFusionParameters(out float arg0, out float arg1, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ResetSixAxisSensorFusionParameters(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result SetAccelerometerParameters(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, float arg2, float arg3, ulong pid);
Result GetAccelerometerParameters(out float arg0, out float arg1, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ResetAccelerometerParameters(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result SetAccelerometerPlayMode(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, uint arg2, ulong pid);
Result GetAccelerometerPlayMode(out uint arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ResetAccelerometerPlayMode(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result SetGyroscopeZeroDriftMode(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, uint arg2, ulong pid);
Result GetGyroscopeZeroDriftMode(out uint arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ResetGyroscopeZeroDriftMode(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result IsSixAxisSensorAtRest(out bool arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result IsFirmwareUpdateAvailableForSixAxisSensor(out bool arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result EnableSixAxisSensorUnalteredPassthrough(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, bool arg2, ulong pid);
Result IsSixAxisSensorUnalteredPassthroughEnabled(out bool arg0, AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result StoreSixAxisSensorCalibrationParameter(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, in SixAxisSensorCalibrationParameter sixAxisSensorCalibrationParameter, ulong pid);
Result LoadSixAxisSensorCalibrationParameter(AppletResourceUserId appletResourceUserId, out SixAxisSensorCalibrationParameter sixAxisSensorCalibrationParameter, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result GetSixAxisSensorIcInformation(AppletResourceUserId appletResourceUserId, out SixAxisSensorIcInformation sixAxisSensorIcInformation, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ResetIsSixAxisSensorDeviceNewlyAssigned(AppletResourceUserId appletResourceUserId, SixAxisSensorHandle sixAxisSensorHandle, ulong pid);
Result ActivateGesture(AppletResourceUserId appletResourceUserId, int arg1, ulong pid);
Result SetSupportedNpadStyleSet(AppletResourceUserId appletResourceUserId, NpadStyleTag arg1, ulong pid);
Result GetSupportedNpadStyleSet(AppletResourceUserId appletResourceUserId, out NpadStyleTag arg1, ulong pid);
Result SetSupportedNpadIdType(AppletResourceUserId appletResourceUserId, ReadOnlySpan<uint> arg1, ulong pid);
Result ActivateNpad(AppletResourceUserId appletResourceUserId, ulong pid);
Result DeactivateNpad(AppletResourceUserId appletResourceUserId, ulong pid);
Result AcquireNpadStyleSetUpdateEventHandle(AppletResourceUserId appletResourceUserId, out int arg1, uint arg2, ulong arg3, ulong pid);
Result DisconnectNpad(AppletResourceUserId appletResourceUserId, uint arg1, ulong pid);
Result GetPlayerLedPattern(out ulong arg0, uint arg1);
Result ActivateNpadWithRevision(AppletResourceUserId appletResourceUserId, int arg1, ulong pid);
Result SetNpadJoyHoldType(AppletResourceUserId appletResourceUserId, long arg1, ulong pid);
Result GetNpadJoyHoldType(AppletResourceUserId appletResourceUserId, out long arg1, ulong pid);
Result SetNpadJoyAssignmentModeSingleByDefault(AppletResourceUserId appletResourceUserId, uint arg1, ulong pid);
Result SetNpadJoyAssignmentModeSingle(AppletResourceUserId appletResourceUserId, uint arg1, long arg2, ulong pid);
Result SetNpadJoyAssignmentModeDual(AppletResourceUserId appletResourceUserId, uint arg1, ulong pid);
Result MergeSingleJoyAsDualJoy(AppletResourceUserId appletResourceUserId, uint arg1, uint arg2, ulong pid);
Result StartLrAssignmentMode(AppletResourceUserId appletResourceUserId, ulong pid);
Result StopLrAssignmentMode(AppletResourceUserId appletResourceUserId, ulong pid);
Result SetNpadHandheldActivationMode(AppletResourceUserId appletResourceUserId, long arg1, ulong pid);
Result GetNpadHandheldActivationMode(AppletResourceUserId appletResourceUserId, out long arg1, ulong pid);
Result SwapNpadAssignment(AppletResourceUserId appletResourceUserId, uint arg1, uint arg2, ulong pid);
Result IsUnintendedHomeButtonInputProtectionEnabled(out bool arg0, AppletResourceUserId appletResourceUserId, uint arg2, ulong pid);
Result EnableUnintendedHomeButtonInputProtection(AppletResourceUserId appletResourceUserId, uint arg1, bool arg2, ulong pid);
Result SetNpadJoyAssignmentModeSingleWithDestination(out bool arg0, out uint arg1, AppletResourceUserId appletResourceUserId, uint arg3, long arg4, ulong pid);
Result SetNpadAnalogStickUseCenterClamp(AppletResourceUserId appletResourceUserId, bool arg1, ulong pid);
Result SetNpadCaptureButtonAssignment(AppletResourceUserId appletResourceUserId, NpadStyleTag arg1, NpadButton arg2, ulong pid);
Result ClearNpadCaptureButtonAssignment(AppletResourceUserId appletResourceUserId, ulong pid);
Result GetVibrationDeviceInfo(out VibrationDeviceInfoForIpc vibrationDeviceInfoForIpc, VibrationDeviceHandle vibrationDeviceHandle);
Result SendVibrationValue(AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, VibrationValue arg2, ulong pid);
Result GetActualVibrationValue(out VibrationValue arg0, AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, ulong pid);
Result CreateActiveVibrationDeviceList(out IActiveVibrationDeviceList arg0);
Result PermitVibration(bool arg0);
Result IsVibrationPermitted(out bool arg0);
Result SendVibrationValues(AppletResourceUserId appletResourceUserId, ReadOnlySpan<VibrationDeviceHandle> vibrationDeviceHandles, ReadOnlySpan<VibrationValue> vibrationValues);
Result SendVibrationGcErmCommand(AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, VibrationGcErmCommand vibrationGcErmCommand, ulong pid);
Result GetActualVibrationGcErmCommand(out VibrationGcErmCommand vibrationGcErmCommand, AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, ulong pid);
Result BeginPermitVibrationSession(AppletResourceUserId appletResourceUserId);
Result EndPermitVibrationSession();
Result IsVibrationDeviceMounted(out bool arg0, AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, ulong pid);
Result SendVibrationValueInBool(AppletResourceUserId appletResourceUserId, VibrationDeviceHandle vibrationDeviceHandle, bool arg2, ulong pid);
Result ActivateConsoleSixAxisSensor(AppletResourceUserId appletResourceUserId, ulong pid);
Result StartConsoleSixAxisSensor(AppletResourceUserId appletResourceUserId, ConsoleSixAxisSensorHandle consoleSixAxisSensorHandle, ulong pid);
Result StopConsoleSixAxisSensor(AppletResourceUserId appletResourceUserId, ConsoleSixAxisSensorHandle consoleSixAxisSensorHandle, ulong pid);
Result ActivateSevenSixAxisSensor(AppletResourceUserId appletResourceUserId, ulong pid);
Result StartSevenSixAxisSensor(AppletResourceUserId appletResourceUserId, ulong pid);
Result StopSevenSixAxisSensor(AppletResourceUserId appletResourceUserId, ulong pid);
Result InitializeSevenSixAxisSensor(AppletResourceUserId appletResourceUserId, int arg1, ulong arg2, int arg3, ulong arg4, ulong pid);
Result FinalizeSevenSixAxisSensor(AppletResourceUserId appletResourceUserId, ulong pid);
Result SetSevenSixAxisSensorFusionStrength(AppletResourceUserId appletResourceUserId, float arg1, ulong pid);
Result GetSevenSixAxisSensorFusionStrength(out float arg0, AppletResourceUserId appletResourceUserId, ulong pid);
Result ResetSevenSixAxisSensorTimestamp(AppletResourceUserId appletResourceUserId, ulong pid);
Result IsUsbFullKeyControllerEnabled(out bool arg0);
Result EnableUsbFullKeyController(bool arg0);
Result IsUsbFullKeyControllerConnected(out bool arg0, uint arg1);
Result HasBattery(out bool arg0, uint arg1);
Result HasLeftRightBattery(out bool arg0, out bool arg1, uint arg2);
Result GetNpadInterfaceType(out byte arg0, uint arg1);
Result GetNpadLeftRightInterfaceType(out byte arg0, out byte arg1, uint arg2);
Result GetNpadOfHighestBatteryLevel(out uint arg0, ReadOnlySpan<uint> arg1, AppletResourceUserId appletResourceUserId, ulong pid);
Result GetPalmaConnectionHandle(out PalmaConnectionHandle palmaConnectionHandle, uint arg1, AppletResourceUserId appletResourceUserId, ulong pid);
Result InitializePalma(PalmaConnectionHandle palmaConnectionHandle);
Result AcquirePalmaOperationCompleteEvent(out int arg0, PalmaConnectionHandle palmaConnectionHandle);
Result GetPalmaOperationInfo(out ulong arg0, Span<byte> arg1, PalmaConnectionHandle palmaConnectionHandle);
Result PlayPalmaActivity(PalmaConnectionHandle palmaConnectionHandle, ulong arg1);
Result SetPalmaFrModeType(PalmaConnectionHandle palmaConnectionHandle, ulong arg1);
Result ReadPalmaStep(PalmaConnectionHandle palmaConnectionHandle);
Result EnablePalmaStep(PalmaConnectionHandle palmaConnectionHandle, bool arg1);
Result ResetPalmaStep(PalmaConnectionHandle palmaConnectionHandle);
Result ReadPalmaApplicationSection(PalmaConnectionHandle palmaConnectionHandle, ulong arg1, ulong arg2);
Result WritePalmaApplicationSection(PalmaConnectionHandle palmaConnectionHandle, ulong arg1, ulong arg2, in PalmaApplicationSectionAccessBuffer palmaApplicationSectionAccessBuffer);
Result ReadPalmaUniqueCode(PalmaConnectionHandle palmaConnectionHandle);
Result SetPalmaUniqueCodeInvalid(PalmaConnectionHandle palmaConnectionHandle);
Result WritePalmaActivityEntry(PalmaConnectionHandle palmaConnectionHandle, ulong arg1, ulong arg2, ulong arg3, ulong arg4);
Result WritePalmaRgbLedPatternEntry(PalmaConnectionHandle palmaConnectionHandle, ulong arg1, ReadOnlySpan<byte> arg2);
Result WritePalmaWaveEntry(PalmaConnectionHandle palmaConnectionHandle, PalmaWaveSet palmaWaveSet, ulong arg2, int arg3, ulong arg4, ulong arg5);
Result SetPalmaDataBaseIdentificationVersion(PalmaConnectionHandle palmaConnectionHandle, int arg1);
Result GetPalmaDataBaseIdentificationVersion(PalmaConnectionHandle palmaConnectionHandle);
Result SuspendPalmaFeature(PalmaConnectionHandle palmaConnectionHandle, PalmaFeature palmaFeature);
Result GetPalmaOperationResult(PalmaConnectionHandle palmaConnectionHandle);
Result ReadPalmaPlayLog(PalmaConnectionHandle palmaConnectionHandle, ushort arg1);
Result ResetPalmaPlayLog(PalmaConnectionHandle palmaConnectionHandle, ushort arg1);
Result SetIsPalmaAllConnectable(AppletResourceUserId appletResourceUserId, bool arg1, ulong pid);
Result SetIsPalmaPairedConnectable(AppletResourceUserId appletResourceUserId, bool arg1, ulong pid);
Result PairPalma(PalmaConnectionHandle palmaConnectionHandle);
Result SetPalmaBoostMode(bool arg0);
Result CancelWritePalmaWaveEntry(PalmaConnectionHandle palmaConnectionHandle);
Result EnablePalmaBoostMode(AppletResourceUserId appletResourceUserId, bool arg1, ulong pid);
Result GetPalmaBluetoothAddress(out Address arg0, PalmaConnectionHandle palmaConnectionHandle);
Result SetDisallowedPalmaConnection(AppletResourceUserId appletResourceUserId, ReadOnlySpan<Address> arg1, ulong pid);
Result SetNpadCommunicationMode(AppletResourceUserId appletResourceUserId, long arg1, ulong pid);
Result GetNpadCommunicationMode(out long arg0);
Result SetTouchScreenConfiguration(AppletResourceUserId appletResourceUserId, TouchScreenConfigurationForNx arg1, ulong pid);
Result IsFirmwareUpdateNeededForNotification(out bool arg0, int arg1, AppletResourceUserId appletResourceUserId, ulong pid);
Result ActivateDigitizer(AppletResourceUserId appletResourceUserId, ulong pid);
}
}