HID services: Difference between revisions

(4 intermediate revisions by the same user not shown)
Line 753: Line 753:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || DeactivateDebugPad
| 0 || [[#DeactivateDebugPad]]
|-
|-
| 1 || SetDebugPadAutoPilotState
| 1 || [[#SetDebugPadAutoPilotState]]
|-
|-
| 2 || UnsetDebugPadAutoPilotState
| 2 || [[#UnsetDebugPadAutoPilotState]]
|-
|-
| 10 || DeactivateTouchScreen
| 10 || [[#DeactivateTouchScreen]]
|-
|-
| 11 || SetTouchScreenAutoPilotState
| 11 || [[#SetTouchScreenAutoPilotState]]
|-
|-
| 12 || UnsetTouchScreenAutoPilotState
| 12 || [[#UnsetTouchScreenAutoPilotState]]
|-
|-
| 13 || [9.0.0+] GetTouchScreenConfiguration
| 13 || [9.0.0+] GetTouchScreenConfiguration
|-
|-
| 20 || DeactivateMouse
| 20 || [[#DeactivateMouse]]
|-
|-
| 21 || SetMouseAutoPilotState
| 21 || [[#SetMouseAutoPilotState]]
|-
|-
| 22 || UnsetMouseAutoPilotState
| 22 || [[#UnsetMouseAutoPilotState]]
|-
|-
| 30 || DeactivateKeyboard
| 30 || [[#DeactivateKeyboard]]
|-
|-
| 31 || SetKeyboardAutoPilotState
| 31 || [[#SetKeyboardAutoPilotState]]
|-
|-
| 32 || UnsetKeyboardAutoPilotState
| 32 || [[#UnsetKeyboardAutoPilotState]]
|-
|-
| 50 || DeactivateXpad
| 50 || [[#DeactivateXpad]]
|-
|-
| 51 || [1.0.0-9.2.0] SetXpadAutoPilotState
| 51 || [1.0.0-9.2.0] SetXpadAutoPilotState
Line 985: Line 985:
| 2002 || [10.0.0+] UnsetDigitizerAutoPilotState
| 2002 || [10.0.0+] UnsetDigitizerAutoPilotState
|}
|}
== DeactivateDebugPad ==
No input/output.
== SetDebugPadAutoPilotState ==
Takes an input [[#DebugPadAutoPilotState]], no output.
== UnsetDebugPadAutoPilotState ==
No input/output.
== DeactivateTouchScreen ==
No input/output.
== SetTouchScreenAutoPilotState ==
Takes a type-0x5 input buffer containing an array of [[#TouchState]], no output.
The max entries for the array is 16.
== UnsetTouchScreenAutoPilotState ==
No input/output.
== DeactivateMouse ==
No input/output.
== SetMouseAutoPilotState ==
Takes an input [[#MouseAutoPilotState]], no output.
== UnsetMouseAutoPilotState ==
No input/output.
== DeactivateKeyboard ==
No input/output.
== SetKeyboardAutoPilotState ==
Takes an input [[#KeyboardAutoPilotState]], no output.
== UnsetKeyboardAutoPilotState ==
No input/output.
== DeactivateXpad ==
Takes an input "nn::hid::BasicXpadId", no output.


== DeactivateNpad ==
== DeactivateNpad ==
Line 1,338: Line 1,379:
| 832 || [9.0.0+] [[#PrepareHidsForNotificationWake]]
| 832 || [9.0.0+] [[#PrepareHidsForNotificationWake]]
|-
|-
| 850 || [3.0.0+] IsUsbFullKeyControllerEnabled
| 850 || [3.0.0+] [[#IsUsbFullKeyControllerEnabled]]
|-
|-
| 851 || [3.0.0+] EnableUsbFullKeyController
| 851 || [3.0.0+] [[#EnableUsbFullKeyController]]
|-
|-
| 852 || [3.0.0+] IsUsbConnected
| 852 || [3.0.0+] [[#IsUsbConnected]]
|-
|-
| 870 || [5.1.0+] IsHandheldButtonPressedOnConsoleMode
| 870 || [5.1.0+] IsHandheldButtonPressedOnConsoleMode
Line 1,404: Line 1,445:
| 1153 || [9.0.0+] GetTouchScreenDefaultConfiguration
| 1153 || [9.0.0+] GetTouchScreenDefaultConfiguration
|-
|-
| 1154 || [9.0.0+] IsFirmwareAvailableForNotification
| 1154 || [9.0.0+] [[#IsFirmwareAvailableForNotification]]
|-
|-
| 1155 || [9.0.0+] SetForceHandheldStyleVibration
| 1155 || [9.0.0+] SetForceHandheldStyleVibration
Line 1,546: Line 1,587:
== PrepareHidsForNotificationWake ==
== PrepareHidsForNotificationWake ==
Takes a type-0x9 input buffer containing an array of [[#UniquePadId]], no output.
Takes a type-0x9 input buffer containing an array of [[#UniquePadId]], no output.
== IsUsbConnected ==
Tales an input [[#UniquePadId]], returns an output bool.


== NotifyInputDetector ==
== NotifyInputDetector ==
Line 1,554: Line 1,598:
== GetHidbusSystemServiceObject ==
== GetHidbusSystemServiceObject ==
No input, returns an [[#IHidbusSystemServer]].
No input, returns an [[#IHidbusSystemServer]].
== IsFirmwareAvailableForNotification ==
Takes a PID, a s32, an [[#UniquePadId]], an [[AM_services|AppletResourceUserId]], returns an output bool.
sdknso uses hard-coded value 1 for the s32.


== CancelConnectionTrigger ==
== CancelConnectionTrigger ==
Line 6,763: Line 6,812:


The above "[[#DeviceType]] |=" notes only apply when type2 is 0x2.
The above "[[#DeviceType]] |=" notes only apply when type2 is 0x2.
= DebugPadAutoPilotState =
This is "nn::hid::debug::DebugPadAutoPilotState". This is a 0x18-byte struct with 4-byte alignment.
= MouseAutoPilotState =
This is "nn::hid::debug::MouseAutoPilotState". This is a 0x1C-byte struct with 4-byte alignment.
= KeyboardAutoPilotState =
This is "nn::hid::debug::KeyboardAutoPilotState". This is a 0x28-byte struct with 8-byte alignment.


= HdlsHandle =
= HdlsHandle =