Difference between revisions of "HID Shared Memory"
Line 28: | Line 28: | ||
| 0x3C00 | | 0x3C00 | ||
| 0x1000 | | 0x1000 | ||
− | | [1.0.0-9.2.0] [[#BasicXpadSharedMemoryFormat|BasicXpad]] | + | | [[#DigitizerSharedMemoryFormat|Digitizer]] ([1.0.0-9.2.0] [[#BasicXpadSharedMemoryFormat|BasicXpad]]) |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x4C00 | | 0x4C00 | ||
Line 63: | Line 59: | ||
|- | |- | ||
| 0x3C200 | | 0x3C200 | ||
− | | | + | | 0x1C |
| [5.0.0+] [[#ConsoleSixAxisSensorSharedMemoryFormat|ConsoleSixAxisSensor]] | | [5.0.0+] [[#ConsoleSixAxisSensorSharedMemoryFormat|ConsoleSixAxisSensor]] | ||
|} | |} | ||
Line 941: | Line 937: | ||
|} | |} | ||
− | + | == UniquePadSharedMemoryEntry == | |
This is "nn::hid::detail::UniquePadSharedMemoryEntry". | This is "nn::hid::detail::UniquePadSharedMemoryEntry". | ||
Line 955: | Line 951: | ||
|} | |} | ||
− | + | === UniquePadLifo === | |
This is "nn::hid::detail::UniquePadLifo". This is a RingLifo object. | This is "nn::hid::detail::UniquePadLifo". This is a RingLifo object. | ||
Line 977: | Line 973: | ||
|- | |- | ||
| 0x1A0 | | 0x1A0 | ||
− | | | + | | 0x40 |
| UniquePadConfigMutex | | UniquePadConfigMutex | ||
|} | |} | ||
− | + | ==== UniquePadConfigLifo ==== | |
This is "nn::hid::detail::UniquePadConfigLifo". This is a RingLifo object. | This is "nn::hid::detail::UniquePadConfigLifo". This is a RingLifo object. | ||
Line 1,011: | Line 1,007: | ||
|} | |} | ||
− | + | ===== UniquePadConfigAtomicStorage ===== | |
This is "nn::hid::detail::UniquePadConfigAtomicStorage". | This is "nn::hid::detail::UniquePadConfigAtomicStorage". | ||
Line 1,067: | Line 1,063: | ||
|} | |} | ||
− | + | ==== AnalogStickCalibrationStateImplLifo ==== | |
This is "nn::hid::detail::AnalogStickCalibrationStateImplLifo". This is a RingLifo object. | This is "nn::hid::detail::AnalogStickCalibrationStateImplLifo". This is a RingLifo object. | ||
Line 1,094: | Line 1,090: | ||
| 0x20 | | 0x20 | ||
| 0x28 * 2 | | 0x28 * 2 | ||
− | | Array of [[# | + | | Array of [[#AnalogStickCalibrationStateImplAtomicStorage]] |
|} | |} | ||
− | + | ===== AnalogStickCalibrationStateImplAtomicStorage ===== | |
This is "nn::hid::detail::AnalogStickCalibrationStateImplAtomicStorage". | This is "nn::hid::detail::AnalogStickCalibrationStateImplAtomicStorage". | ||
Line 1,141: | Line 1,137: | ||
|} | |} | ||
− | + | ==== SixAxisSensorUserCalibrationStateLifo ==== | |
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateLifo". This is a RingLifo object. | This is "nn::hid::detail::SixAxisSensorUserCalibrationStateLifo". This is a RingLifo object. | ||
Line 1,171: | Line 1,167: | ||
|} | |} | ||
− | + | ===== SixAxisSensorUserCalibrationStateAtomicStorage ===== | |
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage". | This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage". | ||
Line 1,189: | Line 1,185: | ||
|} | |} | ||
− | ====== | + | ====== SixAxisSensorUserCalibrationState ====== |
This is "nn::hid::detail::UniquePadConfig". | This is "nn::hid::detail::UniquePadConfig". | ||
Line 1,199: | Line 1,195: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | 0x4 |
| [[#SixAxisSensorUserCalibrationFlagsSet|Flags]] | | [[#SixAxisSensorUserCalibrationFlagsSet|Flags]] | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | 0x4 | ||
+ | | Reserved | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 1,214: | Line 1,214: | ||
This is "nn::hid::detail::NpadSharedMemoryFormat". | This is "nn::hid::detail::NpadSharedMemoryFormat". | ||
− | + | {| class="wikitable" border="1" | |
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x5000 * 10 | ||
+ | | Array of [[#NpadSharedMemoryEntry]] | ||
+ | |} | ||
+ | Each entry describes an available controller: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! | + | ! Entry |
! Description | ! Description | ||
|- | |- | ||
Line 1,231: | Line 1,241: | ||
|} | |} | ||
− | == | + | == NpadSharedMemoryEntry == |
+ | This is "nn::hid::detail::NpadSharedMemoryEntry". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,239: | Line 1,251: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | 0x43F0 ([1.0.0-8.1.0] 0x4410) |
− | | [[# | + | | [[#NpadInternalState]] |
+ | |} | ||
+ | |||
+ | === NpadInternalState === | ||
+ | This is "nn::hid::detail::NpadInternalState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
|- | |- | ||
− | | | + | ! Offset |
− | | | + | ! Size |
− | | | + | ! Description |
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x4 | ||
+ | | [[HID_services#NpadStyleTag|StyleSet]] | ||
+ | |- | ||
+ | | 0x4 | ||
+ | | 0x4 | ||
+ | | [[HID_services#NpadJoyAssignmentMode|JoyAssignmentMode]] | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0xC | ||
+ | | [[#NpadFullKeyColorState|FullKeyColor]] | ||
+ | |- | ||
+ | | 0x14 | ||
+ | | 0x14 | ||
+ | | [[#NpadJoyColorState|JoyColor]] | ||
|- | |- | ||
− | | | + | | 0x28 |
− | | | + | | 0x350 |
− | | | + | | [[#NpadFullKeyLifo|FullKeyLifo]] |
|- | |- | ||
| 0x378 | | 0x378 | ||
− | | | + | | 0x350 |
− | | [[# | + | | [[#NpadHandheldLifo|HandheldLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x6C8 | | 0x6C8 | ||
− | | | + | | 0x350 |
− | | | + | | [[#NpadJoyDualLifo|JoyDualLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0xA18 | | 0xA18 | ||
− | | | + | | 0x350 |
− | | | + | | [[#NpadJoyLeftLifo|JoyLeftLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0xD68 | | 0xD68 | ||
− | | | + | | 0x350 |
− | | | + | | [[#NpadJoyRightLifo|JoyRightLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x10B8 | | 0x10B8 | ||
− | | | + | | 0x350 |
− | | | + | | [[#NpadPalmaLifo|PalmaLifo]] ([1.0.0-3.0.2] [[#NpadSystemLifo|SystemLifo]]) |
− | | | ||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x1408 | | 0x1408 | ||
− | | | + | | 0x350 |
− | | | + | | [[#NpadSystemExtLifo|SystemExtLifo]] ([4.0.0+] also used for NpadSystem) |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x1758 | | 0x1758 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|FullKeySixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x1E60 | | 0x1E60 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|HandheldSixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x2568 | | 0x2568 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|JoyDualLeftSixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x2C70 | | 0x2C70 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|JoyDualRightSixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x3378 | | 0x3378 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|JoyLeftSixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x3A80 | | 0x3A80 | ||
− | | | + | | 0x708 |
− | | | + | | [[#NpadSixAxisSensorLifo|JoyRightSixAxisSensorLifo]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x4188 | | 0x4188 | ||
Line 1,352: | Line 1,338: | ||
| 0x418C | | 0x418C | ||
| 0x4 | | 0x4 | ||
− | | | + | | Reserved |
|- | |- | ||
| 0x4190 | | 0x4190 | ||
| 0x8 | | 0x8 | ||
− | | [[#NpadSystemProperties]] | + | | [[#NpadSystemProperties|SystemProperties]] |
|- | |- | ||
| 0x4198 | | 0x4198 | ||
| 0x4 | | 0x4 | ||
− | | [[#NpadSystemButtonProperties]] | + | | [[#NpadSystemButtonProperties|SystemButtonProperties]] |
|- | |- | ||
| 0x419C | | 0x419C | ||
| 0x4 | | 0x4 | ||
− | | | + | | BatteryLevel0 |
|- | |- | ||
| 0x41A0 | | 0x41A0 | ||
| 0x4 | | 0x4 | ||
− | | | + | | BatteryLevel1 |
|- | |- | ||
| 0x41A4 | | 0x41A4 | ||
| 0x4 | | 0x4 | ||
− | | | + | | BatteryLevel2 |
|- | |- | ||
| 0x41A8 | | 0x41A8 | ||
− | | | + | | 0x60 |
− | | [1.0.0- | + | | [1.0.0-8.1.0] [[#NfcXcdDeviceHandleState|NfcXcdDeviceHandle]] (replaced by [[HID_services|GetXcdHandleForNpadWithNfc/IsNfcActivated]]) |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x41A8 | | 0x41A8 | ||
| 0x4 | | 0x4 | ||
− | | [9.0.0+] [[ | + | | [9.0.0+] [[#AppletFooterUiAttribute|AppletFooterUiAttributes]] |
|- | |- | ||
| 0x41AC | | 0x41AC | ||
| 0x1 | | 0x1 | ||
− | | [9.0.0+] [[ | + | | [9.0.0+] [[#AppletFooterUiType|AppletFooterUiType]] |
+ | |- | ||
+ | | 0x41AD | ||
+ | | 0x7B | ||
+ | | [9.0.0+] Reserved | ||
|- | |- | ||
| 0x4208 | | 0x4208 | ||
− | | | + | | 0x40 |
− | | Mutex | + | | [1.0.0-8.1.0] Mutex |
|- | |- | ||
− | | 0x4228 | + | | 0x4228 ([1.0.0-8.1.0] 0x4248) |
− | | | + | | 0x1B8 |
− | | | + | | [[#NpadGcTriggerLifo|GcTriggerLifo]] |
|- | |- | ||
− | | | + | | 0x43E0 ([1.0.0-8.1.0] 0x4400) |
− | | | + | | 0x4 |
− | | | + | | LarkTypeLAndMain |
|- | |- | ||
− | | | + | | 0x43E4 ([1.0.0-8.1.0] 0x4404) |
| 0x4 | | 0x4 | ||
− | | | + | | LarkTypeR |
|- | |- | ||
− | | | + | | 0x43E8 ([1.0.0-8.1.0] 0x4408) |
| 0x4 | | 0x4 | ||
− | | | + | | LuciaType |
|- | |- | ||
− | | | + | | 0x43EC ([1.0.0-8.1.0] 0x440C) |
| 0x4 | | 0x4 | ||
| | | | ||
|} | |} | ||
− | ==== | + | ==== NpadFullKeyLifo ==== |
+ | This is "nn::hid::detail::NpadFullKeyLifo". This is a RingLifo object. | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,423: | Line 1,411: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | 0x8 |
− | | | + | | RingLifoVptr |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | | + | | 0x8 |
− | | | + | | BufferCount |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x10 | | 0x10 | ||
− | | | + | | 0x8 |
− | | | + | | Tail |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x18 | | 0x18 | ||
− | | | + | | 0x8 |
− | | | + | | Count |
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| 0x20 | | 0x20 | ||
− | | | + | | 0x30 * 17 |
− | | | + | | Array of [[#NpadFullKeyStateAtomicStorage]] |
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ==== | + | ===== NpadFullKeyStateAtomicStorage ===== |
+ | This is "nn::hid::detail::NpadFullKeyStateAtomicStorage". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,472: | Line 1,442: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | | + | | 0x28 |
− | | | + | | [[#NpadFullKeyState]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ==== | + | ====== NpadFullKeyState ====== |
+ | This is "nn::hid::NpadFullKeyState". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,496: | Line 1,460: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#NpadButtonSet|Buttons]] |
|- | |- | ||
| 0x10 | | 0x10 | ||
| 0x8 | | 0x8 | ||
− | | [[# | + | | [[#AnalogStickState|AnalogStickL]] |
|- | |- | ||
| 0x18 | | 0x18 | ||
− | | | + | | 0x8 |
− | | | + | | [[#AnalogStickState|AnalogStickR]] |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| 0x20 | | 0x20 | ||
| 0x4 | | 0x4 | ||
− | | | + | | [[#NpadAttributesSet|Attributes]] |
|- | |- | ||
| 0x24 | | 0x24 | ||
| 0x4 | | 0x4 | ||
− | | | + | | Reserved |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ==== | + | ==== NpadHandheldLifo ==== |
− | This is | + | This is "nn::hid::detail::NpadHandheldLifo". This is a RingLifo object. |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! | + | ! Offset |
− | ! | + | ! Size |
+ | ! Description | ||
|- | |- | ||
− | | | + | | 0x0 |
− | | | + | | 0x8 |
+ | | RingLifoVptr | ||
|- | |- | ||
− | | | + | | 0x8 |
− | | | + | | 0x8 |
+ | | BufferCount | ||
|- | |- | ||
− | | | + | | 0x10 |
− | | | + | | 0x8 |
+ | | Tail | ||
|- | |- | ||
− | | | + | | 0x18 |
− | | | + | | 0x8 |
+ | | Count | ||
|- | |- | ||
− | | | + | | 0x20 |
− | + | | 0x30 * 17 | |
− | + | | Array of [[#NpadHandheldStateAtomicStorage]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | 17 | ||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ===== | + | ===== NpadHandheldStateAtomicStorage ===== |
+ | This is "nn::hid::detail::NpadHandheldStateAtomicStorage". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,642: | Line 1,524: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
− | | | + | | 0x28 |
− | | | + | | [[#NpadHandheldState]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ===== | + | ====== NpadHandheldState ====== |
+ | This is "nn::hid::NpadHandheldState". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,666: | Line 1,542: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#NpadButtonSet|Buttons]] |
|- | |- | ||
| 0x10 | | 0x10 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#AnalogStickState|AnalogStickL]] |
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickR]] | ||
|- | |- | ||
− | | | + | | 0x20 |
− | | 0x4 | + | | 0x4 |
− | | | + | | [[#NpadAttributesSet|Attributes]] |
|- | |- | ||
| 0x24 | | 0x24 | ||
− | | 0x4 | + | | 0x4 |
− | | | + | | Reserved |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | + | ==== NpadJoyDualLifo ==== | |
+ | This is "nn::hid::detail::NpadJoyDualLifo". This is a RingLifo object. | ||
− | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! | + | ! Offset |
+ | ! Size | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | 0x0 |
− | | | + | | 0x8 |
+ | | RingLifoVptr | ||
|- | |- | ||
− | | | + | | 0x8 |
− | | | + | | 0x8 |
+ | | BufferCount | ||
|- | |- | ||
− | | | + | | 0x10 |
− | | | + | | 0x8 |
+ | | Tail | ||
|- | |- | ||
− | | | + | | 0x18 |
− | | | + | | 0x8 |
+ | | Count | ||
|- | |- | ||
− | | | + | | 0x20 |
− | | | + | | 0x30 * 17 |
− | + | | Array of [[#NpadJoyDualStateAtomicStorage]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | [ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|} | |} | ||
− | ==== | + | ===== NpadJoyDualStateAtomicStorage ===== |
+ | This is "nn::hid::detail::NpadJoyDualStateAtomicStorage". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
− | ! | + | ! Offset |
+ | ! Size | ||
! Description | ! Description | ||
|- | |- | ||
− | | | + | | 0x0 |
− | | | + | | 0x8 |
− | |} | + | | SamplingNumber |
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x28 | ||
+ | | [[#NpadJoyDualState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadJoyDualState ====== | ||
+ | This is "nn::hid::NpadJoyDualState". | ||
− | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,770: | Line 1,624: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#NpadButtonSet|Buttons]] |
|- | |- | ||
| 0x10 | | 0x10 | ||
− | | | + | | 0x8 |
− | | | + | | [[#AnalogStickState|AnalogStickL]] |
|- | |- | ||
− | | | + | | 0x18 |
− | | | + | | 0x8 |
− | | | + | | [[#AnalogStickState|AnalogStickR]] |
|- | |- | ||
− | | | + | | 0x20 |
− | | | + | | 0x4 |
− | | | + | | [[#NpadAttributesSet|Attributes]] |
|- | |- | ||
− | | | + | | 0x24 |
− | | | + | | 0x4 |
− | | | + | | Reserved |
|} | |} | ||
− | ==== | + | ==== NpadJoyLeftLifo ==== |
+ | This is "nn::hid::detail::NpadJoyLeftLifo". This is a RingLifo object. | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,802: | Line 1,658: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | RingLifoVptr |
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | | + | | BufferCount |
|- | |- | ||
| 0x10 | | 0x10 | ||
− | | | + | | 0x8 |
− | | | + | | Tail |
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
|- | |- | ||
− | | | + | | 0x20 |
− | | | + | | 0x30 * 17 |
− | | | + | | Array of [[#NpadJoyLeftStateAtomicStorage]] |
|} | |} | ||
− | == | + | ===== NpadJoyLeftStateAtomicStorage ===== |
− | This is "nn::hid::detail:: | + | This is "nn::hid::detail::NpadJoyLeftStateAtomicStorage". |
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 1,827: | Line 1,687: | ||
|- | |- | ||
| 0x0 | | 0x0 | ||
− | | | + | | 0x8 |
− | | | + | | SamplingNumber |
|- | |- | ||
− | | | + | | 0x8 |
− | | | + | | 0x28 |
− | | | + | | [[#NpadJoyLeftState]] |
|} | |} | ||
− | === | + | ====== NpadJoyLeftState ====== |
+ | This is "nn::hid::NpadJoyLeftState". | ||
+ | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
Line 1,844: | Line 1,706: | ||
| 0x0 | | 0x0 | ||
| 0x8 | | 0x8 | ||
− | | | + | | SamplingNumber |
|- | |- | ||
| 0x8 | | 0x8 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#NpadButtonSet|Buttons]] |
|- | |- | ||
| 0x10 | | 0x10 | ||
| 0x8 | | 0x8 | ||
− | | | + | | [[#AnalogStickState|AnalogStickL]] |
|- | |- | ||
| 0x18 | | 0x18 | ||
− | | 0x8 | + | | 0x8 |
− | | | + | | [[#AnalogStickState|AnalogStickR]] |
− | |} | + | |- |
− | + | | 0x20 | |
− | === | + | | 0x4 |
− | {| class="wikitable" border="1" | + | | [[#NpadAttributesSet|Attributes]] |
− | |- | + | |- |
− | ! Offset | + | | 0x24 |
− | ! Size | + | | 0x4 |
− | ! Description | + | | Reserved |
− | |- | + | |} |
− | | 0x0 | + | |
− | | 0x8 | + | ==== NpadJoyRightLifo ==== |
− | | | + | This is "nn::hid::detail::NpadJoyRightLifo". This is a RingLifo object. |
− | |- | + | |
− | | 0x8 | + | {| class="wikitable" border="1" |
− | | 0x60 | + | |- |
− | | | + | ! Offset |
− | |} | + | ! Size |
− | + | ! Description | |
− | == ConsoleSixAxisSensorSharedMemoryFormat == | + | |- |
− | {| class="wikitable" border="1" | + | | 0x0 |
− | |- | + | | 0x8 |
− | ! Offset | + | | RingLifoVptr |
− | ! Size | + | |- |
− | ! Description | + | | 0x8 |
− | |- | + | | 0x8 |
− | | 0x0 | + | | BufferCount |
− | | 0x8 | + | |- |
− | | | + | | 0x10 |
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x30 * 17 | ||
+ | | Array of [[#NpadJoyRightStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NpadJoyRightStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NpadJoyRightStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x28 | ||
+ | | [[#NpadJoyRightState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadJoyRightState ====== | ||
+ | This is "nn::hid::NpadJoyRightState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | [[#NpadButtonSet|Buttons]] | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickL]] | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickR]] | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | [[#NpadAttributesSet|Attributes]] | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | Reserved | ||
+ | |} | ||
+ | |||
+ | ==== NpadPalmaLifo ==== | ||
+ | This is "nn::hid::detail::NpadPalmaLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x30 * 17 | ||
+ | | Array of [[#NpadPalmaStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NpadPalmaStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NpadPalmaStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x28 | ||
+ | | [[#NpadPalmaState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadPalmaState ====== | ||
+ | This is "nn::hid::NpadPalmaState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | [[#NpadButtonSet|Buttons]] | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickL]] | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickR]] | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | [[#NpadAttributesSet|Attributes]] | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | Reserved | ||
+ | |} | ||
+ | |||
+ | ==== NpadSystemLifo ==== | ||
+ | This is "nn::hid::detail::NpadSystemLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x30 * 17 | ||
+ | | Array of [[#NpadSystemStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NpadSystemStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NpadSystemStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x28 | ||
+ | | [[#NpadSystemState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadSystemState ====== | ||
+ | This is "nn::hid::system::NpadSystemState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | [[#NpadButtonSet|Buttons]] | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickL]] | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickR]] | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | [[#NpadAttributesSet|Attributes]] | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | Reserved | ||
+ | |} | ||
+ | |||
+ | ==== NpadSystemExtLifo ==== | ||
+ | This is "nn::hid::detail::NpadSystemExtLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x30 * 17 | ||
+ | | Array of [[#NpadSystemExtStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NpadSystemExtStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NpadSystemExtStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x28 | ||
+ | | [[#NpadSystemState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadSystemExtState ====== | ||
+ | This is "nn::hid::system::NpadSystemExtState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | [[#NpadButtonSet|Buttons]] | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickL]] | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | [[#AnalogStickState|AnalogStickR]] | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | [[#NpadAttributesSet|Attributes]] | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | Reserved | ||
+ | |} | ||
+ | |||
+ | ==== NpadSixAxisSensorLifo ==== | ||
+ | This is "nn::hid::detail::NpadSixAxisSensorLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x68 * 17 | ||
+ | | Array of [[#SixAxisSensorStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== SixAxisSensorStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::SixAxisSensorStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x60 | ||
+ | | [[#SixAxisSensorState]] | ||
+ | |} | ||
+ | |||
+ | ====== SixAxisSensorState ====== | ||
+ | This is "nn::hid::SixAxisSensorState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | DeltaTime | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x4 | ||
+ | | AccelerationX | ||
+ | |- | ||
+ | | 0x14 | ||
+ | | 0x4 | ||
+ | | AccelerationY | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x4 | ||
+ | | AccelerationZ | ||
+ | |- | ||
+ | | 0x1C | ||
+ | | 0x4 | ||
+ | | AngularVelocityX | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | AngularVelocityY | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | AngularVelocityZ | ||
+ | |- | ||
+ | | 0x28 | ||
+ | | 0x4 | ||
+ | | AngleX | ||
+ | |- | ||
+ | | 0x2C | ||
+ | | 0x4 | ||
+ | | AngleY | ||
+ | |- | ||
+ | | 0x30 | ||
+ | | 0x4 | ||
+ | | AngleZ | ||
+ | |- | ||
+ | | 0x34 | ||
+ | | 0x24 | ||
+ | | [[#DirectionState|Direction]] | ||
+ | |- | ||
+ | | 0x58 | ||
+ | | 0x4 | ||
+ | | [[#SixAxisSensorAttributeSet|Attributes]] | ||
+ | |- | ||
+ | | 0x5C | ||
+ | | 0x4 | ||
+ | | Reserved | ||
+ | |} | ||
+ | |||
+ | ==== NfcXcdDeviceHandleState ==== | ||
+ | This is "nn::hid::detail::NfcXcdDeviceHandleState". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x20 * 2 | ||
+ | | Array of [[#NfcXcdDeviceHandleStateImplAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NfcXcdDeviceHandleStateImplAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NfcXcdDeviceHandleStateImplAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x18 | ||
+ | | [[#NfcXcdDeviceHandleStateImpl]] | ||
+ | |} | ||
+ | |||
+ | ====== NfcXcdDeviceHandleStateImpl ====== | ||
+ | This is "nn::hid::detail::NfcXcdDeviceHandleStateImpl". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | Handle | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x1 | ||
+ | | IsAvailable | ||
+ | |- | ||
+ | | 0x9 | ||
+ | | 0x1 | ||
+ | | IsActivated | ||
+ | |- | ||
+ | | 0xA | ||
+ | | 0x6 | ||
+ | | Reserved | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |} | ||
+ | |||
+ | ==== NpadGcTriggerLifo ==== | ||
+ | This is "nn::hid::detail::NpadGcTriggerLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x18 * 17 | ||
+ | | Array of [[#NpadGcTriggerStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== NpadGcTriggerStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::NpadGcTriggerStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x10 | ||
+ | | [[#NpadGcTriggerState]] | ||
+ | |} | ||
+ | |||
+ | ====== NpadGcTriggerState ====== | ||
+ | This is "nn::hid::server::NpadGcTriggerState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | | ||
+ | |} | ||
+ | |||
+ | == GestureSharedMemoryFormat == | ||
+ | This is "nn::hid::detail::GestureSharedMemoryFormat". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x708 | ||
+ | | [[#GestureLifo]] | ||
+ | |} | ||
+ | |||
+ | === GestureLifo === | ||
+ | This is "nn::hid::detail::GestureLifo". This is a RingLifo object. | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | RingLifoVptr | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | BufferCount | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x8 | ||
+ | | Tail | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x8 | ||
+ | | Count | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x68 * 17 | ||
+ | | Array of [[#GestureDummyStateAtomicStorage]] | ||
+ | |} | ||
+ | |||
+ | ===== GestureDummyStateAtomicStorage ===== | ||
+ | This is "nn::hid::detail::GestureDummyStateAtomicStorage". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x60 | ||
+ | | [[#GestureDummyState]] | ||
+ | |} | ||
+ | |||
+ | ====== GestureDummyState ====== | ||
+ | This is "nn::hid::detail::GestureDummyState". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
+ | |- | ||
+ | | 0x8 | ||
+ | | 0x8 | ||
+ | | ContextNumber | ||
+ | |- | ||
+ | | 0x10 | ||
+ | | 0x4 | ||
+ | | Type | ||
+ | |- | ||
+ | | 0x14 | ||
+ | | 0x4 | ||
+ | | Direction | ||
+ | |- | ||
+ | | 0x18 | ||
+ | | 0x4 | ||
+ | | X | ||
+ | |- | ||
+ | | 0x1C | ||
+ | | 0x4 | ||
+ | | Y | ||
+ | |- | ||
+ | | 0x20 | ||
+ | | 0x4 | ||
+ | | DeltaX | ||
+ | |- | ||
+ | | 0x24 | ||
+ | | 0x4 | ||
+ | | DeltaY | ||
+ | |- | ||
+ | | 0x28 | ||
+ | | 0x4 | ||
+ | | VelocityX | ||
+ | |- | ||
+ | | 0x2C | ||
+ | | 0x4 | ||
+ | | VelocityY | ||
+ | |- | ||
+ | | 0x30 | ||
+ | | 0x4 | ||
+ | | [[#GestureAttributeSet|Attributes]] | ||
+ | |- | ||
+ | | 0x34 | ||
+ | | 0x4 | ||
+ | | Scale | ||
+ | |- | ||
+ | | 0x38 | ||
+ | | 0x4 | ||
+ | | RotationAngle | ||
+ | |- | ||
+ | | 0x3C | ||
+ | | 0x4 | ||
+ | | PointCount | ||
+ | |- | ||
+ | | 0x40 | ||
+ | | 0x8 * 4 | ||
+ | | [[#GesturePoint|Points]] | ||
+ | |} | ||
+ | |||
+ | == ConsoleSixAxisSensorSharedMemoryFormat == | ||
+ | This is "nn::hid::detail::ConsoleSixAxisSensorSharedMemoryFormat". | ||
+ | |||
+ | {| class="wikitable" border="1" | ||
+ | |- | ||
+ | ! Offset | ||
+ | ! Size | ||
+ | ! Description | ||
+ | |- | ||
+ | | 0x0 | ||
+ | | 0x8 | ||
+ | | SamplingNumber | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
Line 1,901: | Line 2,475: | ||
| 0xC | | 0xC | ||
| GyroBias | | GyroBias | ||
− | |||
− | |||
− | |||
− | |||
|} | |} |
Revision as of 18:37, 19 November 2020
HID shared memory is a 0x40000 byte read-only segment of memory shared between applications for input. The segment contains structures for most if not all input methods available to applications.
This is "nn::hid::detail::SharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x400 | DebugPad |
0x400 | 0x3000 | TouchScreen |
0x3400 | 0x400 | Mouse |
0x3800 | 0x400 | Keyboard |
0x3C00 | 0x1000 | Digitizer ([1.0.0-9.2.0] BasicXpad) |
0x4C00 | 0x200 | HomeButton |
0x4E00 | 0x200 | SleepButton |
0x5000 | 0x200 | CaptureButton |
0x5200 | 0x800 (0x80 * 0x10) | InputDetector |
0x5A00 | 0x4000 (0x400 * 0x10) | [1.0.0-4.1.0] UniquePad |
0x9A00 | 0x32000 (0x5000 * 0x0A) | Npad |
0x3BA00 | 0x800 | Gesture |
0x3C200 | 0x1C | [5.0.0+] ConsoleSixAxisSensor |
This is "nn::hid::detail::DebugPadSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x2C8 | #DebugPadLifo |
DebugPadLifo
This is "nn::hid::detail::DebugPadLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x28 * 17 | Array of #DebugPadStateAtomicStorage |
DebugPadStateAtomicStorage
This is "nn::hid::detail::DebugPadStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x20 | #DebugPadState |
DebugPadState
This is "nn::hid::DebugPadState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x4 | Attributes |
0xC | 0x4 | Buttons |
0x10 | 0x8 | AnalogStickR |
0x18 | 0x8 | AnalogStickL |
This is "nn::hid::detail::TouchScreenSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x2C38 | #TouchScreenLifo |
TouchScreenLifo
This is "nn::hid::detail::TouchScreenLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x298 * 17 | Array of #TouchScreenStateAtomicStorage |
TouchScreenStateAtomicStorage
This is "nn::hid::detail::TouchScreenStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x290 | #TouchScreenState |
TouchScreenState
This is "nn::hid::detail::TouchScreenState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x4 | Count |
0xC | 0x4 | Reserved |
0x10 | 0x28 * 16 | Touches |
TouchState
This is "nn::hid::TouchState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | DeltaTime |
0x8 | 0x4 | Attributes |
0xC | 0x4 | FingerId |
0x10 | 0x4 | X |
0x14 | 0x4 | Y |
0x18 | 0x4 | DiameterX |
0x1C | 0x4 | DiameterY |
0x20 | 0x4 | RotationAngle |
0x24 | 0x4 | Reserved |
This is "nn::hid::detail::MouseSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x350 | #MouseLifo |
MouseLifo
This is "nn::hid::detail::MouseLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #MouseStateAtomicStorage |
MouseStateAtomicStorage
This is "nn::hid::detail::MouseStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #MouseState |
MouseState
This is "nn::hid::detail::MouseState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x4 | X |
0xC | 0x4 | Y |
0x10 | 0x4 | DeltaX |
0x14 | 0x4 | DeltaY |
0x18 | 0x4 | WheelDeltaX |
0x1C | 0x4 | WheelDeltaY |
0x20 | 0x4 | Buttons |
0x24 | 0x4 | Attributes |
This is "nn::hid::detail::KeyboardSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x3D8 | #KeyboardLifo |
KeyboardLifo
This is "nn::hid::detail::KeyboardLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x38 * 17 | Array of #KeyboardStateAtomicStorage |
KeyboardStateAtomicStorage
This is "nn::hid::detail::KeyboardStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x30 | #KeyboardState |
KeyboardState
This is "nn::hid::detail::KeyboardState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Modifiers |
0x10 | 0x20 | Keys |
This is "nn::hid::detail::BasicXpadSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x400 * 4 | Array of #BasicXpadSharedMemoryEntry |
This is "nn::hid::detail::BasicXpadSharedMemoryEntry".
Offset | Size | Description |
---|---|---|
0x0 | 0x2C8 | #BasicXpadLifo |
BasicXpadLifo
This is "nn::hid::detail::BasicXpadLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x28 * 17 | Array of #BasicXpadStateAtomicStorage |
BasicXpadStateAtomicStorage
This is "nn::hid::detail::BasicXpadStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x20 | #BasicXpadState |
BasicXpadState
This is "nn::hid::detail::BasicXpadState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x4 | Attributes |
0xC | 0x4 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
This is "nn::hid::detail::HomeButtonSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x1B8 | #HomeButtonLifo |
HomeButtonLifo
This is "nn::hid::detail::HomeButtonLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x18 * 17 | Array of #HomeButtonStateAtomicStorage |
HomeButtonStateAtomicStorage
This is "nn::hid::detail::HomeButtonStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x10 | #HomeButtonState |
HomeButtonState
This is "nn::hid::system::HomeButtonState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
This is "nn::hid::detail::SleepButtonSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x1B8 | #SleepButtonLifo |
SleepButtonLifo
This is "nn::hid::detail::SleepButtonLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x18 * 17 | Array of #SleepButtonStateAtomicStorage |
SleepButtonStateAtomicStorage
This is "nn::hid::detail::SleepButtonStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x10 | #SleepButtonState |
SleepButtonState
This is "nn::hid::system::SleepButtonState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
This is "nn::hid::detail::CaptureButtonSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x1B8 | #CaptureButtonLifo |
CaptureButtonLifo
This is "nn::hid::detail::CaptureButtonLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x18 * 17 | Array of #CaptureButtonStateAtomicStorage |
CaptureButtonStateAtomicStorage
This is "nn::hid::detail::CaptureButtonStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x10 | #CaptureButtonState |
CaptureButtonState
This is "nn::hid::system::CaptureButtonState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
This is "nn::hid::detail::InputDetectorSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x80 * 16 | Array of #InputDetectorSharedMemoryEntry |
This is "nn::hid::detail::InputDetectorSharedMemoryEntry".
Offset | Size | Description |
---|---|---|
0x0 | 0x50 | #InputDetectorLifo |
InputDetectorLifo
This is "nn::hid::detail::InputDetectorLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x18 * 2 | Array of #InputDetectorStateAtomicStorage |
InputDetectorStateAtomicStorage
This is "nn::hid::detail::InputDetectorStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x10 | #InputDetectorState |
InputDetectorState
This is "nn::hid::detail::InputDetectorState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | InputSourceState |
0x8 | 0x8 | SamplingNumber |
This is "nn::hid::detail::UniquePadSharedMemoryFormat".
[5.0.0+] This section has been removed from #SharedMemoryFormat. #UniquePadSharedMemoryFormat is now a specialization of #NpadSharedMemoryFormat.
Offset | Size | Description |
---|---|---|
0x0 | 0x400 * 16 | Array of #UniquePadSharedMemoryEntry |
This is "nn::hid::detail::UniquePadSharedMemoryEntry".
Offset | Size | Description |
---|---|---|
0x0 | 0x1E0 | #UniquePadLifo |
UniquePadLifo
This is "nn::hid::detail::UniquePadLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x80 | #UniquePadConfigLifo |
0x80 | 0x70 * 2 | Array of #AnalogStickCalibrationStateImplLifo |
0x160 | 0x40 | #SixAxisSensorUserCalibrationStateLifo |
0x1A0 | 0x40 | UniquePadConfigMutex |
UniquePadConfigLifo
This is "nn::hid::detail::UniquePadConfigLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 2 | Array of #UniquePadConfigAtomicStorage |
UniquePadConfigAtomicStorage
This is "nn::hid::detail::UniquePadConfigAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #UniquePadConfig |
UniquePadConfig
This is "nn::hid::detail::UniquePadConfig".
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Type |
0x4 | 0x4 | Interface |
0x8 | 0x10 | SerialNumber |
0x18 | 0x4 | ControllerNumber |
0x1C | 0x1 | IsActive |
0x1D | 0x3 | Reserved |
0x20 | 0x8 | SamplingNumber |
AnalogStickCalibrationStateImplLifo
This is "nn::hid::detail::AnalogStickCalibrationStateImplLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x28 * 2 | Array of #AnalogStickCalibrationStateImplAtomicStorage |
AnalogStickCalibrationStateImplAtomicStorage
This is "nn::hid::detail::AnalogStickCalibrationStateImplAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x20 | #AnalogStickCalibrationStateImpl |
AnalogStickCalibrationStateImpl
This is "nn::hid::detail::AnalogStickCalibrationStateImpl".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | State |
0x8 | 0x8 | Flags |
0x10 | 0x8 | Stage |
0x18 | 0x8 | SamplingNumber |
SixAxisSensorUserCalibrationStateLifo
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x20 * 2 | Array of #SixAxisSensorUserCalibrationStateAtomicStorage |
SixAxisSensorUserCalibrationStateAtomicStorage
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x18 | #SixAxisSensorUserCalibrationState |
SixAxisSensorUserCalibrationState
This is "nn::hid::detail::UniquePadConfig".
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | Flags |
0x4 | 0x4 | Reserved |
0x8 | 0x8 | Stage |
0x10 | 0x8 | SamplingNumber |
This is "nn::hid::detail::NpadSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x5000 * 10 | Array of #NpadSharedMemoryEntry |
Each entry describes an available controller:
Entry | Description |
---|---|
0 to 7 | Players 1 to 8 |
8 | Handheld Mode |
9 | Other |
This is "nn::hid::detail::NpadSharedMemoryEntry".
Offset | Size | Description |
---|---|---|
0x0 | 0x43F0 ([1.0.0-8.1.0] 0x4410) | #NpadInternalState |
NpadInternalState
This is "nn::hid::detail::NpadInternalState".
Offset | Size | Description |
---|---|---|
0x0 | 0x4 | StyleSet |
0x4 | 0x4 | JoyAssignmentMode |
0x8 | 0xC | FullKeyColor |
0x14 | 0x14 | JoyColor |
0x28 | 0x350 | FullKeyLifo |
0x378 | 0x350 | HandheldLifo |
0x6C8 | 0x350 | JoyDualLifo |
0xA18 | 0x350 | JoyLeftLifo |
0xD68 | 0x350 | JoyRightLifo |
0x10B8 | 0x350 | PalmaLifo ([1.0.0-3.0.2] SystemLifo) |
0x1408 | 0x350 | SystemExtLifo ([4.0.0+] also used for NpadSystem) |
0x1758 | 0x708 | FullKeySixAxisSensorLifo |
0x1E60 | 0x708 | HandheldSixAxisSensorLifo |
0x2568 | 0x708 | JoyDualLeftSixAxisSensorLifo |
0x2C70 | 0x708 | JoyDualRightSixAxisSensorLifo |
0x3378 | 0x708 | JoyLeftSixAxisSensorLifo |
0x3A80 | 0x708 | JoyRightSixAxisSensorLifo |
0x4188 | 0x4 | DeviceType |
0x418C | 0x4 | Reserved |
0x4190 | 0x8 | SystemProperties |
0x4198 | 0x4 | SystemButtonProperties |
0x419C | 0x4 | BatteryLevel0 |
0x41A0 | 0x4 | BatteryLevel1 |
0x41A4 | 0x4 | BatteryLevel2 |
0x41A8 | 0x60 | [1.0.0-8.1.0] NfcXcdDeviceHandle (replaced by GetXcdHandleForNpadWithNfc/IsNfcActivated) |
0x41A8 | 0x4 | [9.0.0+] AppletFooterUiAttributes |
0x41AC | 0x1 | [9.0.0+] AppletFooterUiType |
0x41AD | 0x7B | [9.0.0+] Reserved |
0x4208 | 0x40 | [1.0.0-8.1.0] Mutex |
0x4228 ([1.0.0-8.1.0] 0x4248) | 0x1B8 | GcTriggerLifo |
0x43E0 ([1.0.0-8.1.0] 0x4400) | 0x4 | LarkTypeLAndMain |
0x43E4 ([1.0.0-8.1.0] 0x4404) | 0x4 | LarkTypeR |
0x43E8 ([1.0.0-8.1.0] 0x4408) | 0x4 | LuciaType |
0x43EC ([1.0.0-8.1.0] 0x440C) | 0x4 |
NpadFullKeyLifo
This is "nn::hid::detail::NpadFullKeyLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadFullKeyStateAtomicStorage |
NpadFullKeyStateAtomicStorage
This is "nn::hid::detail::NpadFullKeyStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadFullKeyState |
NpadFullKeyState
This is "nn::hid::NpadFullKeyState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadHandheldLifo
This is "nn::hid::detail::NpadHandheldLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadHandheldStateAtomicStorage |
NpadHandheldStateAtomicStorage
This is "nn::hid::detail::NpadHandheldStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadHandheldState |
NpadHandheldState
This is "nn::hid::NpadHandheldState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadJoyDualLifo
This is "nn::hid::detail::NpadJoyDualLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadJoyDualStateAtomicStorage |
NpadJoyDualStateAtomicStorage
This is "nn::hid::detail::NpadJoyDualStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadJoyDualState |
NpadJoyDualState
This is "nn::hid::NpadJoyDualState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadJoyLeftLifo
This is "nn::hid::detail::NpadJoyLeftLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadJoyLeftStateAtomicStorage |
NpadJoyLeftStateAtomicStorage
This is "nn::hid::detail::NpadJoyLeftStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadJoyLeftState |
NpadJoyLeftState
This is "nn::hid::NpadJoyLeftState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadJoyRightLifo
This is "nn::hid::detail::NpadJoyRightLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadJoyRightStateAtomicStorage |
NpadJoyRightStateAtomicStorage
This is "nn::hid::detail::NpadJoyRightStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadJoyRightState |
NpadJoyRightState
This is "nn::hid::NpadJoyRightState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadPalmaLifo
This is "nn::hid::detail::NpadPalmaLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadPalmaStateAtomicStorage |
NpadPalmaStateAtomicStorage
This is "nn::hid::detail::NpadPalmaStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadPalmaState |
NpadPalmaState
This is "nn::hid::NpadPalmaState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadSystemLifo
This is "nn::hid::detail::NpadSystemLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadSystemStateAtomicStorage |
NpadSystemStateAtomicStorage
This is "nn::hid::detail::NpadSystemStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadSystemState |
NpadSystemState
This is "nn::hid::system::NpadSystemState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadSystemExtLifo
This is "nn::hid::detail::NpadSystemExtLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x30 * 17 | Array of #NpadSystemExtStateAtomicStorage |
NpadSystemExtStateAtomicStorage
This is "nn::hid::detail::NpadSystemExtStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x28 | #NpadSystemState |
NpadSystemExtState
This is "nn::hid::system::NpadSystemExtState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | Buttons |
0x10 | 0x8 | AnalogStickL |
0x18 | 0x8 | AnalogStickR |
0x20 | 0x4 | Attributes |
0x24 | 0x4 | Reserved |
NpadSixAxisSensorLifo
This is "nn::hid::detail::NpadSixAxisSensorLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x68 * 17 | Array of #SixAxisSensorStateAtomicStorage |
SixAxisSensorStateAtomicStorage
This is "nn::hid::detail::SixAxisSensorStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x60 | #SixAxisSensorState |
SixAxisSensorState
This is "nn::hid::SixAxisSensorState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | DeltaTime |
0x8 | 0x8 | SamplingNumber |
0x10 | 0x4 | AccelerationX |
0x14 | 0x4 | AccelerationY |
0x18 | 0x4 | AccelerationZ |
0x1C | 0x4 | AngularVelocityX |
0x20 | 0x4 | AngularVelocityY |
0x24 | 0x4 | AngularVelocityZ |
0x28 | 0x4 | AngleX |
0x2C | 0x4 | AngleY |
0x30 | 0x4 | AngleZ |
0x34 | 0x24 | Direction |
0x58 | 0x4 | Attributes |
0x5C | 0x4 | Reserved |
NfcXcdDeviceHandleState
This is "nn::hid::detail::NfcXcdDeviceHandleState". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x20 * 2 | Array of #NfcXcdDeviceHandleStateImplAtomicStorage |
NfcXcdDeviceHandleStateImplAtomicStorage
This is "nn::hid::detail::NfcXcdDeviceHandleStateImplAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x18 | #NfcXcdDeviceHandleStateImpl |
NfcXcdDeviceHandleStateImpl
This is "nn::hid::detail::NfcXcdDeviceHandleStateImpl".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | Handle |
0x8 | 0x1 | IsAvailable |
0x9 | 0x1 | IsActivated |
0xA | 0x6 | Reserved |
0x10 | 0x8 | SamplingNumber |
NpadGcTriggerLifo
This is "nn::hid::detail::NpadGcTriggerLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x18 * 17 | Array of #NpadGcTriggerStateAtomicStorage |
NpadGcTriggerStateAtomicStorage
This is "nn::hid::detail::NpadGcTriggerStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x10 | #NpadGcTriggerState |
NpadGcTriggerState
This is "nn::hid::server::NpadGcTriggerState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 |
This is "nn::hid::detail::GestureSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x708 | #GestureLifo |
GestureLifo
This is "nn::hid::detail::GestureLifo". This is a RingLifo object.
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | RingLifoVptr |
0x8 | 0x8 | BufferCount |
0x10 | 0x8 | Tail |
0x18 | 0x8 | Count |
0x20 | 0x68 * 17 | Array of #GestureDummyStateAtomicStorage |
GestureDummyStateAtomicStorage
This is "nn::hid::detail::GestureDummyStateAtomicStorage".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x60 | #GestureDummyState |
GestureDummyState
This is "nn::hid::detail::GestureDummyState".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x8 | ContextNumber |
0x10 | 0x4 | Type |
0x14 | 0x4 | Direction |
0x18 | 0x4 | X |
0x1C | 0x4 | Y |
0x20 | 0x4 | DeltaX |
0x24 | 0x4 | DeltaY |
0x28 | 0x4 | VelocityX |
0x2C | 0x4 | VelocityY |
0x30 | 0x4 | Attributes |
0x34 | 0x4 | Scale |
0x38 | 0x4 | RotationAngle |
0x3C | 0x4 | PointCount |
0x40 | 0x8 * 4 | Points |
This is "nn::hid::detail::ConsoleSixAxisSensorSharedMemoryFormat".
Offset | Size | Description |
---|---|---|
0x0 | 0x8 | SamplingNumber |
0x8 | 0x1 | IsSevenSixAxisSensorAtRest |
0x9 | 0x3 | Padding |
0xC | 0x4 | VerticalizationError |
0x10 | 0xC | GyroBias |