Changes

31,143 bytes removed ,  18:21, 22 November 2020
Redirected page to HID services
Line 1: Line 1: −
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.
+
#REDIRECT [[HID_services]]
 
  −
= SharedMemoryFormat =
  −
This is "nn::hid::detail::SharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x400
  −
| [[#DebugPadSharedMemoryFormat|DebugPad]]
  −
|-
  −
| 0x400
  −
| 0x3000
  −
| [[#TouchScreenSharedMemoryFormat|TouchScreen]]
  −
|-
  −
| 0x3400
  −
| 0x400
  −
| [[#MouseSharedMemoryFormat|Mouse]]
  −
|-
  −
| 0x3800
  −
| 0x400
  −
| [[#KeyboardSharedMemoryFormat|Keyboard]]
  −
|-
  −
| 0x3C00
  −
| 0x1000
  −
| [[#DigitizerSharedMemoryFormat|Digitizer]] ([1.0.0-9.2.0] [[#BasicXpadSharedMemoryFormat|BasicXpad]])
  −
|-
  −
| 0x4C00
  −
| 0x200
  −
| [[#HomeButtonSharedMemoryFormat|HomeButton]]
  −
|-
  −
| 0x4E00
  −
| 0x200
  −
| [[#SleepButtonSharedMemoryFormat|SleepButton]]
  −
|-
  −
| 0x5000
  −
| 0x200
  −
| [[#CaptureButtonSharedMemoryFormat|CaptureButton]]
  −
|-
  −
| 0x5200
  −
| 0x800 (0x80 * 0x10)
  −
| [[#InputDetectorSharedMemoryFormat|InputDetector]]
  −
|-
  −
| 0x5A00
  −
| 0x4000 (0x400 * 0x10)
  −
| [1.0.0-4.1.0] [[#UniquePadSharedMemoryFormat|UniquePad]]
  −
|-
  −
| 0x9A00
  −
| 0x32000 (0x5000 * 0x0A)
  −
| [[#NpadSharedMemoryFormat|Npad]]
  −
|-
  −
| 0x3BA00
  −
| 0x800
  −
| [[#GestureSharedMemoryFormat|Gesture]]
  −
|-
  −
| 0x3C200
  −
| 0x1C
  −
| [5.0.0+] [[#ConsoleSixAxisSensorSharedMemoryFormat|ConsoleSixAxisSensor]]
  −
|}
  −
 
  −
== DebugPadSharedMemoryFormat ==
  −
This is "nn::hid::detail::DebugPadSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x2C8
  −
| [[#DebugPadLifo]]
  −
|}
  −
 
  −
=== DebugPadLifo ===
  −
This is "nn::hid::detail::DebugPadLifo". 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
  −
| 0x28 * 17
  −
| Array of [[#DebugPadStateAtomicStorage]]
  −
|}
  −
 
  −
==== DebugPadStateAtomicStorage ====
  −
This is "nn::hid::detail::DebugPadStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x20
  −
| [[#DebugPadState]]
  −
|}
  −
 
  −
===== DebugPadState =====
  −
This is "nn::hid::DebugPadState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x4
  −
| [[#DebugPadAttributeSet|Attributes]]
  −
|-
  −
| 0xC
  −
| 0x4
  −
| [[#DebugPadButtonSet|Buttons]]
  −
|-
  −
| 0x10
  −
| 0x8
  −
| [[#AnalogStickState|AnalogStickR]]
  −
|-
  −
| 0x18
  −
| 0x8
  −
| [[#AnalogStickState|AnalogStickL]]
  −
|}
  −
 
  −
== TouchScreenSharedMemoryFormat ==
  −
This is "nn::hid::detail::TouchScreenSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x2C38
  −
| [[#TouchScreenLifo]]
  −
|}
  −
 
  −
=== TouchScreenLifo ===
  −
This is "nn::hid::detail::TouchScreenLifo". 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
  −
| 0x298 * 17
  −
| Array of [[#TouchScreenStateAtomicStorage]]
  −
|}
  −
 
  −
==== TouchScreenStateAtomicStorage ====
  −
This is "nn::hid::detail::TouchScreenStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x290
  −
| [[#TouchScreenState]]
  −
|}
  −
 
  −
===== TouchScreenState =====
  −
This is "nn::hid::detail::TouchScreenState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x4
  −
| Count
  −
|-
  −
| 0xC
  −
| 0x4
  −
| Reserved
  −
|-
  −
| 0x10
  −
| 0x28 * 16
  −
| [[#TouchState|Touches]]
  −
|}
  −
 
  −
====== TouchState ======
  −
This is "nn::hid::TouchState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| DeltaTime
  −
|-
  −
| 0x8
  −
| 0x4
  −
| [[#TouchAttributeSet|Attributes]]
  −
|-
  −
| 0xC
  −
| 0x4
  −
| FingerId
  −
|-
  −
| 0x10
  −
| 0x4
  −
| X
  −
|-
  −
| 0x14
  −
| 0x4
  −
| Y
  −
|-
  −
| 0x18
  −
| 0x4
  −
| DiameterX
  −
|-
  −
| 0x1C
  −
| 0x4
  −
| DiameterY
  −
|-
  −
| 0x20
  −
| 0x4
  −
| RotationAngle
  −
|-
  −
| 0x24
  −
| 0x4
  −
| Reserved
  −
|}
  −
 
  −
== MouseSharedMemoryFormat ==
  −
This is "nn::hid::detail::MouseSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x350
  −
| [[#MouseLifo]]
  −
|}
  −
 
  −
=== MouseLifo ===
  −
This is "nn::hid::detail::MouseLifo". 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 [[#MouseStateAtomicStorage]]
  −
|}
  −
 
  −
==== MouseStateAtomicStorage ====
  −
This is "nn::hid::detail::MouseStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#MouseState]]
  −
|}
  −
 
  −
===== MouseState =====
  −
This is "nn::hid::detail::MouseState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! 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
  −
| [[#MouseButtonSet|Buttons]]
  −
|-
  −
| 0x24
  −
| 0x4
  −
| [[#MouseAttributeSet|Attributes]]
  −
|}
  −
 
  −
== KeyboardSharedMemoryFormat ==
  −
This is "nn::hid::detail::KeyboardSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x3D8
  −
| [[#KeyboardLifo]]
  −
|}
  −
 
  −
=== KeyboardLifo ===
  −
This is "nn::hid::detail::KeyboardLifo". 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
  −
| 0x38 * 17
  −
| Array of [[#KeyboardStateAtomicStorage]]
  −
|}
  −
 
  −
==== KeyboardStateAtomicStorage ====
  −
This is "nn::hid::detail::KeyboardStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x30
  −
| [[#KeyboardState]]
  −
|}
  −
 
  −
===== KeyboardState =====
  −
This is "nn::hid::detail::KeyboardState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[#KeyboardModifierSet|Modifiers]]
  −
|-
  −
| 0x10
  −
| 0x20
  −
| [[#KeyboardKeySet|Keys]]
  −
|}
  −
 
  −
== BasicXpadSharedMemoryFormat ==
  −
This is "nn::hid::detail::BasicXpadSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x400 * 4
  −
| Array of [[#BasicXpadSharedMemoryEntry]]
  −
|}
  −
 
  −
=== BasicXpadSharedMemoryEntry ===
  −
This is "nn::hid::detail::BasicXpadSharedMemoryEntry".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x2C8
  −
| [[#BasicXpadLifo]]
  −
|}
  −
 
  −
==== BasicXpadLifo ====
  −
This is "nn::hid::detail::BasicXpadLifo". 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
  −
| 0x28 * 17
  −
| Array of [[#BasicXpadStateAtomicStorage]]
  −
|}
  −
 
  −
===== BasicXpadStateAtomicStorage =====
  −
This is "nn::hid::detail::BasicXpadStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x20
  −
| [[#BasicXpadState]]
  −
|}
  −
 
  −
====== BasicXpadState ======
  −
This is "nn::hid::detail::BasicXpadState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x4
  −
| [[#BasicXpadAttributeSet|Attributes]]
  −
|-
  −
| 0xC
  −
| 0x4
  −
| [[#BasicXpadButtonSet|Buttons]]
  −
|-
  −
| 0x10
  −
| 0x8
  −
| [[#AnalogStickState|AnalogStickL]]
  −
|-
  −
| 0x18
  −
| 0x8
  −
| [[#AnalogStickState|AnalogStickR]]
  −
|}
  −
 
  −
== HomeButtonSharedMemoryFormat ==
  −
This is "nn::hid::detail::HomeButtonSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x1B8
  −
| [[#HomeButtonLifo]]
  −
|}
  −
 
  −
=== HomeButtonLifo ===
  −
This is "nn::hid::detail::HomeButtonLifo". 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 [[#HomeButtonStateAtomicStorage]]
  −
|}
  −
 
  −
==== HomeButtonStateAtomicStorage ====
  −
This is "nn::hid::detail::HomeButtonStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x10
  −
| [[#HomeButtonState]]
  −
|}
  −
 
  −
===== HomeButtonState =====
  −
This is "nn::hid::system::HomeButtonState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[#HomeButtonSet|Buttons]]
  −
|}
  −
 
  −
== SleepButtonSharedMemoryFormat ==
  −
This is "nn::hid::detail::SleepButtonSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x1B8
  −
| [[#SleepButtonLifo]]
  −
|}
  −
 
  −
=== SleepButtonLifo ===
  −
This is "nn::hid::detail::SleepButtonLifo". 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 [[#SleepButtonStateAtomicStorage]]
  −
|}
  −
 
  −
==== SleepButtonStateAtomicStorage ====
  −
This is "nn::hid::detail::SleepButtonStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x10
  −
| [[#SleepButtonState]]
  −
|}
  −
 
  −
===== SleepButtonState =====
  −
This is "nn::hid::system::SleepButtonState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[#SleepButtonSet|Buttons]]
  −
|}
  −
 
  −
== CaptureButtonSharedMemoryFormat ==
  −
This is "nn::hid::detail::CaptureButtonSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x1B8
  −
| [[#CaptureButtonLifo]]
  −
|}
  −
 
  −
=== CaptureButtonLifo ===
  −
This is "nn::hid::detail::CaptureButtonLifo". 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 [[#CaptureButtonStateAtomicStorage]]
  −
|}
  −
 
  −
==== CaptureButtonStateAtomicStorage ====
  −
This is "nn::hid::detail::CaptureButtonStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x10
  −
| [[#CaptureButtonState]]
  −
|}
  −
 
  −
===== CaptureButtonState =====
  −
This is "nn::hid::system::CaptureButtonState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[#CaptureButtonSet|Buttons]]
  −
|}
  −
 
  −
== InputDetectorSharedMemoryFormat ==
  −
This is "nn::hid::detail::InputDetectorSharedMemoryFormat".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x80 * 16
  −
| Array of [[#InputDetectorSharedMemoryEntry]]
  −
|}
  −
 
  −
=== InputDetectorSharedMemoryEntry ===
  −
This is "nn::hid::detail::InputDetectorSharedMemoryEntry".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x50
  −
| [[#InputDetectorLifo]]
  −
|}
  −
 
  −
==== InputDetectorLifo ====
  −
This is "nn::hid::detail::InputDetectorLifo". 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 * 2
  −
| Array of [[#InputDetectorStateAtomicStorage]]
  −
|}
  −
 
  −
===== InputDetectorStateAtomicStorage =====
  −
This is "nn::hid::detail::InputDetectorStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x10
  −
| [[#InputDetectorState]]
  −
|}
  −
 
  −
====== InputDetectorState ======
  −
This is "nn::hid::detail::InputDetectorState".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| InputSourceState
  −
|-
  −
| 0x8
  −
| 0x8
  −
| SamplingNumber
  −
|}
  −
 
  −
== UniquePadSharedMemoryFormat ==
  −
This is "nn::hid::detail::UniquePadSharedMemoryFormat".
  −
 
  −
[5.0.0+] This section has been removed from [[#SharedMemoryFormat]]. [[#UniquePadSharedMemoryFormat]] is now a specialization of [[#NpadSharedMemoryFormat]].
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x400 * 16
  −
| Array of [[#UniquePadSharedMemoryEntry]]
  −
|}
  −
 
  −
== UniquePadSharedMemoryEntry ==
  −
This is "nn::hid::detail::UniquePadSharedMemoryEntry".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x1E0
  −
| [[#UniquePadLifo]]
  −
|}
  −
 
  −
=== UniquePadLifo ===
  −
This is "nn::hid::detail::UniquePadLifo". This is a RingLifo object.
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! 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.
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! 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".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#UniquePadConfig]]
  −
|}
  −
 
  −
====== UniquePadConfig ======
  −
This is "nn::hid::detail::UniquePadConfig".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x4
  −
| [[#UniquePadType|Type]]
  −
|-
  −
| 0x4
  −
| 0x4
  −
| [[#UniquePadInterface|Interface]]
  −
|-
  −
| 0x8
  −
| 0x10
  −
| [[#UniquePadSerialNumber|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.
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! 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".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x20
  −
| [[#AnalogStickCalibrationStateImpl]]
  −
|}
  −
 
  −
====== AnalogStickCalibrationStateImpl ======
  −
This is "nn::hid::detail::AnalogStickCalibrationStateImpl".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| [[#AnalogStickState|State]]
  −
|-
  −
| 0x8
  −
| 0x8
  −
| [[#AnalogStickCalibrationFlagsSet|Flags]]
  −
|-
  −
| 0x10
  −
| 0x8
  −
| Stage
  −
|-
  −
| 0x18
  −
| 0x8
  −
| SamplingNumber
  −
|}
  −
 
  −
==== SixAxisSensorUserCalibrationStateLifo ====
  −
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateLifo". 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 [[#SixAxisSensorUserCalibrationStateAtomicStorage]]
  −
|}
  −
 
  −
===== SixAxisSensorUserCalibrationStateAtomicStorage =====
  −
This is "nn::hid::detail::SixAxisSensorUserCalibrationStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x18
  −
| [[#SixAxisSensorUserCalibrationState]]
  −
|}
  −
 
  −
====== SixAxisSensorUserCalibrationState ======
  −
This is "nn::hid::detail::UniquePadConfig".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x4
  −
| [[#SixAxisSensorUserCalibrationFlagsSet|Flags]]
  −
|-
  −
| 0x4
  −
| 0x4
  −
| Reserved
  −
|-
  −
| 0x8
  −
| 0x8
  −
| Stage
  −
|-
  −
| 0x10
  −
| 0x8
  −
| SamplingNumber
  −
|}
  −
 
  −
== 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"
  −
|-
  −
! Entry
  −
! Description
  −
|-
  −
| 0 to 7
  −
| Players 1 to 8
  −
|-
  −
| 8
  −
| Handheld Mode
  −
|-
  −
| 9
  −
| Other
  −
|}
  −
 
  −
== NpadSharedMemoryEntry ==
  −
This is "nn::hid::detail::NpadSharedMemoryEntry".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 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
  −
| 0x350
  −
| [[#NpadHandheldLifo|HandheldLifo]]
  −
|-
  −
| 0x6C8
  −
| 0x350
  −
| [[#NpadJoyDualLifo|JoyDualLifo]]
  −
|-
  −
| 0xA18
  −
| 0x350
  −
| [[#NpadJoyLeftLifo|JoyLeftLifo]]
  −
|-
  −
| 0xD68
  −
| 0x350
  −
| [[#NpadJoyRightLifo|JoyRightLifo]]
  −
|-
  −
| 0x10B8
  −
| 0x350
  −
| [[#NpadPalmaLifo|PalmaLifo]] ([1.0.0-3.0.2] [[#NpadSystemLifo|SystemLifo]])
  −
|-
  −
| 0x1408
  −
| 0x350
  −
| [[#NpadSystemExtLifo|SystemExtLifo]] ([4.0.0+] also used for NpadSystem)
  −
|-
  −
| 0x1758
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|FullKeySixAxisSensorLifo]]
  −
|-
  −
| 0x1E60
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|HandheldSixAxisSensorLifo]]
  −
|-
  −
| 0x2568
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|JoyDualLeftSixAxisSensorLifo]]
  −
|-
  −
| 0x2C70
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|JoyDualRightSixAxisSensorLifo]]
  −
|-
  −
| 0x3378
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|JoyLeftSixAxisSensorLifo]]
  −
|-
  −
| 0x3A80
  −
| 0x708
  −
| [[#NpadSixAxisSensorLifo|JoyRightSixAxisSensorLifo]]
  −
|-
  −
| 0x4188
  −
| 0x4
  −
| [[HID_services#DeviceType|DeviceType]]
  −
|-
  −
| 0x418C
  −
| 0x4
  −
| Reserved
  −
|-
  −
| 0x4190
  −
| 0x8
  −
| [[#NpadSystemProperties|SystemProperties]]
  −
|-
  −
| 0x4198
  −
| 0x4
  −
| [[#NpadSystemButtonProperties|SystemButtonProperties]]
  −
|-
  −
| 0x419C
  −
| 0x4
  −
| BatteryLevel0
  −
|-
  −
| 0x41A0
  −
| 0x4
  −
| BatteryLevel1
  −
|-
  −
| 0x41A4
  −
| 0x4
  −
| BatteryLevel2
  −
|-
  −
| 0x41A8
  −
| 0x60
  −
| [1.0.0-8.1.0] [[#NfcXcdDeviceHandleState|NfcXcdDeviceHandle]] (replaced by [[HID_services|GetXcdHandleForNpadWithNfc/IsNfcActivated]])
  −
|-
  −
| 0x41A8
  −
| 0x4
  −
| [9.0.0+] [[#AppletFooterUiAttribute|AppletFooterUiAttributes]]
  −
|-
  −
| 0x41AC
  −
| 0x1
  −
| [9.0.0+] [[#AppletFooterUiType|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
  −
| [[#NpadGcTriggerLifo|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.
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! 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".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#NpadFullKeyState]]
  −
|}
  −
 
  −
====== NpadFullKeyState ======
  −
This is "nn::hid::NpadFullKeyState".
  −
 
  −
{| 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
  −
|}
  −
 
  −
==== NpadHandheldLifo ====
  −
This is "nn::hid::detail::NpadHandheldLifo". 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 [[#NpadHandheldStateAtomicStorage]]
  −
|}
  −
 
  −
===== NpadHandheldStateAtomicStorage =====
  −
This is "nn::hid::detail::NpadHandheldStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#NpadHandheldState]]
  −
|}
  −
 
  −
====== NpadHandheldState ======
  −
This is "nn::hid::NpadHandheldState".
  −
 
  −
{| 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
  −
|}
  −
 
  −
==== NpadJoyDualLifo ====
  −
This is "nn::hid::detail::NpadJoyDualLifo". 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 [[#NpadJoyDualStateAtomicStorage]]
  −
|}
  −
 
  −
===== NpadJoyDualStateAtomicStorage =====
  −
This is "nn::hid::detail::NpadJoyDualStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#NpadJoyDualState]]
  −
|}
  −
 
  −
====== NpadJoyDualState ======
  −
This is "nn::hid::NpadJoyDualState".
  −
 
  −
{| 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
  −
|}
  −
 
  −
==== NpadJoyLeftLifo ====
  −
This is "nn::hid::detail::NpadJoyLeftLifo". 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 [[#NpadJoyLeftStateAtomicStorage]]
  −
|}
  −
 
  −
===== NpadJoyLeftStateAtomicStorage =====
  −
This is "nn::hid::detail::NpadJoyLeftStateAtomicStorage".
  −
 
  −
{| class="wikitable" border="1"
  −
|-
  −
! Offset
  −
! Size
  −
! Description
  −
|-
  −
| 0x0
  −
| 0x8
  −
| SamplingNumber
  −
|-
  −
| 0x8
  −
| 0x28
  −
| [[#NpadJoyLeftState]]
  −
|}
  −
 
  −
====== NpadJoyLeftState ======
  −
This is "nn::hid::NpadJoyLeftState".
  −
 
  −
{| 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
  −
|}
  −
 
  −
==== NpadJoyRightLifo ====
  −
This is "nn::hid::detail::NpadJoyRightLifo". 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 [[#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
  −
| 0x1
  −
| IsSevenSixAxisSensorAtRest
  −
|-
  −
| 0x9
  −
| 0x3
  −
| Padding
  −
|-
  −
| 0xC
  −
| 0x4
  −
| VerticalizationError
  −
|-
  −
| 0x10
  −
| 0xC
  −
| GyroBias
  −
|}