Changes

Jump to navigation Jump to search
7,297 bytes added ,  18:37, 19 November 2020
no edit summary
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]])
|-
  −
| 0x3C00
  −
|
  −
| [10.0.0+] [[#DigitizerSharedMemoryFormat|Digitizer]]
   
|-
 
|-
 
| 0x4C00
 
| 0x4C00
Line 63: Line 59:  
|-
 
|-
 
| 0x3C200
 
| 0x3C200
| 0x20
+
| 0x1C
 
| [5.0.0+] [[#ConsoleSixAxisSensorSharedMemoryFormat|ConsoleSixAxisSensor]]
 
| [5.0.0+] [[#ConsoleSixAxisSensorSharedMemoryFormat|ConsoleSixAxisSensor]]
 
|}
 
|}
Line 941: Line 937:  
|}
 
|}
   −
=== UniquePadSharedMemoryEntry ===
+
== UniquePadSharedMemoryEntry ==
 
This is "nn::hid::detail::UniquePadSharedMemoryEntry".
 
This is "nn::hid::detail::UniquePadSharedMemoryEntry".
   Line 955: Line 951:  
|}
 
|}
   −
==== UniquePadLifo ====
+
=== 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
| 0x8
+
| 0x40
 
| UniquePadConfigMutex
 
| UniquePadConfigMutex
 
|}
 
|}
   −
===== UniquePadConfigLifo =====
+
==== 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 ======
+
===== UniquePadConfigAtomicStorage =====
 
This is "nn::hid::detail::UniquePadConfigAtomicStorage".
 
This is "nn::hid::detail::UniquePadConfigAtomicStorage".
   Line 1,067: Line 1,063:  
|}
 
|}
   −
===== AnalogStickCalibrationStateImplLifo =====
+
==== 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 [[#AnalogStickCalibrationStateImpl]]
+
| Array of [[#AnalogStickCalibrationStateImplAtomicStorage]]
 
|}
 
|}
   −
====== AnalogStickCalibrationStateImplAtomicStorage ======
+
===== AnalogStickCalibrationStateImplAtomicStorage =====
 
This is "nn::hid::detail::AnalogStickCalibrationStateImplAtomicStorage".
 
This is "nn::hid::detail::AnalogStickCalibrationStateImplAtomicStorage".
   Line 1,141: Line 1,137:  
|}
 
|}
   −
===== SixAxisSensorUserCalibrationStateLifo =====
+
==== 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 ======
+
===== SixAxisSensorUserCalibrationStateAtomicStorage =====
 
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage".
 
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage".
   Line 1,189: Line 1,185:  
|}
 
|}
   −
====== UniquePadConfig ======
+
====== SixAxisSensorUserCalibrationState ======
 
This is "nn::hid::detail::UniquePadConfig".
 
This is "nn::hid::detail::UniquePadConfig".
   Line 1,199: Line 1,195:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x8
+
| 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".
   −
This section contains a series of 10 0x5000 byte structures describing each available controller.
+
{| 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"
 
|-
 
|-
! Index
+
! Entry
 
! Description
 
! Description
 
|-
 
|-
Line 1,231: Line 1,241:  
|}
 
|}
   −
=== NpadState ===
+
== NpadSharedMemoryEntry ==
 +
This is "nn::hid::detail::NpadSharedMemoryEntry".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,239: Line 1,251:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x28
+
| 0x43F0 ([1.0.0-8.1.0] 0x4410)
| [[#NpadStateHeader]]
+
| [[#NpadInternalState]]
 +
|}
 +
 
 +
=== NpadInternalState ===
 +
This is "nn::hid::detail::NpadInternalState".
 +
 
 +
{| class="wikitable" border="1"
 
|-
 
|-
| 0x28
+
! Offset
| 0x20
+
! Size
| NpadFullKeyHeader
+
! Description
 +
|-
 +
| 0x0
 +
| 0x4
 +
| [[HID_services#NpadStyleTag|StyleSet]]
 +
|-
 +
| 0x4
 +
| 0x4
 +
| [[HID_services#NpadJoyAssignmentMode|JoyAssignmentMode]]
 +
|-
 +
| 0x8
 +
| 0xC
 +
| [[#NpadFullKeyColorState|FullKeyColor]]
 +
|-
 +
| 0x14
 +
| 0x14
 +
| [[#NpadJoyColorState|JoyColor]]
 
|-
 
|-
| 0x48
+
| 0x28
| 0x30 * 17
+
| 0x350
| Array of NpadFullKeyState
+
| [[#NpadFullKeyLifo|FullKeyLifo]]
 
|-
 
|-
 
| 0x378
 
| 0x378
| 0x20
+
| 0x350
| [[#NpadHandheldHeader]]
+
| [[#NpadHandheldLifo|HandheldLifo]]
|-
  −
| 0x398
  −
| 0x30 * 17
  −
| Array of [[#NpadHandheldState]]
   
|-
 
|-
 
| 0x6C8
 
| 0x6C8
| 0x20
+
| 0x350
| NpadJoyDualHeader
+
| [[#NpadJoyDualLifo|JoyDualLifo]]
|-
  −
| 0x6E8
  −
| 0x30 * 17
  −
| Array of NpadJoyDualState
   
|-
 
|-
 
| 0xA18
 
| 0xA18
| 0x20
+
| 0x350
| NpadJoyLeftHeader
+
| [[#NpadJoyLeftLifo|JoyLeftLifo]]
|-
  −
| 0xA38
  −
| 0x30 * 17
  −
| Array of NpadJoyLeftState
   
|-
 
|-
 
| 0xD68
 
| 0xD68
| 0x20
+
| 0x350
| NpadJoyRightHeader
+
| [[#NpadJoyRightLifo|JoyRightLifo]]
|-
  −
| 0xD88
  −
| 0x30 * 17
  −
| Array of NpadJoyRightState
   
|-
 
|-
 
| 0x10B8
 
| 0x10B8
| 0x20
+
| 0x350
| NpadPalmaHeader ([1.0.0-3.0.2] NpadSystemHeader)
+
| [[#NpadPalmaLifo|PalmaLifo]] ([1.0.0-3.0.2] [[#NpadSystemLifo|SystemLifo]])
|-
  −
| 0x12B8
  −
| 0x30 * 17
  −
| Array of NpadPalmaState ([1.0.0-3.0.2] NpadSystemState)
   
|-
 
|-
 
| 0x1408
 
| 0x1408
| 0x20
+
| 0x350
| NpadSystemExtHeader ([4.0.0+] also used by NpadSystem)
+
| [[#NpadSystemExtLifo|SystemExtLifo]] ([4.0.0+] also used for NpadSystem)
|-
  −
| 0x1428
  −
| 0x30 * 17
  −
| Array of NpadSystemExtState ([4.0.0+] also used by NpadSystem)
   
|-
 
|-
 
| 0x1758
 
| 0x1758
| 0x20
+
| 0x708
| NpadSixAxisSensorFullKeyHeader
+
| [[#NpadSixAxisSensorLifo|FullKeySixAxisSensorLifo]]
|-
  −
| 0x1778
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorFullKeyState
   
|-
 
|-
 
| 0x1E60
 
| 0x1E60
| 0x20
+
| 0x708
| NpadSixAxisSensorHandheldHeader
+
| [[#NpadSixAxisSensorLifo|HandheldSixAxisSensorLifo]]
|-
  −
| 0x1E80
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorHandheldState
   
|-
 
|-
 
| 0x2568
 
| 0x2568
| 0x20
+
| 0x708
| NpadSixAxisSensorJoyLeftDualHeader
+
| [[#NpadSixAxisSensorLifo|JoyDualLeftSixAxisSensorLifo]]
|-
  −
| 0x2588
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorJoyLeftDualState
   
|-
 
|-
 
| 0x2C70
 
| 0x2C70
| 0x20
+
| 0x708
| NpadSixAxisSensorJoyRightDualHeader
+
| [[#NpadSixAxisSensorLifo|JoyDualRightSixAxisSensorLifo]]
|-
  −
| 0x2C90
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorJoyRightDualState
   
|-
 
|-
 
| 0x3378
 
| 0x3378
| 0x20
+
| 0x708
| NpadSixAxisSensorJoyLeftHeader
+
| [[#NpadSixAxisSensorLifo|JoyLeftSixAxisSensorLifo]]
|-
  −
| 0x3398
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorJoyLeftState
   
|-
 
|-
 
| 0x3A80
 
| 0x3A80
| 0x20
+
| 0x708
| NpadSixAxisSensorJoyRightHeader
+
| [[#NpadSixAxisSensorLifo|JoyRightSixAxisSensorLifo]]
|-
  −
| 0x3AA0
  −
| 0x68 * 17
  −
| Array of NpadSixAxisSensorJoyRightState
   
|-
 
|-
 
| 0x4188
 
| 0x4188
Line 1,352: Line 1,338:  
| 0x418C
 
| 0x418C
 
| 0x4
 
| 0x4
| Padding
+
| Reserved
 
|-
 
|-
 
| 0x4190
 
| 0x4190
 
| 0x8
 
| 0x8
| [[#NpadSystemProperties]]
+
| [[#NpadSystemProperties|SystemProperties]]
 
|-
 
|-
 
| 0x4198
 
| 0x4198
 
| 0x4
 
| 0x4
| [[#NpadSystemButtonProperties]]
+
| [[#NpadSystemButtonProperties|SystemButtonProperties]]
 
|-
 
|-
 
| 0x419C
 
| 0x419C
 
| 0x4
 
| 0x4
| BatteryIndex0 state (must be 0-4)
+
| BatteryLevel0
 
|-
 
|-
 
| 0x41A0
 
| 0x41A0
 
| 0x4
 
| 0x4
| BatteryIndex1 state (must be 0-4)
+
| BatteryLevel1
 
|-
 
|-
 
| 0x41A4
 
| 0x41A4
 
| 0x4
 
| 0x4
| BatteryIndex2 state (must be 0-4)
+
| BatteryLevel2
 
|-
 
|-
 
| 0x41A8
 
| 0x41A8
| 0x20
+
| 0x60
| [1.0.0-3.0.2] NfcXcdDeviceHandleHeader (Replaced by [[HID_services|commands]] GetXcdHandleForNpadWithNfc/IsNfcActivated)
+
| [1.0.0-8.1.0] [[#NfcXcdDeviceHandleState|NfcXcdDeviceHandle]] (replaced by [[HID_services|GetXcdHandleForNpadWithNfc/IsNfcActivated]])
|-
  −
| 0x41C8
  −
| 0x20 * 2
  −
| [1.0.0-3.0.2] Array of [[#NfcXcdDeviceHandleState]] (See above)
   
|-
 
|-
 
| 0x41A8
 
| 0x41A8
 
| 0x4
 
| 0x4
| [9.0.0+] [[HID_services#AppletFooterUiAttribute|AppletFooterUiAttribute]]
+
| [9.0.0+] [[#AppletFooterUiAttribute|AppletFooterUiAttributes]]
 
|-
 
|-
 
| 0x41AC
 
| 0x41AC
 
| 0x1
 
| 0x1
| [9.0.0+] [[HID_services#AppletFooterUiType|AppletFooterUiType]]
+
| [9.0.0+] [[#AppletFooterUiType|AppletFooterUiType]]
 +
|-
 +
| 0x41AD
 +
| 0x7B
 +
| [9.0.0+] Reserved
 
|-
 
|-
 
| 0x4208
 
| 0x4208
| 0x8
+
| 0x40
| Mutex
+
| [1.0.0-8.1.0] Mutex
 
|-
 
|-
| 0x4228
+
| 0x4228 ([1.0.0-8.1.0] 0x4248)
| 0x20
+
| 0x1B8
| NpadGcTriggerHeader
+
| [[#NpadGcTriggerLifo|GcTriggerLifo]]
 
|-
 
|-
| 0x4248
+
| 0x43E0 ([1.0.0-8.1.0] 0x4400)
| 0x18 * 17
+
| 0x4
| Array of NpadGcTriggerState
+
| LarkTypeLAndMain
 
|-
 
|-
| 0x43E0
+
| 0x43E4 ([1.0.0-8.1.0] 0x4404)
 
| 0x4
 
| 0x4
|  
+
| LarkTypeR
 
|-
 
|-
| 0x43E4
+
| 0x43E8 ([1.0.0-8.1.0] 0x4408)
 
| 0x4
 
| 0x4
|  
+
| LuciaType
 
|-
 
|-
| 0x43E8
+
| 0x43EC ([1.0.0-8.1.0] 0x440C)
 
| 0x4
 
| 0x4
 
|  
 
|  
 
|}
 
|}
   −
==== NpadStateHeader ====
+
==== 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
| 0x4
+
| 0x8
| [[HID_services#NpadStyleTag|NpadStyleSet]]
+
| RingLifoVptr
|-
  −
| 0x4
  −
| 0x4
  −
| [[HID_services#NpadJoyAssignmentMode|NpadJoyAssignmentMode]]
   
|-
 
|-
 
| 0x8
 
| 0x8
| 0x4
+
| 0x8
| bit1 color set does not exist
+
| BufferCount
|-
  −
| 0xC
  −
| 0x4
  −
| RGBA Body Color (single Joy-Con or Pro Controller)
   
|-
 
|-
 
| 0x10
 
| 0x10
| 0x4
+
| 0x8
| RGBA Button Color (single Joy-Con or Pro Controller)
+
| Tail
|-
  −
| 0x14
  −
| 0x4
  −
| bit1 color set does not exist
   
|-
 
|-
 
| 0x18
 
| 0x18
| 0x4
+
| 0x8
| RGBA Body Color (right Joy-Con)
+
| Count
|-
  −
| 0x1C
  −
| 0x4
  −
| RGBA Button Color (right Joy-Con)
   
|-
 
|-
 
| 0x20
 
| 0x20
| 0x4
+
| 0x30 * 17
| RGBA Body Color (left Joy-Con)
+
| Array of [[#NpadFullKeyStateAtomicStorage]]
|-
  −
| 0x24
  −
| 0x4
  −
| RGBA Button Color (left Joy-Con)
   
|}
 
|}
   −
==== NpadHandheldHeader ====
+
===== 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
| Timestamp in ticks
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
| 0x8
+
| 0x28
| Number of entries (always 17)
+
| [[#NpadFullKeyState]]
|-
  −
| 0x10
  −
| 0x8
  −
| Latest Entry Index
  −
|-
  −
| 0x18
  −
| 0x8
  −
| Maximum Entry Index (always 16)
   
|}
 
|}
   −
==== NpadHandheldState ====
+
====== NpadFullKeyState ======
 +
This is "nn::hid::NpadFullKeyState".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,496: Line 1,460:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp in samples (global)
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Timestamp in samples
+
| [[#NpadButtonSet|Buttons]]
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| 0x8
 
| 0x8
| [[#NpadButton]]
+
| [[#AnalogStickState|AnalogStickL]]
 
|-
 
|-
 
| 0x18
 
| 0x18
| 0x4
+
| 0x8
| Left Joystick X
+
| [[#AnalogStickState|AnalogStickR]]
|-
  −
| 0x1C
  −
| 0x4
  −
| Left Joystick Y
   
|-
 
|-
 
| 0x20
 
| 0x20
 
| 0x4
 
| 0x4
| Right Joystick X
+
| [[#NpadAttributesSet|Attributes]]
 
|-
 
|-
 
| 0x24
 
| 0x24
 
| 0x4
 
| 0x4
| Right Joystick Y
+
| Reserved
|-
  −
| 0x28
  −
| 0x4
  −
| Controller State (bit0 connected, bit1 wired)
  −
|-
  −
| 0x2C
  −
| 0x4
  −
| Padding
   
|}
 
|}
   −
===== NpadButton =====
+
==== NpadHandheldLifo ====
This is the u64 bitmask for "nn::hid::NpadButton".
+
This is "nn::hid::detail::NpadHandheldLifo". This is a RingLifo object.
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Bit
+
! Offset
! Button
+
! Size
 +
! Description
 
|-
 
|-
| 0
+
| 0x0
| A
+
| 0x8
 +
| RingLifoVptr
 
|-
 
|-
| 1
+
| 0x8
| B
+
| 0x8
 +
| BufferCount
 
|-
 
|-
| 2
+
| 0x10
| X
+
| 0x8
 +
| Tail
 
|-
 
|-
| 3
+
| 0x18
| Y
+
| 0x8
 +
| Count
 
|-
 
|-
| 4
+
| 0x20
| Left Stick Pressed
+
| 0x30 * 17
|-
+
| Array of [[#NpadHandheldStateAtomicStorage]]
| 5
  −
| Right Stick Pressed
  −
|-
  −
| 6
  −
| L
  −
|-
  −
| 7
  −
| R
  −
|-
  −
| 8
  −
| ZL
  −
|-
  −
| 9
  −
| ZR
  −
|-
  −
| 10
  −
| Plus
  −
|-
  −
| 11
  −
| Minus
  −
|-
  −
| 12
  −
| Left
  −
|-
  −
| 13
  −
| Up
  −
|-
  −
| 14
  −
| Right
  −
|-
  −
| 15
  −
| Down
  −
|-
  −
| 16
  −
| Left Stick Left
  −
|-
  −
| 17
  −
| Left Stick Up
  −
|-
  −
| 18
  −
| Left Stick Right
  −
|-
  −
| 19
  −
| Left Stick Down
  −
|-
  −
| 20
  −
| Right Stick Left
  −
|-
  −
| 21
  −
| Right Stick Up
  −
|-
  −
| 22
  −
| Right Stick Right
  −
|-
  −
| 23
  −
| Right Stick Down
  −
|-
  −
| 24
  −
| LeftSL
  −
|-
  −
| 25
  −
| LeftSR
  −
|-
  −
| 26
  −
| RightSL
  −
|-
  −
| 27
  −
| RightSR
  −
|-
  −
| 28
  −
| Palma
  −
|-
  −
| 29
  −
|
  −
|-
  −
| 30
  −
| HandheldLeftB (Left B button on NES controllers in Handheld mode)
   
|}
 
|}
   −
===== NpadSixAxisSensorHandheldHeader =====
+
===== 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
| Timestamp in ticks
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
| 0x8
+
| 0x28
| Number of entries (always 17)
+
| [[#NpadHandheldState]]
|-
  −
| 0x10
  −
| 0x8
  −
| Latest Entry Index
  −
|-
  −
| 0x18
  −
| 0x8
  −
| Maximum Entry Index (up to 16)
   
|}
 
|}
   −
===== NpadSixAxisSensorHandheldState =====
+
====== NpadHandheldState ======
 +
This is "nn::hid::NpadHandheldState".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,666: Line 1,542:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp in samples (global)
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Unknown
+
| [[#NpadButtonSet|Buttons]]
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| 0x8
 
| 0x8
| Timestamp in samples
+
| [[#AnalogStickState|AnalogStickL]]
 +
|-
 +
| 0x18
 +
| 0x8
 +
| [[#AnalogStickState|AnalogStickR]]
 
|-
 
|-
| 0x1C
+
| 0x20
| 0x4 * 3
+
| 0x4
| Accelerometer data as 3 floats
+
| [[#NpadAttributesSet|Attributes]]
 
|-
 
|-
 
| 0x24
 
| 0x24
| 0x4 * 3
+
| 0x4
| Gyroscope data as 3 floats
+
| Reserved
|-
  −
| 0x30
  −
| 0x4 * 3
  −
| Unknown sensor data as 3 floats
  −
|-
  −
| 0x3C
  −
| 0x4 * 9
  −
| Orientation basis as 3x3 matrix of floats
  −
|-
  −
| 0x60
  −
| 0x8
  −
| Unknown, always 1
   
|}
 
|}
   −
Official sw copies the data from offset 0x8 size 0x60 to the final output state.
+
==== NpadJoyDualLifo ====
 +
This is "nn::hid::detail::NpadJoyDualLifo". This is a RingLifo object.
   −
==== NpadSystemProperties ====
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Bit
+
! Offset
 +
! Size
 
! Description
 
! Description
 
|-
 
|-
| 0
+
| 0x0
| PowerInfo0 isCharging
+
| 0x8
 +
| RingLifoVptr
 
|-
 
|-
| 1
+
| 0x8
| PowerInfo1 isCharging
+
| 0x8
 +
| BufferCount
 
|-
 
|-
| 2
+
| 0x10
| PowerInfo2 isCharging
+
| 0x8
 +
| Tail
 
|-
 
|-
| 3
+
| 0x18
| PowerInfo0 powerConnected
+
| 0x8
 +
| Count
 
|-
 
|-
| 4
+
| 0x20
| PowerInfo1 powerConnected
+
| 0x30 * 17
|-
+
| Array of [[#NpadJoyDualStateAtomicStorage]]
| 5
  −
| PowerInfo2 powerConnected
  −
|-
  −
| 6-8
  −
| Unused
  −
|-
  −
| 9
  −
| UnsupportedButtonPressed_NpadSystem
  −
|-
  −
| 10
  −
| UnsupportedButtonPressed_NpadSystemExt
  −
|-
  −
| 11
  −
| AbxyButtonOriented
  −
|-
  −
| 12
  −
| SlSrButtonOriented
  −
|-
  −
| 13
  −
| [4.0.0+] PlusButtonCapability
  −
|-
  −
| 14
  −
| [4.0.0+] MinusButtonCapability
  −
|-
  −
| 15
  −
| [8.0.0+] DirectionalButtonsSupported
  −
|-
  −
| 16-63
  −
| Unused
   
|}
 
|}
   −
==== NpadSystemButtonProperties ====
+
===== NpadJoyDualStateAtomicStorage =====
 +
This is "nn::hid::detail::NpadJoyDualStateAtomicStorage".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
! Bit
+
! Offset
 +
! Size
 
! Description
 
! Description
 
|-
 
|-
| 0
+
| 0x0
| UnintendedHomeButtonInputProtectionEnabled (if cleared)
+
| 0x8
|}
+
| SamplingNumber
 +
|-
 +
| 0x8
 +
| 0x28
 +
| [[#NpadJoyDualState]]
 +
|}
 +
 
 +
====== NpadJoyDualState ======
 +
This is "nn::hid::NpadJoyDualState".
   −
==== NfcXcdDeviceHandleState ====
   
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,770: Line 1,624:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp in samples (global)
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| DeviceHandle
+
| [[#NpadButtonSet|Buttons]]
 
|-
 
|-
 
| 0x10
 
| 0x10
| 0x1
+
| 0x8
| Flag
+
| [[#AnalogStickState|AnalogStickL]]
 
|-
 
|-
| 0x11
+
| 0x18
| 0x1
+
| 0x8
| Flag
+
| [[#AnalogStickState|AnalogStickR]]
 
|-
 
|-
| 0x12
+
| 0x20
| 0x6
+
| 0x4
| Padding
+
| [[#NpadAttributesSet|Attributes]]
 
|-
 
|-
| 0x18
+
| 0x24
| 0x8
+
| 0x4
| Timestamp in samples
+
| Reserved
 
|}
 
|}
   −
==== NpadGcTriggerState ====
+
==== 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
| Timestamp in samples (global)
+
| RingLifoVptr
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Timestamp in samples
+
| BufferCount
 
|-
 
|-
 
| 0x10
 
| 0x10
| 0x4
+
| 0x8
| L analog trigger. Valid range: 0x0-0x7FFF.
+
| Tail
 +
|-
 +
| 0x18
 +
| 0x8
 +
| Count
 
|-
 
|-
| 0x14
+
| 0x20
| 0x4
+
| 0x30 * 17
| R analog trigger. Valid range: 0x0-0x7FFF.
+
| Array of [[#NpadJoyLeftStateAtomicStorage]]
 
|}
 
|}
   −
== GestureSharedMemoryFormat ==
+
===== NpadJoyLeftStateAtomicStorage =====
This is "nn::hid::detail::GestureSharedMemoryFormat".
+
This is "nn::hid::detail::NpadJoyLeftStateAtomicStorage".
    
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 1,827: Line 1,687:  
|-
 
|-
 
| 0x0
 
| 0x0
| 0x20
+
| 0x8
| [[#GestureHeader]]
+
| SamplingNumber
 
|-
 
|-
| 0x20
+
| 0x8
| 0x68 * 17
+
| 0x28
| Array of [[#GestureState]]
+
| [[#NpadJoyLeftState]]
 
|}
 
|}
   −
=== GestureHeader ===
+
====== NpadJoyLeftState ======
 +
This is "nn::hid::NpadJoyLeftState".
 +
 
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
 
|-
 
|-
Line 1,844: Line 1,706:  
| 0x0
 
| 0x0
 
| 0x8
 
| 0x8
| Timestamp in ticks
+
| SamplingNumber
 
|-
 
|-
 
| 0x8
 
| 0x8
 
| 0x8
 
| 0x8
| Number of Entries (always 17)
+
| [[#NpadButtonSet|Buttons]]
 
|-
 
|-
 
| 0x10
 
| 0x10
 
| 0x8
 
| 0x8
| Latest Entry Index
+
| [[#AnalogStickState|AnalogStickL]]
 
|-
 
|-
 
| 0x18
 
| 0x18
| 0x8
+
| 0x8
| Maximum Entry Index (always 16)
+
| [[#AnalogStickState|AnalogStickR]]
|}
+
|-
 
+
| 0x20
=== GestureState ===
+
| 0x4
{| class="wikitable" border="1"
+
| [[#NpadAttributesSet|Attributes]]
|-
+
|-
! Offset
+
| 0x24
! Size
+
| 0x4
! Description
+
| Reserved
|-
+
|}
| 0x0
+
 
| 0x8
+
==== NpadJoyRightLifo ====
| Timestamp in samples (global)
+
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
+
|-
| Timestamp in samples
+
| 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
|-
  −
| 0x1C
  −
| 0x4
  −
| Padding
   
|}
 
|}

Navigation menu