Line 198: |
Line 198: |
| | 408 || [9.0.0-9.2.0] GetNpadOfHighestBatteryLevelForJoyRight | | | 408 || [9.0.0-9.2.0] GetNpadOfHighestBatteryLevelForJoyRight |
| |- | | |- |
− | | 500 || [5.0.0+] GetPalmaConnectionHandle | + | | 500 || [5.0.0+] [[#GetPalmaConnectionHandle]] |
| |- | | |- |
− | | 501 || [5.0.0+] InitializePalma | + | | 501 || [5.0.0+] [[#InitializePalma]] |
| |- | | |- |
− | | 502 || [5.0.0+] AcquirePalmaOperationCompleteEvent | + | | 502 || [5.0.0+] [[#AcquirePalmaOperationCompleteEvent]] |
| |- | | |- |
− | | 503 || [5.0.0+] GetPalmaOperationInfo | + | | 503 || [5.0.0+] [[#GetPalmaOperationInfo]] |
| |- | | |- |
− | | 504 || [5.0.0+] PlayPalmaActivity | + | | 504 || [5.0.0+] [[#PlayPalmaActivity]] |
| |- | | |- |
− | | 505 || [5.0.0+] SetPalmaFrModeType | + | | 505 || [5.0.0+] [[#SetPalmaFrModeType]] |
| |- | | |- |
− | | 506 || [5.0.0+] ReadPalmaStep | + | | 506 || [5.0.0+] [[#ReadPalmaStep]] |
| |- | | |- |
− | | 507 || [5.0.0+] EnablePalmaStep | + | | 507 || [5.0.0+] [[#EnablePalmaStep]] |
| |- | | |- |
− | | 508 || [5.0.0+] ResetPalmaStep | + | | 508 || [5.0.0+] [[#ResetPalmaStep]] |
| |- | | |- |
− | | 509 || [5.0.0+] ReadPalmaApplicationSection | + | | 509 || [5.0.0+] [[#ReadPalmaApplicationSection]] |
| |- | | |- |
− | | 510 || [5.0.0+] WritePalmaApplicationSection | + | | 510 || [5.0.0+] [[#WritePalmaApplicationSection]] |
| |- | | |- |
− | | 511 || [5.0.0+] ReadPalmaUniqueCode | + | | 511 || [5.0.0+] [[#ReadPalmaUniqueCode]] |
| |- | | |- |
− | | 512 || [5.0.0+] SetPalmaUniqueCodeInvalid | + | | 512 || [5.0.0+] [[#SetPalmaUniqueCodeInvalid]] |
| |- | | |- |
− | | 513 || [5.0.0+] WritePalmaActivityEntry | + | | 513 || [5.0.0+] [[#WritePalmaActivityEntry]] |
| |- | | |- |
− | | 514 || [5.0.0+] WritePalmaRgbLedPatternEntry | + | | 514 || [5.0.0+] [[#WritePalmaRgbLedPatternEntry]] |
| |- | | |- |
− | | 515 || [5.0.0+] WritePalmaWaveEntry | + | | 515 || [5.0.0+] [[#WritePalmaWaveEntry]] |
| |- | | |- |
− | | 516 || [5.0.0+] SetPalmaDataBaseIdentificationVersion | + | | 516 || [5.0.0+] [[#SetPalmaDataBaseIdentificationVersion]] |
| |- | | |- |
− | | 517 || [5.0.0+] GetPalmaDataBaseIdentificationVersion | + | | 517 || [5.0.0+] [[#GetPalmaDataBaseIdentificationVersion]] |
| |- | | |- |
− | | 518 || [5.0.0+] SuspendPalmaFeature | + | | 518 || [5.0.0+] [[#SuspendPalmaFeature]] |
| |- | | |- |
− | | 519 || [5.1.0+] GetPalmaOperationResult | + | | 519 || [5.1.0+] [[#GetPalmaOperationResult]] |
| |- | | |- |
− | | 520 || [5.1.0+] ReadPalmaPlayLog | + | | 520 || [5.1.0+] [[#ReadPalmaPlayLog]] |
| |- | | |- |
− | | 521 || [5.1.0+] ResetPalmaPlayLog | + | | 521 || [5.1.0+] [[#ResetPalmaPlayLog]] |
| |- | | |- |
− | | 522 || [5.1.0+] SetIsPalmaAllConnectable | + | | 522 || [5.1.0+] [[#SetIsPalmaAllConnectable]] |
| |- | | |- |
− | | 523 || [5.1.0+] SetIsPalmaPairedConnectable | + | | 523 || [5.1.0+] [[#SetIsPalmaPairedConnectable]] |
| |- | | |- |
− | | 524 || [5.1.0+] PairPalma | + | | 524 || [5.1.0+] [[#PairPalma]] |
| |- | | |- |
− | | 525 || [5.1.0+] SetPalmaBoostMode | + | | 525 || [5.1.0+] [[#SetPalmaBoostMode]] |
| |- | | |- |
− | | 526 || [7.0.0+] CancelWritePalmaWaveEntry | + | | 526 || [7.0.0+] [[#CancelWritePalmaWaveEntry]] |
| |- | | |- |
− | | 527 || [8.0.0+] EnablePalmaBoostMode | + | | 527 || [8.0.0+] [[#EnablePalmaBoostMode]] |
| |- | | |- |
− | | 528 || [8.0.0+] GetPalmaBluetoothAddress | + | | 528 || [8.0.0+] [[#GetPalmaBluetoothAddress]] |
| |- | | |- |
− | | 529 || [8.0.0+] SetDisallowedPalmaConnection | + | | 529 || [8.0.0+] [[#SetDisallowedPalmaConnection]] |
| |- | | |- |
| | 1000 || [[#SetNpadCommunicationMode]] | | | 1000 || [[#SetNpadCommunicationMode]] |
Line 702: |
Line 702: |
| | | |
| [[#NpadIdType|Handheld]] is ignored. | | [[#NpadIdType|Handheld]] is ignored. |
| + | |
| + | == GetPalmaConnectionHandle == |
| + | Takes a PID, an u32 [[#NpadIdType]], an [[AM_services|AppletResourceUserId]], returns an output [[#PalmaConnectionHandle]]. |
| + | |
| + | == InitializePalma == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == AcquirePalmaOperationCompleteEvent == |
| + | Takes an input [[#PalmaConnectionHandle]], returns an output Event handle. |
| + | |
| + | sdknso uses an user-specified EventClearMode. |
| + | |
| + | == GetPalmaOperationInfo == |
| + | Takes a [[#PalmaConnectionHandle]], a type-0x6 output buffer, returns an output u64. |
| + | |
| + | sdknso passes [[#PalmaOperationInfo]]+0x8 size 0x140 for the output buffer. After using the cmd successfully, [[#GetPalmaOperationResult]] is used. |
| + | |
| + | == PlayPalmaActivity == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, no output. |
| + | |
| + | == SetPalmaFrModeType == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, no output. |
| + | |
| + | == ReadPalmaStep == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == EnablePalmaStep == |
| + | Takes an input bool, a [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == ResetPalmaStep == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == ReadPalmaApplicationSection == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, an u64, no output. |
| + | |
| + | == WritePalmaApplicationSection == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, an u64, a type-0x19 input buffer containing a [[#PalmaApplicationSectionAccessBuffer]], no output. |
| + | |
| + | == ReadPalmaUniqueCode == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == SetPalmaUniqueCodeInvalid == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == WritePalmaActivityEntry == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, an u64, an u64, an u64, no output. |
| + | |
| + | == WritePalmaRgbLedPatternEntry == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, a type-0x5 input buffer, no output. |
| + | |
| + | == WritePalmaWaveEntry == |
| + | Takes an input [[#PalmaConnectionHandle]], an u64, an u64, a handle, an u64, an u64, no output. |
| + | |
| + | == SetPalmaDataBaseIdentificationVersion == |
| + | Takes an input s32, a [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == GetPalmaDataBaseIdentificationVersion == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == SuspendPalmaFeature == |
| + | Takes an input "nn::util::BitFlagSet<32, [[#PalmaFeature]]>", a [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == GetPalmaOperationResult == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | sdknso only uses this from the wrapper for [[#GetPalmaOperationInfo]]. |
| + | |
| + | == ReadPalmaPlayLog == |
| + | Takes an input u16, a [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == ResetPalmaPlayLog == |
| + | Takes an input u16, a [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == SetIsPalmaAllConnectable == |
| + | Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | == SetIsPalmaPairedConnectable == |
| + | Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | == PairPalma == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == SetPalmaBoostMode == |
| + | Takes an input bool, no output. |
| + | |
| + | == CancelWritePalmaWaveEntry == |
| + | Takes an input [[#PalmaConnectionHandle]], no output. |
| + | |
| + | == EnablePalmaBoostMode == |
| + | Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | == GetPalmaBluetoothAddress == |
| + | Takes an input [[#PalmaConnectionHandle]], returns an output [[Bluetooth_Driver_services#Address|Address]]. |
| + | |
| + | == SetDisallowedPalmaConnection == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], a type-0x9 input buffer containing an array of [[Bluetooth_Driver_services#Address|Address]], no output. |
| | | |
| == SetNpadCommunicationMode == | | == SetNpadCommunicationMode == |
Line 1,189: |
Line 1,285: |
| | 31 || [[#SendKeyboardLockKeyEvent_2|SendKeyboardLockKeyEvent]] | | | 31 || [[#SendKeyboardLockKeyEvent_2|SendKeyboardLockKeyEvent]] |
| |- | | |- |
− | | 101 || AcquireHomeButtonEventHandle | + | | 101 || [[#AcquireHomeButtonEventHandle]] |
| |- | | |- |
− | | 111 || ActivateHomeButton | + | | 111 || [[#ActivateHomeButton]] |
| |- | | |- |
− | | 121 || AcquireSleepButtonEventHandle | + | | 121 || [[#AcquireSleepButtonEventHandle]] |
| |- | | |- |
− | | 131 || ActivateSleepButton | + | | 131 || [[#ActivateSleepButton]] |
| |- | | |- |
− | | 141 || AcquireCaptureButtonEventHandle | + | | 141 || [[#AcquireCaptureButtonEventHandle]] |
| |- | | |- |
− | | 151 || ActivateCaptureButton | + | | 151 || [[#ActivateCaptureButton]] |
| |- | | |- |
| | 161 || [7.0.0+] GetPlatformConfig | | | 161 || [7.0.0+] GetPlatformConfig |
Line 1,548: |
Line 1,644: |
| == SendKeyboardLockKeyEvent == | | == SendKeyboardLockKeyEvent == |
| Takes an u32 BitFlagSet [[#KeyboardLockKeyEvent]], no output. | | Takes an u32 BitFlagSet [[#KeyboardLockKeyEvent]], no output. |
| + | |
| + | == AcquireHomeButtonEventHandle == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], returns an output Event handle. |
| + | |
| + | The EventClearMode used by sdknso is user-specified. The Event is signaled when [[#HomeButtonState]] is updated. |
| + | |
| + | This is used by [[AM_services|AM]]. |
| + | |
| + | == ActivateHomeButton == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | Activates the [[#HomeButtonSharedMemoryFormat|HomeButton]] sharedmem. |
| + | |
| + | == AcquireSleepButtonEventHandle == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], returns an output Event handle. |
| + | |
| + | The EventClearMode used by sdknso is user-specified. The Event is signaled when [[#SleepButtonState]] is updated. |
| + | |
| + | This is used by [[AM_services|AM]]. |
| + | |
| + | == ActivateSleepButton == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | Activates the [[#SleepButtonSharedMemoryFormat|SleepButton]] sharedmem. |
| + | |
| + | == AcquireCaptureButtonEventHandle == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], returns an output Event handle. |
| + | |
| + | The EventClearMode used by sdknso is user-specified. The Event is signaled when [[#CaptureButtonState]] is updated. |
| + | |
| + | This is used by [[AM_services|AM]]. |
| + | |
| + | == ActivateCaptureButton == |
| + | Takes a PID, an [[AM_services|AppletResourceUserId]], no output. |
| + | |
| + | Activates the [[#CaptureButtonSharedMemoryFormat|CaptureButton]] sharedmem. |
| | | |
| == GetMaskedSupportedNpadStyleSet == | | == GetMaskedSupportedNpadStyleSet == |
Line 2,596: |
Line 2,728: |
| ! Offset || Size || Description | | ! Offset || Size || Description |
| |- | | |- |
− | | 0x0 || 0x1 || Bool flag | + | | 0x0 || 0x1 || IsConnected |
| |- | | |- |
− | | 0x1 || 0x3 || Padding | + | | 0x1 || 0x3 || Reserved |
| |- | | |- |
− | | 0x4 || 0x4 || Result | + | | 0x4 || 0x4 || IsConnectedResult |
| |- | | |- |
− | | 0x8 || 0x1 || DeviceEnabled. Bool flag indicating whether a device is [[#EnableExternalDevice|enabled]]. | + | | 0x8 || 0x1 || IsEnabled. Bool flag indicating whether a device is [[#EnableExternalDevice|enabled]]. |
| |- | | |- |
− | | 0x9 || 0x1 || IsValid. Bool flag indicating whether this entry is valid. | + | | 0x9 || 0x1 || IsInFocus. Bool flag indicating whether this entry is valid. |
| |- | | |- |
− | | 0xA || 0x1 || PollingEnabled. Bool flag indicating whether polling is [[#EnableJoyPollingReceiveMode|enabled]]. | + | | 0xA || 0x1 || IsPollingMode. Bool flag indicating whether polling is [[#EnableJoyPollingReceiveMode|enabled]]. |
| |- | | |- |
− | | 0xB || 0x1 || Unknown / padding? | + | | 0xB || 0x1 || Reserved |
| |- | | |- |
− | | 0xC || 0x4 || [[#JoyPollingMode]] | + | | 0xC || 0x4 || [[#JoyPollingMode|PollingMode]] |
| |} | | |} |
| | | |
Line 3,390: |
Line 3,522: |
| == HomeButtonSharedMemoryFormat == | | == HomeButtonSharedMemoryFormat == |
| This is "nn::hid::detail::HomeButtonSharedMemoryFormat". | | This is "nn::hid::detail::HomeButtonSharedMemoryFormat". |
| + | |
| + | This is used by [[AM_services|AM]]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 3,470: |
Line 3,604: |
| == SleepButtonSharedMemoryFormat == | | == SleepButtonSharedMemoryFormat == |
| This is "nn::hid::detail::SleepButtonSharedMemoryFormat". | | This is "nn::hid::detail::SleepButtonSharedMemoryFormat". |
| + | |
| + | This is used by [[AM_services|AM]]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 3,550: |
Line 3,686: |
| == CaptureButtonSharedMemoryFormat == | | == CaptureButtonSharedMemoryFormat == |
| This is "nn::hid::detail::CaptureButtonSharedMemoryFormat". | | This is "nn::hid::detail::CaptureButtonSharedMemoryFormat". |
| + | |
| + | This is used by [[AM_services|AM]]. |
| | | |
| {| class="wikitable" border="1" | | {| class="wikitable" border="1" |
Line 5,347: |
Line 5,485: |
| | | |
| = TouchScreenConfigurationForNx = | | = TouchScreenConfigurationForNx = |
− | This is "nn::hid::TouchScreenConfigurationForNx". This is a 0x10-byte struct with 1-byte alignment. | + | This is "nn::hid::TouchScreenConfigurationForNx". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x1 |
| + | | [[#TouchScreenModeForNx|Mode]] |
| + | |- |
| + | | 0x8 |
| + | | 0xF |
| + | | Reserved |
| + | |} |
| + | |
| + | = TouchScreenModeForNx = |
| + | This is "nn::hid::TouchScreenModeForNx". |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || UseSystemSetting |
| + | |- |
| + | | 1 || Finger |
| + | |- |
| + | | 2 || Heat2 |
| + | |} |
| | | |
| = InputSourceState = | | = InputSourceState = |
Line 5,744: |
Line 5,911: |
| = KeyboardKeySet = | | = KeyboardKeySet = |
| This is "nn::hid::KeyboardKeySet". This is a BitFlagSet object for [[#KeyboardKey]]. | | This is "nn::hid::KeyboardKeySet". This is a BitFlagSet object for [[#KeyboardKey]]. |
| + | |
| + | = KeyboardLockKeyEventSet = |
| + | This is "nn::hid::system::KeyboardLockKeyEventSet". This is a BitFlagSet object for [[#KeyboardLockKeyEvent]]. |
| | | |
| = KeyboardLockKeyEvent = | | = KeyboardLockKeyEvent = |
− | This is "nn::hid::KeyboardLockKeyEvent" / "nn::hid::system::KeyboardLockKeyEvent". | + | This is "nn::hid::system::KeyboardLockKeyEvent". This is a 32-bit flag. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Bit |
| + | ! Description |
| + | |- |
| + | | 0 |
| + | | NumLockOn |
| + | |- |
| + | | 1 |
| + | | NumLockOff |
| + | |- |
| + | | 2 |
| + | | NumLockToggle |
| + | |- |
| + | | 3 |
| + | | CapsLockOn |
| + | |- |
| + | | 4 |
| + | | CapsLockOff |
| + | |- |
| + | | 5 |
| + | | CapsLockToggle |
| + | |- |
| + | | 6 |
| + | | ScrollLockOn |
| + | |- |
| + | | 7 |
| + | | ScrollLockOff |
| + | |- |
| + | | 8 |
| + | | ScrollLockToggle |
| + | |} |
| | | |
| = BasicXpadButtonSet = | | = BasicXpadButtonSet = |
Line 6,150: |
Line 6,353: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || | + | | 0 || 5ms |
| |- | | |- |
− | | 1 || | + | | 1 || 10ms |
| |- | | |- |
− | | 2 || | + | | 2 || 15ms |
| |- | | |- |
− | | 3 || | + | | 3 || Default |
| |} | | |} |
| | | |
Line 6,623: |
Line 6,826: |
| | 0x0 || 0x1 || NpadStyleIndex | | | 0x0 || 0x1 || NpadStyleIndex |
| |- | | |- |
− | | 0x1 || 0x1 || PlayerNumber / [[#NpadIdType]] | + | | 0x1 || 0x1 || [[#NpadIdType|PlayerNumber]] |
| |- | | |- |
− | | 0x2 || 0x1 || Idx | + | | 0x2 || 0x1 || DeviceIdx |
| |} | | |} |
| | | |
Line 6,727: |
Line 6,930: |
| = AccelerometerPlayMode = | | = AccelerometerPlayMode = |
| This is "nn::hid::debug::AccelerometerPlayMode" (pre-10.0.0 this is "nn::hid::AccelerometerPlayMode"). | | This is "nn::hid::debug::AccelerometerPlayMode" (pre-10.0.0 this is "nn::hid::AccelerometerPlayMode"). |
| + | |
| + | {| class="wikitable" border="1" |
| + | ! Value |
| + | ! Description |
| + | |- |
| + | | 0 || Loose |
| + | |- |
| + | | 1 || Tight |
| + | |} |
| | | |
| = GyroscopeZeroDriftMode = | | = GyroscopeZeroDriftMode = |
Line 6,741: |
Line 6,953: |
| | 2 || Tight | | | 2 || Tight |
| |} | | |} |
| + | |
| + | = PalmaConnectionHandle = |
| + | This is "nn::hid::PalmaConnectionHandle". This is a 0x8-byte struct with 8-byte alignment. |
| + | |
| + | = PalmaOperationInfo = |
| + | This is "nn::hid::PalmaOperationInfo". This is a 0x148-byte struct. |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset || Size || Description |
| + | |- |
| + | | 0x0 || 0x4 || sdknso sets this to the output value from [[#GetPalmaOperationInfo]], sdknso will Abort if it's larger than 0x10. |
| + | |- |
| + | | 0x4 || 0x4 || Result |
| + | |- |
| + | | 0x8 || 0x140 || Buffer for [[#GetPalmaOperationInfo]]. |
| + | |} |
| + | |
| + | = PalmaApplicationSectionAccessBuffer = |
| + | This is "nn::hid::PalmaApplicationSectionAccessBuffer". This is a 0x100-byte struct. |
| + | |
| + | = PalmaFeature = |
| + | This is "nn::hid::PalmaFeature". |
| | | |
| = AbstractedPadState = | | = AbstractedPadState = |
Line 6,814: |
Line 7,049: |
| | | |
| = DebugPadAutoPilotState = | | = DebugPadAutoPilotState = |
− | This is "nn::hid::debug::DebugPadAutoPilotState". This is a 0x18-byte struct with 4-byte alignment. | + | This is "nn::hid::debug::DebugPadAutoPilotState" |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x4 |
| + | | [[#DebugPadAttributeSet|Attributes]] |
| + | |- |
| + | | 0x4 |
| + | | 0x4 |
| + | | [[#DebugPadButtonSet|Buttons]] |
| + | |- |
| + | | 0x8 |
| + | | 0x8 |
| + | | [[#AnalogStickState|AnalogStickR]] |
| + | |- |
| + | | 0x10 |
| + | | 0x8 |
| + | | [[#AnalogStickState|AnalogStickL]] |
| + | |} |
| | | |
| = MouseAutoPilotState = | | = MouseAutoPilotState = |
− | This is "nn::hid::debug::MouseAutoPilotState". This is a 0x1C-byte struct with 4-byte alignment. | + | This is "nn::hid::debug::MouseAutoPilotState". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x4 |
| + | | X |
| + | |- |
| + | | 0x4 |
| + | | 0x4 |
| + | | Y |
| + | |- |
| + | | 0x8 |
| + | | 0x4 |
| + | | DeltaX |
| + | |- |
| + | | 0xC |
| + | | 0x4 |
| + | | DeltaY |
| + | |- |
| + | | 0x10 |
| + | | 0x4 |
| + | | WheelDeltaX |
| + | |- |
| + | | 0x14 |
| + | | 0x4 |
| + | | WheelDeltaY |
| + | |- |
| + | | 0x18 |
| + | | 0x4 |
| + | | [[#MouseButtonSet|Buttons]] |
| + | |- |
| + | | 0x1C |
| + | | 0x4 |
| + | | [[#MouseAttributeSet|Attributes]] |
| + | |} |
| | | |
| = KeyboardAutoPilotState = | | = KeyboardAutoPilotState = |
− | This is "nn::hid::debug::KeyboardAutoPilotState". This is a 0x28-byte struct with 8-byte alignment. | + | This is "nn::hid::debug::KeyboardAutoPilotState". |
| + | |
| + | {| class="wikitable" border="1" |
| + | |- |
| + | ! Offset |
| + | ! Size |
| + | ! Description |
| + | |- |
| + | | 0x0 |
| + | | 0x8 |
| + | | [[#KeyboardModifierSet|Modifiers]] |
| + | |- |
| + | | 0x8 |
| + | | 0x20 |
| + | | [[#KeyboardKeySet|Keys]] |
| + | |} |
| | | |
| = HdlsHandle = | | = HdlsHandle = |
Line 7,216: |
Line 7,528: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || DigitalButtonAssignment_A | + | | 0 || A |
| |- | | |- |
− | | 1 || DigitalButtonAssignment_B | + | | 1 || B |
| |- | | |- |
− | | 2 || DigitalButtonAssignment_X | + | | 2 || X |
| |- | | |- |
− | | 3 || DigitalButtonAssignment_Y | + | | 3 || Y |
| |- | | |- |
− | | 4 || DigitalButtonAssignment_StickL | + | | 4 || StickL |
| |- | | |- |
− | | 5 || DigitalButtonAssignment_StickR | + | | 5 || StickR |
| |- | | |- |
− | | 6 || DigitalButtonAssignment_L | + | | 6 || L |
| |- | | |- |
− | | 7 || DigitalButtonAssignment_R | + | | 7 || R |
| |- | | |- |
− | | 8 || DigitalButtonAssignment_ZL | + | | 8 || ZL |
| |- | | |- |
− | | 9 || DigitalButtonAssignment_ZR | + | | 9 || ZR |
| |- | | |- |
− | | 10 || DigitalButtonAssignment_Select | + | | 10 || Select |
| |- | | |- |
− | | 11 || DigitalButtonAssignment_Start | + | | 11 || Start |
| |- | | |- |
− | | 12 || DigitalButtonAssignment_Left | + | | 12 || Left |
| |- | | |- |
− | | 13 || DigitalButtonAssignment_Up | + | | 13 || Up |
| |- | | |- |
− | | 14 || DigitalButtonAssignment_Right | + | | 14 || Right |
| |- | | |- |
− | | 15 || DigitalButtonAssignment_Down | + | | 15 || Down |
| |- | | |- |
− | | 16 || DigitalButtonAssignment_LeftSL | + | | 16 || LeftSL |
| |- | | |- |
− | | 17 || DigitalButtonAssignment_LeftSR | + | | 17 || LeftSR |
| |- | | |- |
− | | 18 || DigitalButtonAssignment_RightSL | + | | 18 || RightSL |
| |- | | |- |
− | | 19 || DigitalButtonAssignment_RightSR | + | | 19 || RightSR |
| |- | | |- |
− | | 20 || DigitalButtonAssignment_HomeButton | + | | 20 || HomeButton |
| |- | | |- |
− | | 21 || DigitalButtonAssignment_CaptureButton | + | | 21 || CaptureButton |
| |- | | |- |
− | | 22 || DigitalButtonAssignment_Invalid | + | | 22 || Invalid |
| |} | | |} |
| | | |
Line 7,274: |
Line 7,586: |
| | 0x4 || 0x1 || IsPairedStickAssigned | | | 0x4 || 0x1 || IsPairedStickAssigned |
| |- | | |- |
− | | 0x5 || 0x3 || Padding | + | | 0x5 || 0x3 || Reserved |
| |} | | |} |
| | | |
Line 7,284: |
Line 7,596: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || AnalogStickRotation_None | + | | 0 || None |
| |- | | |- |
− | | 1 || AnalogStickRotation_Clockwise90 | + | | 1 || Clockwise90 |
| |- | | |- |
− | | 2 || AnalogStickRotation_Anticlockwise90 | + | | 2 || Anticlockwise90 |
| |} | | |} |
| | | |
Line 7,989: |
Line 8,301: |
| | 0x0 || 0x30 || Data | | | 0x0 || 0x30 || Data |
| |- | | |- |
− | | 0x30 || 0x8 || Size of data. | + | | 0x30 || 0x8 || OutSize |
| |- | | |- |
− | | 0x38 || 0x8 || Timestamp | + | | 0x38 || 0x8 || SamplingNumber |
| |} | | |} |
| | | |
Line 8,001: |
Line 8,313: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || JoyLeftRail | + | | 0 || LeftJoyRail |
| |- | | |- |
− | | 1 || JoyRightRail | + | | 1 || RightJoyRail |
| |- | | |- |
− | | 2 || [6.0.0+] LarkRightRail (for microphone) | + | | 2 || [6.0.0+] RightLarkRail (for microphone) |
| |} | | |} |
| | | |
Line 8,015: |
Line 8,327: |
| ! Description | | ! Description |
| |- | | |- |
− | | 0 || JoyPollingMode_SixAxisSensorDisable | + | | 0 || SixAxisSensorDisable |
| |- | | |- |
− | | 1 || JoyPollingMode_SixAxisSensorEnable | + | | 1 || SixAxisSensorEnable |
| |- | | |- |
− | | 2 || JoyPollingMode_ButtonOnly | + | | 2 || ButtonOnly |
| |} | | |} |
| | | |