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 arg1); Result ActivateJoyXpad(JoyXpadId arg0); Result GetJoyXpadLifoHandle(out int arg0, JoyXpadId arg1); Result GetJoyXpadIds(out long arg0, Span 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 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 vibrationDeviceHandles, ReadOnlySpan 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 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 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 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
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); } }