|
|
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
| |
| |}
| |