HID services: Difference between revisions
| Line 457: | Line 457: | ||
==ActivateIrsensor==  | ==ActivateIrsensor==  | ||
Takes a PID-descriptor and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==DeactivateIrsensor==  | ==DeactivateIrsensor==  | ||
Takes a PID-descriptor and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==GetIrsensorSharedMemoryHandle==  | ==GetIrsensorSharedMemoryHandle==  | ||
| Line 468: | Line 468: | ||
==StopImageProcessor==  | ==StopImageProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==RunMomentProcessor==  | ==RunMomentProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], and a [[#PackedMomentProcessorConfig]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], and a [[#PackedMomentProcessorConfig]]. No output.  | ||
==RunClusteringProcessor==  | ==RunClusteringProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], and a [[#PackedClusteringProcessorConfig]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], and a [[#PackedClusteringProcessorConfig]]. No output.  | ||
==RunImageTransferProcessor==  | ==RunImageTransferProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], a [[#PackedImageTransferProcessorConfig]], an u64, and a handle.  | Takes a PID-descriptor, an [[#IrCameraHandle]], an [[AM_services|AppletResourceUserId]], a [[#PackedImageTransferProcessorConfig]], an u64, and a handle. No output.  | ||
==GetImageTransferProcessorState==  | ==GetImageTransferProcessorState==  | ||
Takes a PID-descriptor, a type-0x6 output buffer, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]]. Returns an [[#ImageTransferProcessorState]].  | Takes a PID-descriptor, a type-0x6 output buffer, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]]. Returns an [[#ImageTransferProcessorState]]. No output.  | ||
==RunTeraPluginProcessor==  | ==RunTeraPluginProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedTeraPluginProcessorConfig]], and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedTeraPluginProcessorConfig]] (immediately after the previous word), and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==GetNpadIrCameraHandle==  | ==GetNpadIrCameraHandle==  | ||
| Line 489: | Line 489: | ||
==RunDpdProcessor==  | ==RunDpdProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedDpdProcessorConfig]], and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedDpdProcessorConfig]] (immediately after the previous word), and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==SuspendImageProcessor==  | ==SuspendImageProcessor==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==CheckFirmwareVersion==  | ==CheckFirmwareVersion==  | ||
Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedMcuVersion]], and an [[AM_services|AppletResourceUserId]].  | Takes a PID-descriptor, an [[#IrCameraHandle]], a [[#PackedMcuVersion]], and an [[AM_services|AppletResourceUserId]]. No output.  | ||
==IrCameraHandle==  | ==IrCameraHandle==  | ||
Revision as of 06:22, 19 January 2018
See here for the HID shared-memory.
hid
This is "nn::hid::IHidServer".
| Cmd | Name | 
|---|---|
| 0 | #CreateAppletResource | 
| 1 | ActivateDebugPad | 
| 11 | ActivateTouchScreen | 
| 21 | ActivateMouse | 
| 31 | ActivateKeyboard | 
| 40 | AcquireXpadIdEventHandle | 
| 41 | ReleaseXpadIdEventHandle | 
| 51 | ActivateXpad | 
| 55 | GetXpadIds | 
| 56 | ActivateJoyXpad | 
| 58 | GetJoyXpadLifoHandle | 
| 59 | GetJoyXpadIds | 
| 60 | ActivateSixAxisSensor | 
| 61 | DeactivateSixAxisSensor | 
| 62 | GetSixAxisSensorLifoHandle | 
| 63 | ActivateJoySixAxisSensor | 
| 64 | DeactivateJoySixAxisSensor | 
| 65 | GetJoySixAxisSensorLifoHandle | 
| 66 | StartSixAxisSensor | 
| 67 | StopSixAxisSensor | 
| 68 | IsSixAxisSensorFusionEnabled | 
| 69 | EnableSixAxisSensorFusion | 
| 70 | SetSixAxisSensorFusionParameters | 
| 71 | GetSixAxisSensorFusionParameters | 
| 72 | ResetSixAxisSensorFusionParameters | 
| 73 | SetAccelerometerParameters | 
| 74 | GetAccelerometerParameters | 
| 75 | ResetAccelerometerParameters | 
| 76 | SetAccelerometerPlayMode | 
| 77 | GetAccelerometerPlayMode | 
| 78 | ResetAccelerometerPlayMode | 
| 79 | SetGyroscopeZeroDriftMode | 
| 80 | GetGyroscopeZeroDriftMode | 
| 81 | ResetGyroscopeZeroDriftMode | 
| 82 | IsSixAxisSensorAtRest | 
| 91 | ActivateGesture | 
| 100 | SetSupportedNpadStyleSet | 
| 101 | GetSupportedNpadStyleSet | 
| 102 | SetSupportedNpadIdType | 
| 103 | ActivateNpad | 
| 104 | DeactivateNpad | 
| 106 | AcquireNpadStyleSetUpdateEventHandle | 
| 107 | DisconnectNpad | 
| 108 | GetPlayerLedPattern | 
| 120 | SetNpadJoyHoldType | 
| 121 | GetNpadJoyHoldType | 
| 122 | SetNpadJoyAssignmentModeSingleByDefault | 
| 123 | SetNpadJoyAssignmentModeSingle | 
| 124 | SetNpadJoyAssignmentModeDual | 
| 125 | MergeSingleJoyAsDualJoy | 
| 126 | StartLrAssignmentMode | 
| 127 | StopLrAssignmentMode | 
| 128 | SetNpadHandheldActivationMode | 
| 129 | #GetNpadHandheldActivationMode | 
| 130 | SwapNpadAssignment | 
| 131 | IsUnintendedHomeButtonInputProtectionEnabled | 
| 132 | EnableUnintendedHomeButtonInputProtection | 
| 200 | GetVibrationDeviceInfo | 
| 201 | #SendVibrationValue | 
| 202 | #GetActualVibrationValue | 
| 203 | CreateActiveVibrationDeviceList | 
| 204 | PermitVibration | 
| 205 | IsVibrationPermitted | 
| 206 | SendVibrationValues | 
| 300 | ActivateConsoleSixAxisSensor | 
| 301 | StartConsoleSixAxisSensor | 
| 302 | StopConsoleSixAxisSensor | 
| 400 | IsUsbFullKeyControllerEnabled | 
| 401 | EnableUsbFullKeyController | 
| 402 | IsUsbFullKeyControllerConnected | 
| 1000 | SetNpadCommunicationMode | 
| 1001 | GetNpadCommunicationMode | 
CreateAppletResource
Takes a PID and an u64 AppletResourceUserId. Returns an #IAppletResource.
GetNpadHandheldActivationMode
Takes a PID and an u64 AppletResourceUserId. Returns an output u64. Official user-processes panic if the output u64 is not 0-2.
SendVibrationValue
Takes a PID-descriptor, an u32 VibrationDeviceHandle, 0x10-byte VibrationValue immediately after that, and an u64 AppletResourceUserId.
GetActualVibrationValue
Takes a PID-descriptor, an u32 VibrationDeviceHandle, and an u64 AppletResourceUserId. Returns the 0x10-byte VibrationValue.
IAppletResource
| Cmd | Name | 
|---|---|
| 0 | #GetSharedMemoryHandle | 
No input. Returned a sharedmem handle.
hid:dbg
This is "nn::hid::IHidDebugServer".
| Cmd | Name | 
|---|---|
| 0 | DeactivateDebugPad | 
| 1 | SetDebugPadAutoPilotState | 
| 2 | UnsetDebugPadAutoPilotState | 
| 10 | DeactivateTouchScreen | 
| 11 | SetTouchScreenAutoPilotState | 
| 12 | UnsetTouchScreenAutoPilotState | 
| 20 | DeactivateMouse | 
| 21 | SetMouseAutoPilotState | 
| 22 | UnsetMouseAutoPilotState | 
| 30 | DeactivateKeyboard | 
| 31 | SetKeyboardAutoPilotState | 
| 32 | UnsetKeyboardAutoPilotState | 
| 50 | DeactivateXpad | 
| 51 | SetXpadAutoPilotState | 
| 52 | UnsetXpadAutoPilotState | 
| 60 | DeactivateJoyXpad | 
| 91 | DeactivateGesture | 
| 110 | DeactivateHomeButton | 
| 111 | SetHomeButtonAutoPilotState | 
| 112 | UnsetHomeButtonAutoPilotState | 
| 120 | DeactivateSleepButton | 
| 121 | SetSleepButtonAutoPilotState | 
| 122 | UnsetSleepButtonAutoPilotState | 
| 123 | DeactivateInputDetector | 
| 130 | DeactivateCaptureButton | 
| 131 | SetCaptureButtonAutoPilotState | 
| 132 | UnsetCaptureButtonAutoPilotState | 
| 133 | SetShiftAccelerometerCalibrationValue | 
| 134 | GetShiftAccelerometerCalibrationValue | 
| 135 | SetShiftGyroscopeCalibrationValue | 
| 136 | GetShiftGyroscopeCalibrationValue | 
| 140 | DeactivateConsoleSixAxisSensor | 
| 201 | ActivateFirmwareUpdate | 
| 202 | DeactivateFirmwareUpdate | 
| 203 | StartFirmwareUpdate | 
| 204 | GetFirmwareUpdateStage | 
| 205 | GetFirmwareVersion | 
| 206 | GetDestinationFirmwareVersion | 
| 207 | DiscardFirmwareInfoCacheForRevert | 
| 208 | StartFirmwareUpdateForRevert | 
| 209 | GetAvailableFirmwareVersionForRevert | 
| 211 | UpdateControllerColor | 
hid:sys
This is "nn::hid::IHidSystemServer".
| Cmd | Name | 
|---|---|
| 31 | SendKeyboardLockKeyEvent | 
| 101 | AcquireHomeButtonEventHandle | 
| 111 | ActivateHomeButton | 
| 121 | AcquireSleepButtonEventHandle | 
| 131 | ActivateSleepButton | 
| 141 | AcquireCaptureButtonEventHandle | 
| 151 | ActivateCaptureButton | 
| 210 | AcquireNfcDeviceUpdateEventHandle | 
| 211 | GetNpadsWithNfc | 
| 212 | AcquireNfcActivateEventHandle | 
| 213 | ActivateNfc | 
| 230 | AcquireIrSensorEventHandle | 
| 231 | ActivateIrSensor | 
| 301 | ActivateNpadSystem | 
| 303 | ApplyNpadSystemCommonPolicy | 
| 304 | EnableAssigningSingleOnSlSrPress | 
| 305 | DisableAssigningSingleOnSlSrPress | 
| 306 | GetLastActiveNpad | 
| 307 | GetNpadSystemExtStyle | 
| 311 | SetNpadPlayerLedBlinkingDevice | 
| 321 | GetUniquePadsFromNpad | 
| 322 | GetIrSensorState | 
| 323 | GetXcdHandleForNpadWithIrSensor | 
| 500 | SetAppletResourceUserId | 
| 501 | RegisterAppletResourceUserId | 
| 502 | UnregisterAppletResourceUserId | 
| 503 | EnableAppletToGetInput | 
| 504 | SetAruidValidForVibration | 
| 505 | EnableAppletToGetSixAxisSensor | 
| 510 | #SetVibrationMasterVolume | 
| 511 | GetVibrationMasterVolume | 
| 512 | BeginPermitVibrationSession | 
| 513 | EndPermitVibrationSession | 
| 520 | EnableHandheldHids | 
| 521 | DisableHandheldHids | 
| 540 | AcquirePlayReportControllerUsageUpdateEvent | 
| 541 | GetPlayReportControllerUsages | 
| 542 | AcquirePlayReportRegisteredDeviceUpdateEvent | 
| 543 | GetRegisteredDevices | 
| 544 | AcquireConnectionTriggerTimeoutEvent | 
| 545 | SendConnectionTrigger | 
| 546 | AcquireDeviceRegisteredEventForControllerSupport | 
| 547 | GetAllowedBluetoothLinksCount | 
| 700 | ActivateUniquePad | 
| 702 | AcquireUniquePadConnectionEventHandle | 
| 703 | GetUniquePadIds | 
| 751 | AcquireJoyDetachOnBluetoothOffEventHandle | 
| 800 | ListSixAxisSensorHandles | 
| 801 | IsSixAxisSensorUserCalibrationSupported | 
| 802 | ResetSixAxisSensorCalibrationValues | 
| 803 | StartSixAxisSensorUserCalibration | 
| 804 | CancelSixAxisSensorUserCalibration | 
| 805 | GetUniquePadBluetoothAddress | 
| 806 | DisconnectUniquePad | 
| 821 | StartAnalogStickManualCalibration | 
| 822 | RetryCurrentAnalogStickManualCalibrationStage | 
| 823 | CancelAnalogStickManualCalibration | 
| 824 | ResetAnalogStickManualCalibration | 
| 850 | IsUsbFullKeyControllerEnabled | 
| 851 | EnableUsbFullKeyController | 
| 852 | IsUsbConnected | 
| 900 | ActivateInputDetector | 
| 901 | NotifyInputDetector | 
| 1000 | InitializeFirmwareUpdate | 
| 1001 | GetFirmwareVersion | 
| 1002 | GetAvailableFirmwareVersion | 
| 1003 | IsFirmwareUpdateAvailable | 
| 1004 | CheckFirmwareUpdateRequired | 
| 1005 | StartFirmwareUpdate | 
| 1006 | AbortFirmwareUpdate | 
| 1007 | GetFirmwareUpdateState | 
SetVibrationMasterVolume
Takes an input 32bit float.
irs
This is "nn::irsensor::IIrSensorServer".
| Cmd | Name | 
|---|---|
| 302 | #ActivateIrsensor | 
| 303 | #DeactivateIrsensor | 
| 304 | #GetIrsensorSharedMemoryHandle | 
| 305 | #StopImageProcessor | 
| 306 | #RunMomentProcessor | 
| 307 | #RunClusteringProcessor | 
| 308 | #RunImageTransferProcessor | 
| 309 | #GetImageTransferProcessorState | 
| 310 | #RunTeraPluginProcessor | 
| 311 | #GetNpadIrCameraHandle | 
| 312 | #RunDpdProcessor | 
| 313 | #SuspendImageProcessor | 
| 314 | [3.0.0+] #CheckFirmwareVersion | 
ActivateIrsensor
Takes a PID-descriptor and an AppletResourceUserId. No output.
DeactivateIrsensor
Takes a PID-descriptor and an AppletResourceUserId. No output.
Takes a PID-descriptor and an AppletResourceUserId. Returns a SharedMemory handle.
The SharedMemory is mapped with permissions=read-only and size=0x8000.
StopImageProcessor
Takes a PID-descriptor, an #IrCameraHandle, and an AppletResourceUserId. No output.
RunMomentProcessor
Takes a PID-descriptor, an #IrCameraHandle, an AppletResourceUserId, and a #PackedMomentProcessorConfig. No output.
RunClusteringProcessor
Takes a PID-descriptor, an #IrCameraHandle, an AppletResourceUserId, and a #PackedClusteringProcessorConfig. No output.
RunImageTransferProcessor
Takes a PID-descriptor, an #IrCameraHandle, an AppletResourceUserId, a #PackedImageTransferProcessorConfig, an u64, and a handle. No output.
GetImageTransferProcessorState
Takes a PID-descriptor, a type-0x6 output buffer, an #IrCameraHandle, and an AppletResourceUserId. Returns an #ImageTransferProcessorState. No output.
RunTeraPluginProcessor
Takes a PID-descriptor, an #IrCameraHandle, a #PackedTeraPluginProcessorConfig (immediately after the previous word), and an AppletResourceUserId. No output.
GetNpadIrCameraHandle
Takes an input u32. Returns an output #IrCameraHandle.
RunDpdProcessor
Takes a PID-descriptor, an #IrCameraHandle, a #PackedDpdProcessorConfig (immediately after the previous word), and an AppletResourceUserId. No output.
SuspendImageProcessor
Takes a PID-descriptor, an #IrCameraHandle, and an AppletResourceUserId. No output.
CheckFirmwareVersion
Takes a PID-descriptor, an #IrCameraHandle, a #PackedMcuVersion, and an AppletResourceUserId. No output.
IrCameraHandle
This is an u32.
PackedMomentProcessorConfig
This is a 0x20-byte struct.
PackedClusteringProcessorConfig
This is a 0x28-byte struct.
ImageTransferProcessorState
This is a 0x10-byte struct.
PackedTeraPluginProcessorConfig
This is an u64.
PackedDpdProcessorConfig
This is a 0x10-byte struct.
PackedMcuVersion
This is an u32.
RomFS
The hid-sysmodule RomFS only contains "/ftmFwUpdate/NTD_4CD_1801.fts256". It's unknown what hw this is for.
Firmware update
Starting with 3.0.0 HID-sysmodule now contains strings for data stored in title 0100000000000822.