HID services: Difference between revisions
Line 608: | Line 608: | ||
| 323 || [5.0.0+] UnsetAllAutoPilotVirtualPadState | | 323 || [5.0.0+] UnsetAllAutoPilotVirtualPadState | ||
|- | |- | ||
| 324 || [7.0.0+] AttachHdlsWorkBuffer | | 324 || [7.0.0+] [[#AttachHdlsWorkBuffer]] | ||
|- | |- | ||
| 325 || [7.0.0+] ReleaseHdlsWorkBuffer | | 325 || [7.0.0+] [[#ReleaseHdlsWorkBuffer]] | ||
|- | |- | ||
| 326 || [7.0.0+] DumpHdlsNpadAssignmentState | | 326 || [7.0.0+] [[#DumpHdlsNpadAssignmentState]] | ||
|- | |- | ||
| 327 || [7.0.0+] DumpHdlsStates | | 327 || [7.0.0+] [[#DumpHdlsStates]] | ||
|- | |- | ||
| 328 || [7.0.0+] ApplyHdlsNpadAssignmentState | | 328 || [7.0.0+] [[#ApplyHdlsNpadAssignmentState]] | ||
|- | |- | ||
| 329 || [7.0.0+] ApplyHdlsStateList | | 329 || [7.0.0+] [[#ApplyHdlsStateList]] | ||
|- | |- | ||
| 330 || [7.0.0+] AttachHdlsVirtualDevice | | 330 || [7.0.0+] [[#AttachHdlsVirtualDevice]] | ||
|- | |- | ||
| 331 || [7.0.0+] DetachHdlsVirtualDevice | | 331 || [7.0.0+] [[#DetachHdlsVirtualDevice]] | ||
|- | |- | ||
| 332 || [7.0.0+] SetHdlsState | | 332 || [7.0.0+] [[#SetHdlsState]] | ||
|- | |- | ||
| 350 || [5.0.0+] AddRegisteredDevice | | 350 || [5.0.0+] AddRegisteredDevice | ||
Line 650: | Line 650: | ||
Sends the spi-write subcommand to the specified controller, for writing to offset 0x6050 size 0xD. The first 3-bytes from each u32 is used for the spi-write-data, with the u8 being copied immediately afterwards the color data. | Sends the spi-write subcommand to the specified controller, for writing to offset 0x6050 size 0xD. The first 3-bytes from each u32 is used for the spi-write-data, with the u8 being copied immediately afterwards the color data. | ||
== AttachHdlsWorkBuffer == | |||
Takes an input TransferMemory handle and an u64 for the TransferMemory size, no output. | |||
Official user-processes use TransferMemory size=0x1000 and permissions=RW. | |||
This TransferMemory is used as input/output by the other Hdls commands. | |||
== ReleaseHdlsWorkBuffer == | |||
No input/output. | |||
== DumpHdlsNpadAssignmentState == | |||
No input/output. | |||
After using this cmd, the output 0x208-byte '''HdlsNpadAssignment''' struct is located at tmem+0. | |||
== DumpHdlsStates == | |||
No input/output. | |||
After using this cmd, the output 0x408-byte '''HdlsStateList''' struct is located at tmem+0. | |||
== ApplyHdlsNpadAssignmentState == | |||
Takes an input u8 bool, no output. | |||
Prior to using this cmd, the input 0x208-byte '''HdlsNpadAssignment''' struct is written to tmem+0 by the user-process. | |||
== ApplyHdlsStateList == | |||
No input/output. | |||
Prior to using this cmd, the input 0x408-byte '''HdlsStateList''' struct is written to tmem+0 by the user-process. | |||
== AttachHdlsVirtualDevice == | |||
Takes an 0x10-byte '''HdlsDeviceInfo''' struct, returns a 8-byte '''HdlsHandle'''. | |||
== DetachHdlsVirtualDevice == | |||
Takes an input 8-byte '''HdlsHandle''', no output. | |||
== SetHdlsState == | |||
Takes an input 0x24-byte '''HdlsState''' struct and an input 8-byte '''HdlsHandle''', no output. | |||
= hid:sys = | = hid:sys = |