Line 16: |
Line 16: |
| | 31 || [[#ActivateKeyboard]] | | | 31 || [[#ActivateKeyboard]] |
| |- | | |- |
− | | 32 || [6.0.0+] SendKeyboardLockKeyEvent | + | | 32 || [6.0.0+] [[#SendKeyboardLockKeyEvent]] |
| |- | | |- |
− | | 40 || AcquireXpadIdEventHandle | + | | 40 || [[#AcquireXpadIdEventHandle]] |
| |- | | |- |
− | | 41 || ReleaseXpadIdEventHandle | + | | 41 || [[#ReleaseXpadIdEventHandle]] |
| |- | | |- |
− | | 51 || ActivateXpad | + | | 51 || [[#ActivateXpad]] |
| |- | | |- |
− | | 55 || GetXpadIds | + | | 55 || [[#GetXpadIds]] |
| |- | | |- |
− | | 56 || ActivateJoyXpad | + | | 56 || [[#ActivateJoyXpad]] |
| |- | | |- |
− | | 58 || GetJoyXpadLifoHandle | + | | 58 || [[#GetJoyXpadLifoHandle]] |
| |- | | |- |
− | | 59 || GetJoyXpadIds | + | | 59 || [[#GetJoyXpadIds]] |
| |- | | |- |
− | | 60 || ActivateSixAxisSensor | + | | 60 || [[#ActivateSixAxisSensor]] |
| |- | | |- |
− | | 61 || DeactivateSixAxisSensor | + | | 61 || [[#DeactivateSixAxisSensor]] |
| |- | | |- |
− | | 62 || GetSixAxisSensorLifoHandle | + | | 62 || [[#GetSixAxisSensorLifoHandle]] |
| |- | | |- |
− | | 63 || ActivateJoySixAxisSensor | + | | 63 || [[#ActivateJoySixAxisSensor]] |
| |- | | |- |
− | | 64 || DeactivateJoySixAxisSensor | + | | 64 || [[#DeactivateJoySixAxisSensor]] |
| |- | | |- |
− | | 65 || GetJoySixAxisSensorLifoHandle | + | | 65 || [[#GetJoySixAxisSensorLifoHandle]] |
| |- | | |- |
| | 66 || [[#StartSixAxisSensor]] | | | 66 || [[#StartSixAxisSensor]] |
Line 258: |
Line 258: |
| | 529 || [8.0.0+] SetDisallowedPalmaConnection | | | 529 || [8.0.0+] SetDisallowedPalmaConnection |
| |- | | |- |
− | | 1000 || SetNpadCommunicationMode | + | | 1000 || [[#SetNpadCommunicationMode]] |
| |- | | |- |
− | | 1001 || GetNpadCommunicationMode | + | | 1001 || [[#GetNpadCommunicationMode]] |
| |- | | |- |
− | | 1002 || [9.0.0+] SetTouchScreenConfiguration | + | | 1002 || [9.0.0+] [[#SetTouchScreenConfiguration]] |
| |- | | |- |
− | | 1003 || [9.0.0+] IsFirmwareUpdateNeededForNotification | + | | 1003 || [9.0.0+] [[#IsFirmwareUpdateNeededForNotification]] |
| |- | | |- |
− | | 2000 || [10.0.0+] ActivateDigitizer | + | | 2000 || [10.0.0+] [[#ActivateDigitizer]] |
| |} | | |} |
| | | |
Line 283: |
Line 283: |
| == ActivateKeyboard == | | == ActivateKeyboard == |
| Takes a PID and an [[AM_services|AppletResourceUserId]], no output. | | Takes a PID and an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | == SendKeyboardLockKeyEvent == |
| + | Takes a PID, an u32 BitFlagSet [[#KeyboardLockKeyEvent]], and an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | This is identical to the hidsys cmd. |
| + | |
| + | == AcquireXpadIdEventHandle == |
| + | Takes an input u64, returns an output handle. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == ReleaseXpadIdEventHandle == |
| + | Takes an input u64, no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == ActivateXpad == |
| + | Takes a PID, an u32 "nn::hid::BasicXpadId", an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == GetXpadIds == |
| + | Takes a type-0xA output buffer containing an array of u32 "nn::hid::BasicXpadId", returns an output s64 total_out (which is exposed by sdknso as a s32). |
| + | |
| + | [10.0.0+] Now returns a hard-coded list of Ids. |
| + | |
| + | == ActivateJoyXpad == |
| + | Takes an input u32 "nn::hid::JoyXpadId", no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == GetJoyXpadLifoHandle == |
| + | Takes an input u32 "nn::hid::JoyXpadId", returns an output handle. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == GetJoyXpadIds == |
| + | Takes a type-0xA output buffer containing an array of u32 "nn::hid::BasicXpadId", returns an output s64. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == ActivateSixAxisSensor == |
| + | Takes an input u32 "nn::hid::JoyXpadId", no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == DeactivateSixAxisSensor == |
| + | Takes an input u32 "nn::hid::JoyXpadId", no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == GetSixAxisSensorLifoHandle == |
| + | Takes an input u32 "nn::hid::JoyXpadId", returns an output handle. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == ActivateJoySixAxisSensor == |
| + | Takes an input u32 "nn::hid::JoyXpadId", no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == DeactivateJoySixAxisSensor == |
| + | Takes an input u32 "nn::hid::JoyXpadId", no output. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| + | |
| + | == GetJoySixAxisSensorLifoHandle == |
| + | Takes an input u32 "nn::hid::JoyXpadId", returns an output handle. |
| + | |
| + | [10.0.0+] Stubbed, just returns 0. |
| | | |
| == StartSixAxisSensor == | | == StartSixAxisSensor == |
Line 380: |
Line 450: |
| | | |
| == DeactivateNpad == | | == DeactivateNpad == |
− | Takes a PID-descriptor and an [[AM_services|AppletResourceUserId]]. No output. | + | Takes a PID and an [[AM_services|AppletResourceUserId]]. No output. |
| | | |
| This just returns 0. | | This just returns 0. |
| + | |
| + | [10.0.0+] sdknso now uses the hiddbg [[#DeactivateNpad_2|cmd]] instead. |
| | | |
| == AcquireNpadStyleSetUpdateEventHandle == | | == AcquireNpadStyleSetUpdateEventHandle == |
Line 462: |
Line 534: |
| Takes a PID, a [[#NpadStyleSet]], an [[AM_services|AppletResourceUserId]], a [[#NpadButtonSet]], no output. | | Takes a PID, a [[#NpadStyleSet]], an [[AM_services|AppletResourceUserId]], a [[#NpadButtonSet]], no output. |
| | | |
− | Only 1 bit can be set in the [[#NpadStyleSet]].
| + | Exactly 1 bit must be set in the [[#NpadStyleSet]]. Multiple button bits can be set. |
| + | |
| + | This assigns the button(s) which trigger the CaptureButton. |
| | | |
| == ClearNpadCaptureButtonAssignment == | | == ClearNpadCaptureButtonAssignment == |
Line 605: |
Line 679: |
| Takes an input u32, returns an output bool. | | Takes an input u32, returns an output bool. |
| | | |
− | sdknso only exposes the hidsys version of this cmd. | + | sdknso exposes this under "nn::hid::system::". [10.0.0+] sdknso now only exposes the hidsys version of this cmd. |
| | | |
| == HasLeftRightBattery == | | == HasLeftRightBattery == |
| Takes an input u32, returns two output bools. | | Takes an input u32, returns two output bools. |
| | | |
− | sdknso only exposes the hidsys version of this cmd. | + | sdknso exposes this under "nn::hid::system::". [10.0.0+] sdknso now only exposes the hidsys version of this cmd. |
| | | |
| == GetNpadInterfaceType == | | == GetNpadInterfaceType == |
Line 617: |
Line 691: |
| The NpadInterfaceType must be 1-4, otherwise this will Abort. | | The NpadInterfaceType must be 1-4, otherwise this will Abort. |
| | | |
− | sdknso only exposes the hidsys version of this cmd. | + | sdknso exposes this under "nn::hid::system::". [10.0.0+] sdknso now only exposes the hidsys version of this cmd. |
| | | |
| == GetNpadLeftRightInterfaceType == | | == GetNpadLeftRightInterfaceType == |
| Takes an input u32 [[#NpadIdType]], returns two output u8s [[#NpadInterfaceType]]. | | Takes an input u32 [[#NpadIdType]], returns two output u8s [[#NpadInterfaceType]]. |
| | | |
− | sdknso only exposes the hidsys version of this cmd. | + | sdknso exposes this under "nn::hid::system::". [10.0.0+] sdknso now only exposes the hidsys version of this cmd. |
| | | |
| == GetNpadOfHighestBatteryLevel == | | == GetNpadOfHighestBatteryLevel == |
| Takes a PID, a type-0x9 input buffer containing an array of u32 [[#NpadIdType]], an u64 [[AM_services|AppletResourceUserId]], returns an output u32 [[#NpadIdType]]. | | Takes a PID, a type-0x9 input buffer containing an array of u32 [[#NpadIdType]], an u64 [[AM_services|AppletResourceUserId]], returns an output u32 [[#NpadIdType]]. |
| + | |
| + | [[#NpadIdType|Handheld]] is ignored. |
| + | |
| + | == SetNpadCommunicationMode == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], a s64 [[#NpadCommunicationMode]], no output. |
| + | |
| + | == GetNpadCommunicationMode == |
| + | No input, returns an output s64 [[#NpadCommunicationMode]]. |
| + | |
| + | sdknso uses a switch-statement to determine the value to write to the output [[#NpadCommunicationMode]], with the s64 (written value is the same as the s64). sdknso will Abort if the s64 is not 0-3. |
| + | |
| + | == SetTouchScreenConfiguration == |
| + | Takes a PID, a [[#TouchScreenConfigurationForNx]], an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | == IsFirmwareUpdateNeededForNotification == |
| + | Takes a PID, a s32, an [[AM_services|AppletResourceUserId]], returns an output bool. |
| + | |
| + | sdknso passes hard-coded value 1 for the s32. |
| + | |
| + | == ActivateDigitizer == |
| + | Takes a PID and an [[AM_services|AppletResourceUserId]], no output. |
| | | |
| == IAppletResource == | | == IAppletResource == |
Line 694: |
Line 789: |
| | 60 || [9.0.0+] ClearNpadSystemCommonPolicy | | | 60 || [9.0.0+] ClearNpadSystemCommonPolicy |
| |- | | |- |
− | | 61 || [10.0.0+] DeactivateNpad | + | | 61 || [10.0.0+] [[#DeactivateNpad_2|DeactivateNpad]] |
| |- | | |- |
| | 62 || [10.0.0+] ForceDisconnectNpad | | | 62 || [10.0.0+] ForceDisconnectNpad |
Line 890: |
Line 985: |
| | 2002 || [10.0.0+] UnsetDigitizerAutoPilotState | | | 2002 || [10.0.0+] UnsetDigitizerAutoPilotState |
| |} | | |} |
| + | |
| + | == DeactivateNpad == |
| + | Takes a PID and an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | This just returns 0. |
| | | |
| == StartFirmwareUpdate == | | == StartFirmwareUpdate == |
Line 1,046: |
Line 1,146: |
| ! Cmd || Name | | ! Cmd || Name |
| |- | | |- |
− | | 31 || SendKeyboardLockKeyEvent | + | | 31 || [[#SendKeyboardLockKeyEvent_2|SendKeyboardLockKeyEvent]] |
| |- | | |- |
| | 101 || AcquireHomeButtonEventHandle | | | 101 || AcquireHomeButtonEventHandle |
Line 1,110: |
Line 1,210: |
| | 315 || [9.0.0+] GetAppletDetailedUiType | | | 315 || [9.0.0+] GetAppletDetailedUiType |
| |- | | |- |
− | | 316 || [10.0.0+] GetNpadInterfaceType | + | | 316 || [10.0.0+] [[#GetNpadInterfaceType]] |
| |- | | |- |
− | | 317 || [10.0.0+] GetNpadLeftRightInterfaceType | + | | 317 || [10.0.0+] [[#GetNpadLeftRightInterfaceType]] |
| |- | | |- |
− | | 318 || [10.0.0+] HasBattery | + | | 318 || [10.0.0+] [[#HasBattery]] |
| |- | | |- |
− | | 319 || [10.0.0+] HasLeftRightBattery | + | | 319 || [10.0.0+] [[#HasLeftRightBattery]] |
| |- | | |- |
| | 321 || [3.0.0+] [[#GetUniquePadsFromNpad]] | | | 321 || [3.0.0+] [[#GetUniquePadsFromNpad]] |
Line 1,404: |
Line 1,504: |
| | 1283 || [10.0.0+] [[#GetHidButtonConfigRight]] | | | 1283 || [10.0.0+] [[#GetHidButtonConfigRight]] |
| |} | | |} |
| + | |
| + | == SendKeyboardLockKeyEvent == |
| + | Takes an u32 BitFlagSet [[#KeyboardLockKeyEvent]], no output. |
| | | |
| == GetMaskedSupportedNpadStyleSet == | | == GetMaskedSupportedNpadStyleSet == |
Line 5,193: |
Line 5,296: |
| | Reserved | | | Reserved |
| |} | | |} |
| + | |
| + | = TouchScreenConfigurationForNx = |
| + | This is "nn::hid::TouchScreenConfigurationForNx". This is a 0x10-byte struct with 1-byte alignment. |
| | | |
| = InputSourceState = | | = InputSourceState = |
Line 5,589: |
Line 5,695: |
| = KeyboardKeySet = | | = KeyboardKeySet = |
| This is "nn::hid::KeyboardKeySet". This is a BitFlagSet object for [[#KeyboardKey]]. | | This is "nn::hid::KeyboardKeySet". This is a BitFlagSet object for [[#KeyboardKey]]. |
| + | |
| + | = KeyboardLockKeyEvent = |
| + | This is "nn::hid::KeyboardLockKeyEvent" / "nn::hid::system::KeyboardLockKeyEvent". |
| | | |
| = BasicXpadButtonSet = | | = BasicXpadButtonSet = |
Line 5,983: |
Line 6,092: |
| |- | | |- |
| | 1 || Single | | | 1 || Single |
| + | |} |
| + | |
| + | = NpadCommunicationMode = |
| + | This is "nn::hid::NpadCommunicationMode". |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || |
| + | |- |
| + | | 1 || |
| + | |- |
| + | | 2 || |
| + | |- |
| + | | 3 || |
| |} | | |} |
| | | |