Controller Applet: Difference between revisions
No edit summary |
|||
Line 48: | Line 48: | ||
== ControllerSupportArg == | == ControllerSupportArg == | ||
This is "nn::hid::ControllerSupportArg". This is a 0x21C-byte (0x9C-byte with version <=0x2, 0x430-byte with version 0x7) struct pushed for input storage. | This is "nn::hid::ControllerSupportArg". This is a 0x21C-byte (0x9C-byte with version <=0x2, 0x430-byte with version 0x7) struct pushed for input storage. | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 57: | Line 55: | ||
! Description | ! Description | ||
|- | |- | ||
| 0x0 || 0x1 || s8 playerCountMin (must be >=0 and <= | | 0x0 || 0x1 || s8 playerCountMin (must be >=0 and <=max_supported_players). Older versions assert when invalid, newer versions clamp the used value to a valid range. | ||
|- | |- | ||
| 0x1 || 0x1 || s8 playerCountMax (must be >=1 and <= | | 0x1 || 0x1 || s8 playerCountMax (must be >=1 and <=max_supported_players). Older versions assert when invalid, newer versions clamp the used value to a valid range. | ||
|- | |- | ||
| 0x2 || 0x1 || u8 enableTakeOverConnection. | | 0x2 || 0x1 || u8 enableTakeOverConnection. Disconnects the controllers when not enabled. | ||
|- | |- | ||
| 0x3 || 0x1 || u8 enableLeftJustify. | | 0x3 || 0x1 || u8 enableLeftJustify. | ||
Line 67: | Line 65: | ||
| 0x4 || 0x1 || u8 enablePermitJoyDual. | | 0x4 || 0x1 || u8 enablePermitJoyDual. | ||
|- | |- | ||
| 0x5 || 0x1 || u8 enableSingleMode. | | 0x5 || 0x1 || u8 enableSingleMode. Enables using a single player in handheld-mode, dual-mode, or single-mode (playerCount* are overridden). Using handheld-mode is not allowed if this is not enabled. | ||
|- | |- | ||
| 0x6 || 0x1 || u8 enableIdentificationColor. Enables using the array | | 0x6 || 0x1 || u8 enableIdentificationColor. Enables using the identificationColor array when non-zero. | ||
|- | |- | ||
| 0x7 || 4* | | 0x7 || 4*max_supported_players || u8 identificationColor[4]. Array of 4-byte entries for each player, see below for total entries (max controllers). This entry contains 4 u8s, for the RGBA8 color. This controls the color of the UI player box outline. | ||
|- | |- | ||
| 0x7 + 4* | | 0x7 + 4*max_supported_players || 0x1 || u8 enableExplainText. Enables using the ExplainText data when non-zero. | ||
|} | |} | ||
Line 89: | Line 87: | ||
! Description | ! Description | ||
|- | |- | ||
| 0x0 || 0x1 || u8 enableForceUpdate. | | 0x0 || 0x1 || u8 enableForceUpdate, non-zero to enable. Default is 0. Forces a firmware update when enabled, without an UI option to skip it. | ||
|- | |- | ||
| 0x1 || 0x3 || u8 padding[3]. | | 0x1 || 0x3 || u8 padding[3]. | ||
Line 115: | Line 113: | ||
ShowControllerSupportCore will assert if the mode is ShowControllerFirmwareUpdate, and ShowControllerFirmwareUpdateCore will assert if the mode is not ShowControllerFirmwareUpdate. | ShowControllerSupportCore will assert if the mode is ShowControllerFirmwareUpdate, and ShowControllerFirmwareUpdateCore will assert if the mode is not ShowControllerFirmwareUpdate. | ||
ShowControllerSupport seems to only display the applet UI when doing so is actually needed?(This doesn't apply to the ForSystem version) | |||
== ControllerSupportCaller == | == ControllerSupportCaller == | ||
Line 124: | Line 124: | ||
|- | |- | ||
| 0 || Application | | 0 || Application | ||
|- | |||
| 1 || Skips the firmware-update confirmation dialog. This has the same affect as using the controller-update option from qlaunch System Settings. | |||
|} | |} | ||
Line 139: | Line 141: | ||
| 0x1 || 0x3 || u8 padding[3]. | | 0x1 || 0x3 || u8 padding[3]. | ||
|- | |- | ||
| 0x4 || 0x4 || u32 selectedId. | | 0x4 || 0x4 || u32 selectedId, NpadId. | ||
|} | |} | ||