HID services: Difference between revisions
Line 677: | Line 677: | ||
This TransferMemory is used as input/output by the other Hdls commands. | This TransferMemory is used as input/output by the other Hdls commands. | ||
Hdls is for virtual HID controllers. | |||
== ReleaseHdlsWorkBuffer == | == ReleaseHdlsWorkBuffer == | ||
Line 684: | Line 686: | ||
No input/output. | No input/output. | ||
After using this cmd, the output | After using this cmd, the output [[#HdlsNpadAssignment]] is located at tmem+0. | ||
== DumpHdlsStates == | == DumpHdlsStates == | ||
No input/output. | No input/output. | ||
After using this cmd, the output | After using this cmd, the output [[#HdlsStateList]] struct is located at tmem+0. | ||
== ApplyHdlsNpadAssignmentState == | == ApplyHdlsNpadAssignmentState == | ||
Takes an input u8 bool, no output. | Takes an input u8 bool, no output. | ||
Prior to using this cmd, the input | Prior to using this cmd, the input [[#HdlsNpadAssignment]] is written to tmem+0 by the user-process. | ||
== ApplyHdlsStateList == | == ApplyHdlsStateList == | ||
No input/output. | No input/output. | ||
Prior to using this cmd, the input | Prior to using this cmd, the input [[#HdlsStateList]] is written to tmem+0 by the user-process. | ||
== AttachHdlsVirtualDevice == | == AttachHdlsVirtualDevice == | ||
Takes an | Takes an [[#HdlsDeviceInfo]], returns a 8-byte '''HdlsHandle'''. | ||
== DetachHdlsVirtualDevice == | == DetachHdlsVirtualDevice == | ||
Line 708: | Line 710: | ||
== SetHdlsState == | == SetHdlsState == | ||
Takes an input | Takes an input [[#HdlsState]] and an input 8-byte '''HdlsHandle''', no output. | ||
== HdlsNpadAssignment == | |||
This is a 0x208-byte struct. This seems to be an array, structure unknown. | |||
== HdlsStateList == | |||
This is a 0x408-byte struct. This seems to be an array, structure unknown. | |||
== HdlsDeviceInfo == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x4 || [[#NpadStyleTag]], only one bit can be set. | |||
|- | |||
| 0x4 || 0x4 || RGBA Single Body Color | |||
|- | |||
| 0x8 || 0x4 || RGBA Single Buttons Color | |||
|- | |||
| 0xC || 0x1 || Unknown | |||
|- | |||
| 0xD || 0x3 || Padding | |||
|} | |||
This is a 0x10-byte struct. | |||
== HdlsState == | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset || Size || Description | |||
|- | |||
| 0x0 || 0x8 || Unknown | |||
|- | |||
| 0x8 || 0x4 || Unknown. Written to [[HID_Shared_Memory#Controllers]] +0x419C. | |||
|- | |||
| 0xC || 0x4 || Buttons | |||
|- | |||
| 0x10 || 0x10(4*2*2) || Joystick data, see [[HID_Shared_Memory#Controller_State]]. | |||
|- | |||
| 0x20 || 0x4 || Unused | |||
|} | |||
This is a 0x24-byte struct. | |||
= hid:sys = | = hid:sys = |