HID services: Difference between revisions
No edit summary |
|||
(21 intermediate revisions by 3 users not shown) | |||
Line 13: | Line 13: | ||
|- | |- | ||
| 21 || [[#ActivateMouse]] | | 21 || [[#ActivateMouse]] | ||
|- | |||
| 22 || [19.0.0+] AddMouseWheelDelta | |||
|- | |- | ||
| 26 || [16.0.0+] ActivateDebugMouse | | 26 || [16.0.0+] ActivateDebugMouse | ||
Line 95: | Line 97: | ||
|- | |- | ||
| 91 || [[#ActivateGesture]] | | 91 || [[#ActivateGesture]] | ||
|- | |||
| 92 || [18.0.0+] SetGestureOutputRanges | |||
|- | |- | ||
| 100 || [[#SetSupportedNpadStyleSet]] | | 100 || [[#SetSupportedNpadStyleSet]] | ||
Line 147: | Line 151: | ||
|- | |- | ||
| 136 || [8.0.0+] [[#ClearNpadCaptureButtonAssignment]] | | 136 || [8.0.0+] [[#ClearNpadCaptureButtonAssignment]] | ||
|- | |||
| 137 || [20.0.0+] SetNpadGcAnalogStick8bitRawValue | |||
|- | |- | ||
| 200 || [[#GetVibrationDeviceInfo]] | | 200 || [[#GetVibrationDeviceInfo]] | ||
Line 290: | Line 296: | ||
| 1003 || [9.0.0+] [[#IsFirmwareUpdateNeededForNotification]] | | 1003 || [9.0.0+] [[#IsFirmwareUpdateNeededForNotification]] | ||
|- | |- | ||
| 1004 || [17.0.0+] | | 1004 || [20.0.0+] SetTouchScreenOutputRanges ([17.0.0-19.0.1] SetTouchScreenResolution) | ||
|- | |||
| 1005 || [20.0.0+] EnableNxTouchScreenEmulationForTouchEnter | |||
|- | |- | ||
| 2000 || [10.0.0+] [[#ActivateDigitizer]] | | 2000 || [10.0.0+] [[#ActivateDigitizer]] | ||
Line 543: | Line 551: | ||
* 0x2: [6.0.0+] | * 0x2: [6.0.0+] | ||
* 0x3: [8.0.0+] | * 0x3: [8.0.0+] | ||
* 0x5: [18.0.0+] | |||
== SetNpadJoyHoldType == | == SetNpadJoyHoldType == | ||
Line 979: | Line 988: | ||
== ActivateDigitizer == | == ActivateDigitizer == | ||
Takes a PID and an [[AM_services|AppletResourceUserId]] | Takes a PID and an [[AM_services|AppletResourceUserId]]. No output. | ||
== IAppletResource == | == IAppletResource == | ||
Line 1,035: | Line 1,044: | ||
|- | |- | ||
| 17 || [13.0.0+] IsTouchScreenManaged | | 17 || [13.0.0+] IsTouchScreenManaged | ||
|- | |||
| 18 || [18.0.0+] SetTouchScreenAutoPilotStateWithAruid | |||
|- | |- | ||
| 20 || [[#DeactivateMouse]] | | 20 || [[#DeactivateMouse]] | ||
Line 1,145: | Line 1,156: | ||
|- | |- | ||
| 211 || [6.0.0+] StartFirmwareUpdateIndividual | | 211 || [6.0.0+] StartFirmwareUpdateIndividual | ||
|- | |||
| 212 || [19.0.0+] GetDetailFirmwareVersion | |||
|- | |||
| 213 || [20.0.0+] GetFirmwareVersionStringForDevMenu | |||
|- | |||
| 214 || [20.1.0+] | |||
|- | |- | ||
| 215 || [6.0.0+] SetUsbFirmwareForceUpdateEnabled | | 215 || [6.0.0+] SetUsbFirmwareForceUpdateEnabled | ||
Line 1,213: | Line 1,230: | ||
|- | |- | ||
| 251 || [12.0.0+] GetAnalogStickModuleParam | | 251 || [12.0.0+] GetAnalogStickModuleParam | ||
|- | |||
| 253 || [19.0.0+] ClearStorageForShipment | |||
|- | |- | ||
| 301 || [5.0.0-8.1.0] [[#GetAbstractedPadHandles]] | | 301 || [5.0.0-8.1.0] [[#GetAbstractedPadHandles]] | ||
Line 1,246: | Line 1,265: | ||
| 350 || [5.0.0+] [[#AddRegisteredDevice]] | | 350 || [5.0.0+] [[#AddRegisteredDevice]] | ||
|- | |- | ||
| 351 || [17.0.0 | | 351 || [17.0.0-18.1.0] GetRegisteredDevicesCountDebug | ||
|- | |- | ||
| 352 || [17.0.0 | | 352 || [17.0.0-18.1.0] DeleteRegisteredDevicesDebug | ||
|- | |- | ||
| 400 || [6.0.0+] DisableExternalMcuOnNxDevice | | 400 || [6.0.0+] DisableExternalMcuOnNxDevice | ||
Line 1,271: | Line 1,290: | ||
|- | |- | ||
| 600 || [10.0.0+] ConvertPadState | | 600 || [10.0.0+] ConvertPadState | ||
|- | |||
| 601 || [18.0.0+] [[#IsButtonConfigSupported]] | |||
|- | |||
| 602 || [18.0.0+] [[#IsButtonConfigEmbeddedSupported]] | |||
|- | |||
| 603 || [18.0.0+] [[#DeleteButtonConfig]] | |||
|- | |||
| 604 || [18.0.0+] [[#DeleteButtonConfigEmbedded]] | |||
|- | |||
| 605 || [18.0.0+] [[#SetButtonConfigEnabled]] | |||
|- | |||
| 606 || [18.0.0+] [[#SetButtonConfigEmbeddedEnabled]] | |||
|- | |||
| 607 || [18.0.0+] [[#IsButtonConfigEnabled]] | |||
|- | |||
| 608 || [18.0.0+] [[#IsButtonConfigEmbeddedEnabled]] | |||
|- | |||
| 609 || [18.0.0+] [[#SetButtonConfigEmbedded]] | |||
|- | |||
| 610 || [18.0.0+] [[#SetButtonConfigFull]] | |||
|- | |||
| 611 || [18.0.0+] [[#SetButtonConfigLeft]] | |||
|- | |||
| 612 || [18.0.0+] [[#SetButtonConfigRight]] | |||
|- | |||
| 613 || [18.0.0+] [[#GetButtonConfigEmbedded]] | |||
|- | |||
| 614 || [18.0.0+] [[#GetButtonConfigFull]] | |||
|- | |||
| 615 || [18.0.0+] [[#GetButtonConfigLeft]] | |||
|- | |||
| 616 || [18.0.0+] [[#GetButtonConfigRight]] | |||
|- | |- | ||
| 650 || [12.0.0+] AddButtonPlayData | | 650 || [12.0.0+] AddButtonPlayData | ||
Line 1,278: | Line 1,329: | ||
| 652 || [12.0.0+] StopButtonPlayData | | 652 || [12.0.0+] StopButtonPlayData | ||
|- | |- | ||
| 2000 || [10.0.0+] DeactivateDigitizer | | 2000 || [10.0.0+] [[#DeactivateDigitizer]] | ||
|- | |- | ||
| 2001 || [10.0.0+] SetDigitizerAutoPilotState | | 2001 || [10.0.0+] [[#SetDigitizerAutoPilotState]] | ||
|- | |- | ||
| 2002 || [10.0.0+] UnsetDigitizerAutoPilotState | | 2002 || [10.0.0+] [[#UnsetDigitizerAutoPilotState]] | ||
|- | |- | ||
| 3000 || [16.0.0+] ReloadFirmwareDebugSettings | | 3000 || [16.0.0+] ReloadFirmwareDebugSettings | ||
Line 1,376: | Line 1,427: | ||
[9.0.0+] Now takes a total of 8-bytes of input, returns a total of 0x18-bytes of output. | [9.0.0+] Now takes a total of 8-bytes of input, returns a total of 0x18-bytes of output. | ||
[18.0.0+] Now takes a total of 8-bytes of input, returns a total of 0x20-bytes of output. | |||
== GetSixAxisSensorDriverStates == | == GetSixAxisSensorDriverStates == | ||
Line 1,502: | Line 1,555: | ||
[11.0.0+] Takes an input [[#DebugRegisteredDevice]], no output. | [11.0.0+] Takes an input [[#DebugRegisteredDevice]], no output. | ||
== DeactivateDigitizer == | |||
No input/output. | |||
== SetDigitizerAutoPilotState == | |||
Takes an input [[#DigitizerAutoPilotState]]. No output. | |||
== UnsetDigitizerAutoPilotState == | |||
No input/output. | |||
= hid:sys = | = hid:sys = | ||
Line 1,538: | Line 1,600: | ||
| 213 || ActivateNfc | | 213 || ActivateNfc | ||
|- | |- | ||
| 214 || [4.0.0 | | 214 || [4.0.0-18.1.0] GetXcdHandleForNpadWithNfc | ||
|- | |- | ||
| 215 || [4.0.0+] IsNfcActivated | | 215 || [4.0.0+] IsNfcActivated | ||
|- | |||
| 216 || [19.0.0+] GetAbstractedPadIdForNpadWithNfc | |||
|- | |||
| 217 || [19.0.0+] [[#SetNfcEvent]] | |||
|- | |||
| 218 || [19.0.0+] [[#GetNfcInfo]] | |||
|- | |||
| 219 || [19.0.0+] StartNfcDiscovery | |||
|- | |||
| 220 || [19.0.0+] StopNfcDiscovery | |||
|- | |||
| 221 || [19.0.0+] StartNtagRead | |||
|- | |||
| 222 || [19.0.0+] StartNtagWrite | |||
|- | |||
| 223 || [19.0.0+] SendNfcRawData | |||
|- | |||
| 224 || [19.0.0+] RegisterMifareKey | |||
|- | |||
| 225 || [19.0.0+] ClearMifareKey | |||
|- | |||
| 226 || [19.0.0+] StartMifareRead | |||
|- | |||
| 227 || [19.0.0+] StartMifareWrite | |||
|- | |- | ||
| 230 || AcquireIrSensorEventHandle | | 230 || AcquireIrSensorEventHandle | ||
Line 1,549: | Line 1,635: | ||
|- | |- | ||
| 233 || [10.0.0+] GetXcdHandleForNpadWithIrSensor | | 233 || [10.0.0+] GetXcdHandleForNpadWithIrSensor | ||
|- | |||
| 234 || [19.0.0+] GetNpadJoyHoldType | |||
|- | |||
| 241 || [19.0.0+] [[#GetDataFormat]] | |||
|- | |||
| 242 || [19.0.0+] [[#SetDataFormat]] | |||
|- | |||
| 243 || [19.0.0+] [[#GetMcuState]] | |||
|- | |||
| 244 || [19.0.0+] [[#SetMcuState]] | |||
|- | |||
| 245 || [19.0.0+] [[#GetMcuVersionForNfc]] | |||
|- | |||
| 246 || [19.0.0+] [[#CheckNfcDevicePower]] | |||
|- | |||
| 247 || [19.0.0+] [[#SetMcuStateImmediate]] | |||
|- | |- | ||
| 301 || ActivateNpadSystem | | 301 || ActivateNpadSystem | ||
Line 1,605: | Line 1,707: | ||
|- | |- | ||
| 330 || [14.0.0+] CheckAbstractedPadConnection | | 330 || [14.0.0+] CheckAbstractedPadConnection | ||
|- | |||
| 332 || [19.0.0+] ConvertAppletDetailedUiTypeFromPlayReportType | |||
|- | |||
| 333 || [20.0.0+] SetNpadUserSpgApplet | |||
|- | |||
| 334 || [20.0.0+] AcquireUniquePadButtonStateChangedEventHandle | |||
|- | |- | ||
| 500 || SetAppletResourceUserId | | 500 || SetAppletResourceUserId | ||
Line 1,643: | Line 1,751: | ||
|- | |- | ||
| 525 || [11.0.0+] IsJoyConAttachedOnAllRail | | 525 || [11.0.0+] IsJoyConAttachedOnAllRail | ||
|- | |||
| 526 || [19.0.0+] IsInvertedControllerConnectedOnRail | |||
|- | |- | ||
| 540 || AcquirePlayReportControllerUsageUpdateEvent | | 540 || AcquirePlayReportControllerUsageUpdateEvent | ||
Line 1,650: | Line 1,760: | ||
| 542 || AcquirePlayReportRegisteredDeviceUpdateEvent | | 542 || AcquirePlayReportRegisteredDeviceUpdateEvent | ||
|- | |- | ||
| 543 || GetRegisteredDevicesOld ([1.0.0-4.1.0] GetRegisteredDevices) | | 543 || [5.0.0-18.1.0] GetRegisteredDevicesOld ([1.0.0-4.1.0] GetRegisteredDevices) | ||
|- | |- | ||
| 544 || [3.0.0+] AcquireConnectionTriggerTimeoutEvent | | 544 || [3.0.0+] AcquireConnectionTriggerTimeoutEvent | ||
Line 1,663: | Line 1,773: | ||
|- | |- | ||
| 549 || [6.0.0+] GetConnectableRegisteredDevices | | 549 || [6.0.0+] GetConnectableRegisteredDevices | ||
|- | |||
| 551 || [20.0.0+] GetRegisteredDevicesForControllerSupport | |||
|- | |- | ||
| 700 || ActivateUniquePad | | 700 || ActivateUniquePad | ||
Line 1,669: | Line 1,781: | ||
|- | |- | ||
| 703 || [[#GetUniquePadIds]] | | 703 || [[#GetUniquePadIds]] | ||
|- | |||
| 711 || [20.0.0+] AcquireUniquePadConnectionOnHandheldForNsEventHandle | |||
|- | |||
| 712 || [20.0.0+] GetUniquePadColor12 | |||
|- | |- | ||
| 751 || AcquireJoyDetachOnBluetoothOffEventHandle | | 751 || AcquireJoyDetachOnBluetoothOffEventHandle | ||
Line 1,697: | Line 1,813: | ||
|- | |- | ||
| 812 || [8.0.0+] GetConsoleUniqueSixAxisSensorHandle | | 812 || [8.0.0+] GetConsoleUniqueSixAxisSensorHandle | ||
|- | |||
| 813 || [18.0.0+] GetDeviceType | |||
|- | |- | ||
| 821 || StartAnalogStickManualCalibration | | 821 || StartAnalogStickManualCalibration | ||
Line 1,757: | Line 1,875: | ||
|- | |- | ||
| 1011 || [4.0.0+] DeactivateAudioControl | | 1011 || [4.0.0+] DeactivateAudioControl | ||
|- | |||
| 1012 || [20.0.0+] GetFirmwareVersionStringForUserSupportPage | |||
|- | |- | ||
| 1050 || [5.0.0+] IsSixAxisSensorAccurateUserCalibrationSupported | | 1050 || [5.0.0+] IsSixAxisSensorAccurateUserCalibrationSupported | ||
Line 1,798: | Line 1,918: | ||
| 1157 || [10.0.0+] [[#CancelConnectionTrigger]] | | 1157 || [10.0.0+] [[#CancelConnectionTrigger]] | ||
|- | |- | ||
| | | 1158 || [20.1.0+] | ||
|- | |- | ||
| | | 1159 || [20.1.0+] | ||
|- | |- | ||
| | | 1200 || [10.0.0-17.0.1] [[#IsButtonConfigSupported]] | ||
|- | |- | ||
| | | 1201 || [11.0.0-17.0.1] [[#IsButtonConfigEmbeddedSupported]] ([10.0.0-10.2.0] [[#DeleteButtonConfig]]) | ||
|- | |- | ||
| | | 1202 || [11.0.0-17.0.1] [[#DeleteButtonConfig]] ([10.0.0-10.2.0] [[#SetButtonConfigEnabled]]) | ||
|- | |- | ||
| | | 1203 || [11.0.0-17.0.1] [[#DeleteButtonConfigEmbedded]] ([10.0.0-10.2.0] [[#IsButtonConfigEnabled]]) | ||
|- | |- | ||
| | | 1204 || [11.0.0-17.0.1] [[#SetButtonConfigEnabled]] ([10.0.0-10.2.0] [[#SetButtonConfigEmbedded]]) | ||
|- | |- | ||
| | | 1205 || [11.0.0-17.0.1] [[#SetButtonConfigEmbeddedEnabled]] ([10.0.0-10.2.0] [[#SetButtonConfigFull]]) | ||
|- | |- | ||
| | | 1206 || [11.0.0-17.0.1] [[#IsButtonConfigEnabled]] ([10.0.0-10.2.0] [[#SetButtonConfigLeft]]) | ||
|- | |- | ||
| 1209 || [11.0.0 | | 1207 || [11.0.0-17.0.1] [[#IsButtonConfigEmbeddedEnabled]] ([10.0.0-10.2.0] [[#SetButtonConfigRight]]) | ||
|- | |||
| 1208 || [11.0.0-17.0.1] [[#SetButtonConfigEmbedded]] ([10.0.0-10.2.0] [[#GetButtonConfigEmbedded]]) | |||
|- | |||
| 1209 || [11.0.0-17.0.1] [[#SetButtonConfigFull]] ([10.0.0-10.2.0] [[#GetButtonConfigFull]]) | |||
|- | |- | ||
| 1210 || [10.0.0-10.2.0] [[#GetButtonConfigLeft]] | | 1210 || [10.0.0-10.2.0] [[#GetButtonConfigLeft]] | ||
|- | |- | ||
| 1211 || [11.0.0 | | 1211 || [11.0.0-17.0.1] [[#SetButtonConfigRight]] ([10.0.0-10.2.0] [[#GetButtonConfigRight]]) | ||
|- | |- | ||
| 1212 || [11.0.0 | | 1212 || [11.0.0-17.0.1] [[#GetButtonConfigEmbedded]] | ||
|- | |- | ||
| 1213 || [11.0.0 | | 1213 || [11.0.0-17.0.1] [[#GetButtonConfigFull]] | ||
|- | |- | ||
| 1214 || [11.0.0 | | 1214 || [11.0.0-17.0.1] [[#GetButtonConfigLeft]] | ||
|- | |- | ||
| 1215 || [11.0.0 | | 1215 || [11.0.0-17.0.1] [[#GetButtonConfigRight]] | ||
|- | |- | ||
| 1250 || [10.0.0+] [[#IsCustomButtonConfigSupported]] | | 1250 || [10.0.0+] [[#IsCustomButtonConfigSupported]] | ||
Line 1,913: | Line 2,037: | ||
|- | |- | ||
| 1291 || [11.0.0+] [[#SetButtonConfigStorageRight]] | | 1291 || [11.0.0+] [[#SetButtonConfigStorageRight]] | ||
|- | |||
| 1308 || [18.0.0+] SetButtonConfigVisible | |||
|- | |||
| 1309 || [18.0.0+] IsButtonConfigVisible | |||
|- | |- | ||
| 1320 || [17.0.0+] WakeTouchScreenUp | | 1320 || [17.0.0+] WakeTouchScreenUp | ||
Line 1,918: | Line 2,046: | ||
| 1321 || [17.0.0+] PutTouchScreenToSleep | | 1321 || [17.0.0+] PutTouchScreenToSleep | ||
|- | |- | ||
| 12010 || [11.0.0 | | 1322 || [20.0.0+] AcquireTouchScreenAsyncWakeCompletedEvent | ||
|- | |||
| 1420 || [19.0.0+] GetAppletResourceProperty | |||
|- | |||
| 12010 || [11.0.0-17.0.1] [[#SetButtonConfigLeft]] | |||
|} | |} | ||
Line 3,023: | Line 3,155: | ||
= xcd:sys = | = xcd:sys = | ||
This is "nn::xcd::detail::ISystemServer". | This is "nn::xcd::detail::ISystemServer". | ||
This was removed with [19.0.0+]. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 3,912: | Line 4,046: | ||
===== DigitizerState ===== | ===== DigitizerState ===== | ||
This is "nn::hid::DigitizerState". | This is "nn::hid::DigitizerState". | ||
This is managed by the sysmodule "cs" (development only) through [[HID_services#hid:dbg|hid:dbg]] commands. No actual physical device is supported on NX. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 4,392: | Line 4,528: | ||
|- | |- | ||
| 0x160 | | 0x160 | ||
| | | 0x60 | ||
| [[#SixAxisSensorUserCalibrationStateLifo]] | | [[#SixAxisSensorUserCalibrationStateLifo]] | ||
|- | |- | ||
| | | 0x1C0 | ||
| | | 0x20 | ||
| UniquePadConfigMutex | | UniquePadConfigMutex | ||
|} | |} | ||
Line 4,800: | Line 4,936: | ||
|- | |- | ||
| 0x4208 | | 0x4208 | ||
| | | 0x20 | ||
| [1.0.0-8.1.0] Mutex | | [1.0.0-8.1.0] Mutex | ||
|- | |- | ||
Line 7,299: | Line 7,435: | ||
| "FK" || Pro Controller | | "FK" || Pro Controller | ||
|- | |- | ||
| "MY" || | | "MY" || MiyabiLeft and MiyabiRight | ||
|- | |- | ||
| "LC" || | | "LC" || Tarragon and Tarragon2 | ||
|- | |- | ||
| "HL" || Famicom left controller | | "HL" || Famicom left controller | ||
Line 7,686: | Line 7,822: | ||
= DeviceTypeInternal = | = DeviceTypeInternal = | ||
This is "nn::hid::detail::DeviceTypeInternal". | This is "nn::hid::detail::DeviceTypeInternal". | ||
[9.0.0+] This has been superseded by [[#DeviceType_2|DeviceType]]. | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
Line 7,722: | Line 7,860: | ||
|} | |} | ||
= DeviceType = | |||
This is "nn::hidtypes::DeviceType". | |||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
! Value | ! Value | ||
! Description | ! Description | ||
|- | |- | ||
| 0 || | | 0 || Unknown | ||
|- | |- | ||
| 1 || | | 1 || [[#JoyConRight|JoyConRight]] | ||
|- | |- | ||
| 2 || | | 2 || [[#JoyConLeft|JoyConLeft]] | ||
|- | |- | ||
| 3 || | | 3 || [[#SwitchProController|SwitchProController]] | ||
|- | |- | ||
| 4 || | | 4 || MiyabiLeft | ||
|- | |- | ||
| 5 || | | 5 || MiyabiRight | ||
|- | |- | ||
| 6 || | | 6 || [[#Tarragon|Tarragon]] | ||
|- | |- | ||
| 7 || | | 7 || [[#LarkH1|LarkH1]] | ||
|- | |- | ||
| 8 || | | 8 || [[#LarkH2|LarkH2]] | ||
|- | |- | ||
| 9 || | | 9 || [[#LarkNL|LarkNL]] | ||
|- | |- | ||
| 10 || | | 10 || [[#LarkNR|LarkNR]] | ||
|- | |- | ||
| 11 || Lucia | | | 11 || [[#Lucia|Lucia]] | ||
|- | |- | ||
| 12 || Palma | | | 12 || [[#Palma|Palma]] | ||
|- | |- | ||
| 13 || | | 13 || [[#GcOnGggg|GcOnGggg]] | ||
|- | |- | ||
| 14 || | | 14 || FiftyL | ||
|- | |- | ||
| 15 || | | 15 || UsbPad | ||
|- | |- | ||
| 16 || | | 16 || WinGenericPad | ||
|- | |- | ||
| 17 || | | 17 || Sio | ||
|- | |- | ||
| 18 || | | 18 || FiftyR | ||
|- | |- | ||
| 19 || | | 19 || DebugSwitchProControllerCompatibleDevice | ||
|- | |- | ||
| 20 || | | 20 || DebugJoyConLeftCompatibleDevice | ||
|- | |- | ||
| 21 || | | 21 || DebugJoyConRightCompatibleDevice | ||
|- | |- | ||
| [12.0.0+] | | 22 || [12.0.0+] [[#Lagon|Lagon]] | ||
|- | |- | ||
| [12.0.0+] | | 23 || [12.0.0+] [[#ExternalGrip|ExternalGrip]] | ||
|- | |- | ||
| [13.0.0+] | | 24 || [13.0.0+] [[#SwitchProControllerDfu|SwitchProControllerDfu]] | ||
|- | |- | ||
| [13.0.0+] | | 25 || [13.0.0+] [[#ExternalGripDfu|ExternalGripDfu]] | ||
|- | |- | ||
| [13.0.0+] | | 26 || [13.0.0+] [[#LuciaDfu|LuciaDfu]] | ||
|- | |- | ||
| [13.0.0+] | | 27 || [13.0.0+] [[#LagonDfu|LagonDfu]] | ||
|- | |- | ||
| [13.0.0+] | | 28 || [13.0.0+] [[#Lager|Lager]] | ||
|- | |- | ||
| [14.0.0+] | | 29 || [14.0.0+] [[#LagerDfu|LagerDfu]] | ||
|- | |- | ||
| [14.0.0+] | | 30 || [14.0.0+] [[#Tarragon2|Tarragon2]] | ||
|} | |} | ||
== JoyConRight == | |||
[[Joy-Con|Joy-Con]] right controller. | |||
== JoyConLeft == | |||
[[Joy-Con|Joy-Con]] left controller. | |||
== SwitchProController == | |||
[[Pro_Controller|Pro Controller]]. | |||
== Tarragon == | |||
Licensed Pro Controller. | |||
== LarkH1 == | |||
Famicom left controller. | |||
== LarkH2 == | |||
Famicom right controller (with microphone). | |||
== LarkNL == | |||
NES left controller. | |||
== LarkNR == | |||
NES right controller. | |||
== Lucia == | |||
SNES controller. | |||
== Palma == | |||
Poké Ball Plus controller. | |||
== GcOnGggg == | |||
GameCube controller. | |||
== Lagon == | |||
N64 controller. | |||
== ExternalGrip == | |||
Joy-Con Charging Grip. | |||
== SwitchProControllerDfu == | |||
"Kotetsu" (Pro Controller MCU) in DFU mode. | |||
== ExternalGripDfu == | |||
"Kuina" (Joy-Con Charging Grip MCU) in DFU mode. | |||
== LuciaDfu == | |||
SNES controller MCU in DFU mode. | |||
== LagonDfu == | |||
N64 controller MCU in DFU mode. | |||
== Lager == | |||
Sega Genesis controller. | |||
== LagerDfu == | |||
Sega Genesis controller MCU in DFU mode. | |||
== Tarragon2 == | |||
Licensed Pro Controller. | |||
= VidPidDefinition = | = VidPidDefinition = | ||
Line 7,829: | Line 8,025: | ||
{| class="wikitable" border="1" | {| class="wikitable" border="1" | ||
|- | |- | ||
! Vid || PidRangeMax || PidRangeMin || [[#DeviceTypeInternal|DeviceType]] | ! Vid || PidRangeMax || PidRangeMin || [[#DeviceTypeInternal|DeviceType]] || Description | ||
|- | |- | ||
| 0x57E || 0x2006 || 0x2006 || 2 | | 0x57E || 0x2006 || 0x2006 || 2 || Nintendo [[HID_services#JoyConLeft|JoyConLeft]] | ||
|- | |- | ||
| 0x57E || 0x2007 || 0x2007 || 1 | | 0x57E || 0x2007 || 0x2007 || 1 || Nintendo [[HID_services#JoyConRight|JoyConRight]] | ||
|- | |- | ||
| 0x57E || 0x2009 || 0x2009 || 3 | | 0x57E || 0x2009 || 0x2009 || 3 || Nintendo [[HID_services#SwitchProController|SwitchProController]] | ||
|- | |- | ||
| 0x57E || 0x200F || 0x200F || 24 | | 0x57E || 0x200F || 0x200F || 24 || Nintendo [[HID_services#SwitchProControllerDfu|SwitchProControllerDfu]] | ||
|- | |- | ||
| 0x57E || 0x200E || 0x200E || 23 | | 0x57E || 0x200E || 0x200E || 23 || Nintendo [[HID_services#ExternalGrip|ExternalGrip]] | ||
|- | |- | ||
| 0x57E || 0x2008 || 0x2008 || 25 | | 0x57E || 0x2008 || 0x2008 || 25 || Nintendo [[HID_services#ExternalGripDfu|ExternalGripDfu]] | ||
|- | |- | ||
| 0x57E || 0x2017 || 0x2017 || 11 | | 0x57E || 0x2017 || 0x2017 || 11 || Nintendo [[HID_services#Lucia|Lucia]] | ||
|- | |- | ||
| 0x57E || 0x2018 || 0x2018 || 26 | | 0x57E || 0x2018 || 0x2018 || 26 || Nintendo [[HID_services#LuciaDfu|LuciaDfu]] | ||
|- | |- | ||
| 0x57E || 0x2019 || 0x2019 || 22 | | 0x57E || 0x2019 || 0x2019 || 22 || Nintendo [[HID_services#Lagon|Lagon]] | ||
|- | |- | ||
| 0x57E || 0x201A || 0x201A || 27 | | 0x57E || 0x201A || 0x201A || 27 || Nintendo [[HID_services#LagonDfu|LagonDfu]] | ||
|- | |- | ||
| 0x57E || 0x201E || 0x201E || 28 | | 0x57E || 0x201E || 0x201E || 28 || Nintendo [[HID_services#Lager|Lager]] | ||
|- | |- | ||
| 0x57E || 0x201F || 0x201F || 29 | | 0x57E || 0x201F || 0x201F || 29 || Nintendo [[HID_services#LagerDfu|LagerDfu]] | ||
|- | |- | ||
| 0x57E || 0x337 || 0x337 || 13 | | 0x57E || 0x337 || 0x337 || 13 || Nintendo [[HID_services#GcOnGggg|GcOnGggg]] | ||
|- | |- | ||
| | | 0x57E || 0x300E || 0x300E || [17.0.0+] 18 || Nintendo FiftyR | ||
|- | |- | ||
| | | 0x57E || 0x300D || 0x300D || [17.0.0+] 14 || Nintendo FiftyL | ||
|- | |- | ||
| 0xF0D || | | 0xF0D || 0x92 || 0x92 || 15 || HORI Pokken Tournament DX Pro Pad | ||
|- | |- | ||
| 0xF0D || | | 0xF0D || 0xAB || 0xAA || 15 || HORI | ||
|- | |- | ||
| 0xF0D || | | 0xF0D || 0xC1 || 0xC1 || 15 || HORIPAD for Nintendo Switch | ||
|- | |- | ||
| | | 0xF0D || 0xFF || 0xF0 || 15 || HORI | ||
|- | |- | ||
| | | 0xF0D || 0x22F || 0x200 || [1.0.0-20.0.1] 15 || HORI | ||
|- | |- | ||
| | | 0xF0D || 0x201 || 0x200 || [20.1.0+] 15 || HORI Split Pad Pro | ||
|- | |- | ||
| 0x33DD || 0xB || 0x1 || 15 | | 0xF0D || 0x202 || 0x202 || [20.1.0+] 15 || HORI | ||
|- | |||
| 0xF0D || 0x21F || 0x203 || [20.1.0+] 15 || HORI | |||
|- | |||
| 0xF0D || 0x25F || 0x220 || [20.1.0+] 15 || HORI | |||
|- | |||
| 0xF0D || 0x27F || 0x260 || [20.1.0+] 15 || HORI | |||
|- | |||
| 0xE6F || 0x193 || 0x180 || 15 || PDP | |||
|- | |||
| 0x20D6 || 0xA719 || 0xA710 || [1.0.0-20.0.1] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA729 || 0xA720 || [1.0.0-20.0.1] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA716 || 0xA710 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA717 || 0xA717 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA719 || 0xA718 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA720 || 0xA720 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA721 || 0xA721 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA726 || 0xA722 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x20D6 || 0xA731 || 0xA727 || [20.1.0+] 15 || PowerA | |||
|- | |||
| 0x33DD || 0xB || 0x1 || 15 || ZUIKI | |||
|} | |} | ||
Line 7,898: | Line 8,122: | ||
|- | |- | ||
| 0x8 | | 0x8 | ||
| | | 0x4 | ||
| [[#BatteryLevel|BatteryLevel]] | | [[#BatteryLevel|BatteryLevel]] | ||
|} | |} | ||
Line 8,357: | Line 8,581: | ||
|- | |- | ||
| 0x0 || 0x8 || Buttons (only bit0 is used) | | 0x0 || 0x8 || Buttons (only bit0 is used) | ||
|} | |||
= DigitizerAutoPilotState = | |||
This is "nn::hid::debug::DigitizerAutoPilotState". | |||
{| class="wikitable" border="1" | |||
|- | |||
! Offset | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 || 0x44 || | |||
|} | |} | ||