HID services: Difference between revisions
No edit summary |
|||
Line 347: | Line 347: | ||
Takes a PID-descriptor, an u32, and an [[AM_services|AppletResourceUserId]]. No output. | Takes a PID-descriptor, an u32, and an [[AM_services|AppletResourceUserId]]. No output. | ||
This eventually calls the same func as [[#SetNpadJoyAssignmentModeSingle]], except with NpadJoyDeviceType=0. | This eventually calls the same func as [[#SetNpadJoyAssignmentModeSingle]], except with [[#NpadJoyDeviceType]]=0. | ||
== SetNpadJoyAssignmentModeSingle == | == SetNpadJoyAssignmentModeSingle == | ||
Takes a PID-descriptor, an u32, [[AM_services|AppletResourceUserId]], and s64 | Takes a PID-descriptor, an u32, [[AM_services|AppletResourceUserId]], and s64 [[#NpadJoyDeviceType]]. No output. | ||
== SetNpadJoyAssignmentModeDual == | == SetNpadJoyAssignmentModeDual == | ||
Line 359: | Line 359: | ||
== GetNpadHandheldActivationMode == | == GetNpadHandheldActivationMode == | ||
Takes a PID and an u64 [[AM_services|AppletResourceUserId]]. Returns an output | Takes a PID and an u64 [[AM_services|AppletResourceUserId]]. Returns an output [[#NpadHandheldActivationMode]]. Official user-processes Abort if the output u64 is not 0-2. | ||
== GetVibrationDeviceInfo == | == GetVibrationDeviceInfo == | ||
Line 500: | Line 500: | ||
Takes an input [[#VibrationDeviceHandle]]. No output. | Takes an input [[#VibrationDeviceHandle]]. No output. | ||
= | = hid:dbg = | ||
This is "nn::hid:: | This is "nn::hid::IHidDebugServer". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! | ! Cmd || Name | ||
|- | |- | ||
| | | 0 || DeactivateDebugPad | ||
|- | |- | ||
| | | 1 || SetDebugPadAutoPilotState | ||
|- | |- | ||
| | | 2 || UnsetDebugPadAutoPilotState | ||
|- | |- | ||
| 10 || DeactivateTouchScreen | |||
|- | |- | ||
| | | 11 || SetTouchScreenAutoPilotState | ||
|- | |- | ||
| | | 12 || UnsetTouchScreenAutoPilotState | ||
|- | |- | ||
| | | 13 || [9.0.0+] GetTouchScreenConfiguration | ||
|- | |- | ||
| | | 20 || DeactivateMouse | ||
|- | |- | ||
| 21 || SetMouseAutoPilotState | |||
|- | |- | ||
| | | 22 || UnsetMouseAutoPilotState | ||
|- | |- | ||
| | | 30 || DeactivateKeyboard | ||
|- | |- | ||
| | | 31 || SetKeyboardAutoPilotState | ||
|- | |- | ||
| | | 32 || UnsetKeyboardAutoPilotState | ||
|- | |- | ||
| 50 || DeactivateXpad | |||
| 50 || DeactivateXpad | |||
|- | |- | ||
| 51 || [1.0.0-9.2.0] SetXpadAutoPilotState | | 51 || [1.0.0-9.2.0] SetXpadAutoPilotState | ||
Line 5,689: | Line 5,626: | ||
|} | |} | ||
= | = NpadJoyDeviceType = | ||
This is "nn::hid:: | This is "nn::hid::NpadJoyDeviceType". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 5,696: | Line 5,633: | ||
! Description | ! Description | ||
|- | |- | ||
| 0 || | | 0 || Left | ||
|- | |- | ||
| 1 || | | 1 || Right | ||
|} | |} | ||
= | = NpadHandheldActivationMode = | ||
This is "nn::hid:: | This is "nn::hid::NpadHandheldActivationMode". | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 5,708: | Line 5,645: | ||
! Description | ! Description | ||
|- | |- | ||
| 0 || None | | 0 || Dual | ||
|- | |||
| 1 || Single | |||
|} | |||
= NpadJoyAssignmentMode = | |||
This is "nn::hid::NpadJoyAssignmentMode". | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 || Dual | |||
|- | |||
| 1 || Single | |||
|} | |||
= AppletFooterUiType = | |||
This is "nn::hid::system::AppletFooterUiType". | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 || None | |||
|- | |- | ||
| 1 || HandheldNone | | 1 || HandheldNone | ||
Line 6,057: | Line 6,018: | ||
= BatteryLevel = | = BatteryLevel = | ||
This is "nn::hid::system::NpadBatteryLevel". This is a 4 byte value. | This is "nn::hid::system::NpadBatteryLevel". This is a 4 byte value. | ||
= ConsoleSixAxisSensorHandle = | |||
This is "nn::hid::ConsoleSixAxisSensorHandle". This is a 4-byte struct with 4-byte alignment. | |||
sdknso GetConsoleSixAxisSensorHandle always returns a handle with value 0x13. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x4 || TypeValue | |||
|- | |||
| 0x0 || 0x1 || | |||
|- | |||
| 0x1 || 0x1 || | |||
|} | |||
= SixAxisSensorHandle = | |||
This is "nn::hid::SixAxisSensorHandle". This is a 4-byte struct with 4-byte alignment. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x4 || TypeValue | |||
|- | |||
| 0x0 || 0x1 || NpadStyleIndex | |||
|- | |||
| 0x1 || 0x1 || PlayerNumber / [[#NpadIdType]] | |||
|- | |||
| 0x2 || 0x1 || Idx | |||
|} | |||
= VibrationDeviceHandle = | |||
This is "nn::hid::VibrationDeviceHandle". This is a 4-byte struct with 4-byte alignment. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x4 || TypeValue | |||
|- | |||
| 0x0 || 0x1 || NpadStyleIndex | |||
|- | |||
| 0x1 || 0x1 || [[#NpadIdType|PlayerNumber]] | |||
|- | |||
| 0x2 || 0x1 || DeviceIdx | |||
|} | |||
= VibrationDeviceInfo = | |||
This is "nn::hid::VibrationDeviceInfo" / "nn::hid::VibrationDeviceInfoForIpc". This is a 0x8-byte struct. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x4 || [[#VibrationDeviceType|DeviceType]] | |||
|- | |||
| 0x4 || 0x4 || [[#VibrationDevicePosition|Position]] | |||
|} | |||
= VibrationDeviceType = | |||
This is "nn::hid::VibrationDeviceType". | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 || Unknown | |||
|- | |||
| 1 || LinearResonantActuator | |||
|} | |||
= VibrationDevicePosition = | |||
This is "nn::hid::VibrationDevicePosition". | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 || None | |||
|- | |||
| 1 || Left | |||
|- | |||
| 2 || Right | |||
|} | |||
= VibrationValue = | |||
This is "nn::hid::VibrationValue". This is a 0x10-byte struct, which contains 4 float values. | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 0x4 | |||
| AmplitudeLow | |||
|- | |||
| 0x4 | |||
| 0x4 | |||
| FrequencyLow | |||
|- | |||
| 0x8 | |||
| 0x4 | |||
| AmplitudeHigh | |||
|- | |||
| 0xC | |||
| 0x4 | |||
| FrequencyHigh | |||
|} | |||
= VibrationErmCommand = | |||
This is "nn::hid::VibrationErmCommand". | |||
{| class="wikitable" border="1" | |||
! Value | |||
! Description | |||
|- | |||
| 0 || Stop | |||
|- | |||
| 1 || Start | |||
|} | |||
= GyroscopeZeroDriftMode = | = GyroscopeZeroDriftMode = |