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 '''NpadJoyDeviceType'''. No output. | + | 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 u64. Official user-processes Abort if the output u64 is not 0-2. | + | 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. |
| | | |
− | == ConsoleSixAxisSensorHandle == | + | = hid:dbg = |
− | This is "nn::hid::ConsoleSixAxisSensorHandle". This is a 4-byte struct with 4-byte alignment. | + | This is "nn::hid::IHidDebugServer". |
− | | |
− | sdknso GetConsoleSixAxisSensorHandle always returns a handle with value 0x13.
| |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
| |- | | |- |
− | ! Offset || Size || Description | + | ! Cmd || Name |
| |- | | |- |
− | | 0x0 || 0x4 || TypeValue | + | | 0 || DeactivateDebugPad |
| |- | | |- |
− | | 0x0 || 0x1 || | + | | 1 || SetDebugPadAutoPilotState |
| |- | | |- |
− | | 0x1 || 0x1 || | + | | 2 || UnsetDebugPadAutoPilotState |
− | |}
| |
− | | |
− | == SixAxisSensorHandle ==
| |
− | This is "nn::hid::SixAxisSensorHandle". This is a 4-byte struct with 4-byte alignment.
| |
− | | |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 10 || DeactivateTouchScreen |
| |- | | |- |
− | | 0x0 || 0x4 || TypeValue | + | | 11 || SetTouchScreenAutoPilotState |
| |- | | |- |
− | | 0x0 || 0x1 || NpadStyleIndex | + | | 12 || UnsetTouchScreenAutoPilotState |
| |- | | |- |
− | | 0x1 || 0x1 || PlayerNumber / [[#NpadIdType]] | + | | 13 || [9.0.0+] GetTouchScreenConfiguration |
| |- | | |- |
− | | 0x2 || 0x1 || Idx | + | | 20 || DeactivateMouse |
− | |}
| |
− | | |
− | == VibrationDeviceHandle ==
| |
− | This is "nn::hid::VibrationDeviceHandle". This is a 4-byte struct with 4-byte alignment.
| |
− | | |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 21 || SetMouseAutoPilotState |
| |- | | |- |
− | | 0x0 || 0x4 || TypeValue | + | | 22 || UnsetMouseAutoPilotState |
| |- | | |- |
− | | 0x0 || 0x1 || NpadStyleIndex | + | | 30 || DeactivateKeyboard |
| |- | | |- |
− | | 0x1 || 0x1 || [[#NpadIdType|PlayerNumber]] | + | | 31 || SetKeyboardAutoPilotState |
| |- | | |- |
− | | 0x2 || 0x1 || DeviceIdx | + | | 32 || UnsetKeyboardAutoPilotState |
− | |}
| |
− | | |
− | == VibrationDeviceInfo ==
| |
− | This is "nn::hid::VibrationDeviceInfo" / "nn::hid::VibrationDeviceInfoForIpc". This is a 0x8-byte struct.
| |
− | | |
− | {| class="wikitable" border="1"
| |
| |- | | |- |
− | ! Offset || Size || Description
| + | | 50 || DeactivateXpad |
− | |-
| |
− | | 0x0 || 0x4 ||
| |
− | |-
| |
− | | 0x4 || 0x4 ||
| |
− | |}
| |
− | | |
− | == VibrationValue ==
| |
− | This is "nn::hid::VibrationValue". This is a 0x10-byte struct, which contains 4 float values.
| |
− | | |
− | = hid:dbg =
| |
− | This is "nn::hid::IHidDebugServer".
| |
− | | |
− | {| 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 | |
| |- | | |- |
| | 51 || [1.0.0-9.2.0] SetXpadAutoPilotState | | | 51 || [1.0.0-9.2.0] SetXpadAutoPilotState |
Line 5,689: |
Line 5,626: |
| |} | | |} |
| | | |
− | = NpadJoyAssignmentMode = | + | = NpadJoyDeviceType = |
− | This is "nn::hid::NpadJoyAssignmentMode". | + | This is "nn::hid::NpadJoyDeviceType". |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 5,696: |
Line 5,633: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || Dual | + | | 0 || Left |
| |- | | |- |
− | | 1 || Single | + | | 1 || Right |
| |} | | |} |
| | | |
− | = AppletFooterUiType = | + | = NpadHandheldActivationMode = |
− | This is "nn::hid::system::AppletFooterUiType". | + | 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 = |