HID services: Difference between revisions
| (11 intermediate revisions by 2 users not shown) | |||
| Line 215: | Line 215: | ||
|- | |- | ||
| 312 || [17.0.0+] ForceDeactivateConsoleSixAxisSensor | | 312 || [17.0.0+] ForceDeactivateConsoleSixAxisSensor | ||
|- | |||
| 320 || [21.0.0+] EnableNpadImu | |||
|- | |||
| 321 || [21.0.0+] DisableNpadImu | |||
|- | |- | ||
| 400 || [3.0.0+] [[#IsUsbFullKeyControllerEnabled]] | | 400 || [3.0.0+] [[#IsUsbFullKeyControllerEnabled]] | ||
| Line 333: | Line 337: | ||
|- | |- | ||
| 3011 || [15.0.0+] ResetFullKeyKeyboardMap | | 3011 || [15.0.0+] ResetFullKeyKeyboardMap | ||
|- | |||
| 3012 || [21.0.0+] GetDebugPadGenericPadMap | |||
|- | |||
| 3013 || [21.0.0+] SetDebugPadGenericPadMap | |||
|- | |||
| 3014 || [21.0.0+] GetDebugPadKeyboardMap | |||
|- | |||
| 3015 || [21.0.0+] SetDebugPadKeyboardMap | |||
|- | |- | ||
| 3110 || [S2] | | 3110 || [S2] | ||
| Line 358: | Line 370: | ||
| 3138 || [S2] | | 3138 || [S2] | ||
|- | |- | ||
| 3139 || [S2] | |||
|- | |||
| 3140 || [S2] | |||
|- | |||
| 3141 || [S2] | |||
|- | |||
| 3142 || [S2] | |||
|- | |||
| 3143 || [S2] | |||
|- | |||
| 3150 || [21.0.0+] SetMouseLibraryVersion | |||
|} | |} | ||
| Line 1,049: | Line 1,072: | ||
== ActivateDigitizer == | == ActivateDigitizer == | ||
Takes a PID and an [[AM_services|AppletResourceUserId]]. No output. | Takes a PID and an [[AM_services|AppletResourceUserId]]. No output. | ||
== Cmd3110 == | |||
This is exclusive to S2. | |||
Takes a PID, a handle, an u64, an u64, no output. | |||
== Cmd3111 == | |||
This is exclusive to S2. | |||
Takes a PID and an u64, no output. | |||
== Cmd3112 == | |||
This is exclusive to S2. | |||
Takes a PID, an u32, an u64, no output. | |||
== Cmd3113 == | |||
This is exclusive to S2. | |||
Takes a PID, an u32, an u64, no output. | |||
== Cmd3130 == | |||
This is exclusive to S2. | |||
Takes a PID, a handle, an u8, two u32s, two u64s, no output. | |||
== Cmd3131 == | |||
This is exclusive to S2. | |||
Takes a PID and an [[AM_services|AppletResourceUserId]], no output. | |||
== Cmd3132 == | |||
This is exclusive to S2. | |||
Takes a PID, an u32, an u32, an u64, no output. | |||
== Cmd3133 == | |||
This is exclusive to S2. | |||
Takes a PID, an u64, returns two output u32s. | |||
== Cmd3135 == | |||
This is exclusive to S2. | |||
Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output. | |||
== Cmd3136 == | |||
This is exclusive to S2. | |||
Takes a PID, an u64, an u64, no output. | |||
== Cmd3137 == | |||
This is exclusive to S2. | |||
Takes a PID, an u64, an u64, no output. | |||
== Cmd3138 == | |||
This is exclusive to S2. | |||
Takes a PID, an u32, an [[AM_services|AppletResourceUserId]], no output. | |||
Official sw masks the u32 with bitmask 0x6. | |||
== Cmd3139 == | |||
This is exclusive to S2. | |||
Takes a PID, a TransferMemory handle, an u8, an u32 width, an u32 height, an u32, an [[AM_services|AppletResourceUserId]], an u64 tmem_size, no output. | |||
The input TransferMemory is created with permissions = R--. The user-process later reads from the buffer used with this. | |||
Official sw always (?) passes value 1 for the last u32. | |||
This and the related nearby cmds are likely (?) for Joy-Con 2 Mouse Mode. | |||
== Cmd3140 == | |||
This is exclusive to S2. | |||
Takes a PID, two u32s, two u64s, no output. | |||
== Cmd3141 == | |||
This is exclusive to S2. | |||
Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], an u64, no output. | |||
== Cmd3142 == | |||
This is exclusive to S2. | |||
Takes a PID, 4 floats, an [[AM_services|AppletResourceUserId]], no output. | |||
== Cmd3143 == | |||
This is exclusive to S2. | |||
Takes a PID, two u64s, no output. | |||
== IAppletResource == | == IAppletResource == | ||
| Line 1,112: | Line 1,228: | ||
|- | |- | ||
| 22 || [[#UnsetMouseAutoPilotState]] | | 22 || [[#UnsetMouseAutoPilotState]] | ||
|- | |||
| 23 || [21.0.0+] AddMouseSideWheelDelta | |||
|- | |- | ||
| 25 || [16.0.0+] SetDebugMouseAutoPilotState | | 25 || [16.0.0+] SetDebugMouseAutoPilotState | ||
| Line 1,312: | Line 1,430: | ||
|- | |- | ||
| 256 || [S2] | | 256 || [S2] | ||
|- | |||
| 261 || [21.0.0+] UpdateDesignInfo12 | |||
|- | |||
| 266 || [21.0.0+] GetUniquePadButtonCount | |||
|- | |||
| 267 || [21.0.0+] SetAnalogStickCalibration | |||
|- | |||
| 268 || [21.0.0+] ResetAnalogStickCalibration | |||
|- | |- | ||
| 301 || [5.0.0-8.1.0] [[#GetAbstractedPadHandles]] | | 301 || [5.0.0-8.1.0] [[#GetAbstractedPadHandles]] | ||
| Line 1,420: | Line 1,546: | ||
|- | |- | ||
| 652 || [12.0.0+] StopButtonPlayData | | 652 || [12.0.0+] StopButtonPlayData | ||
|- | |||
| 700 || [21.0.0+] GetRailAttachEventCount | |||
|- | |- | ||
| 2000 || [10.0.0+] [[#DeactivateDigitizer]] | | 2000 || [10.0.0+] [[#DeactivateDigitizer]] | ||
| Line 1,818: | Line 1,946: | ||
| 500 || SetAppletResourceUserId | | 500 || SetAppletResourceUserId | ||
|- | |- | ||
| 501 || RegisterAppletResourceUserId | | 501 || [[#RegisterAppletResourceUserId|RegisterAppletResourceUserId]] | ||
|- | |- | ||
| 502 || UnregisterAppletResourceUserId | | 502 || UnregisterAppletResourceUserId | ||
| Line 2,243: | Line 2,371: | ||
|- | |- | ||
| 1322 || [20.0.0+] AcquireTouchScreenAsyncWakeCompletedEvent | | 1322 || [20.0.0+] AcquireTouchScreenAsyncWakeCompletedEvent | ||
|- | |||
| 1323 || [21.0.0+] StartTouchScreenAutoTuneForSystemSettings | |||
|- | |||
| 1324 || [21.0.0+] AcquireTouchScreenAutoTuneCompletedEvent | |||
|- | |||
| 1325 || [21.0.0+] IsTouchScreenAutoTuneRequiredForRepairProviderReplacement | |||
|- | |||
| 1326 || [21.0.0+] SetTouchScreenOffset | |||
|- | |- | ||
| 1350 || [S2] | | 1350 || [S2] | ||
| Line 2,367: | Line 2,503: | ||
The output buffer contains an array of [[#UniquePadId]]. | The output buffer contains an array of [[#UniquePadId]]. | ||
== RegisterAppletResourceUserId == | |||
Takes an input bool, an [[Applet_Manager_services|AppletResourceUserId]], no output. | |||
[20.4.0+] Takes an input bool, an u8, an [[Applet_Manager_services|AppletResourceUserId]], no output. | |||
== SetVibrationMasterVolume == | == SetVibrationMasterVolume == | ||
| Line 10,559: | Line 10,700: | ||
* '''ExpectVersionInfo.csv''' | * '''ExpectVersionInfo.csv''' | ||
** List in the format "[device],[type],[version]" where "device" can be "JoyLeft", "JoyRight", "FullKey", "Palma" or "Handheld", "type" can be "BT", "MCU", "USB" or "SioH" and "version" is the hexadecimal representation of the firmware file's version. | ** List in the format "[device],[type],[version]" where "device" can be "JoyLeft", "JoyRight", "FullKey", "Palma" or "Handheld", "type" can be "BT", "MCU", "USB" or "SioH" and "version" is the hexadecimal representation of the firmware file's version. | ||
* [S2] '''ExpectVersionInfo.json''' | * [S2] [20.1.1+] '''ExpectVersionInfo.json''' | ||
* '''FirmwareInfo.csv''' | * '''FirmwareInfo.csv''' | ||
** List in the format "[device],[type],[version],[file]" where "device", "type" and "version" should match the values from "ExpectVersionInfo" and "file" is the name of the firmware file. | ** List in the format "[device],[type],[version],[file]" where "device", "type" and "version" should match the values from "ExpectVersionInfo" and "file" is the name of the firmware file. | ||
| Line 10,609: | Line 10,750: | ||
* [S1] [14.0.0+] '''FTS_50000002.ftb''' | * [S1] [14.0.0+] '''FTS_50000002.ftb''' | ||
** Touch Screen controller firmware in FTB format for panel vendor "Nissha". | ** Touch Screen controller firmware in FTB format for panel vendor "Nissha". | ||
* [S2] '''JoyLeftImage1.json''' | * [S2] [20.1.1+] '''JoyLeftImage1.json''' | ||
* [S2] '''JoyLeftImage2.json''' | * [S2] [20.1.1+] '''JoyLeftImage2.json''' | ||
* [S2] '''JoyRightImage1.json''' | * [S2] [20.1.1+] '''JoyRightImage1.json''' | ||
* [S2] '''JoyRightImage2.json''' | * [S2] [20.1.1+] '''JoyRightImage2.json''' | ||
* [S2] '''NT36683_INX.bin''' | * [S2] '''NT36683_INX.bin''' | ||
** Touch Screen controller firmware for panel vendor "Innolux". | ** Touch Screen controller firmware for panel vendor "Innolux". | ||
* [S2] '''NT36683_SHP.bin''' | * [S2] '''NT36683_SHP.bin''' | ||
** Touch Screen controller firmware for panel vendor "Sharp". | ** Touch Screen controller firmware for panel vendor "Sharp". | ||
* [S2] '''OunceJoyLeft.bin''' | * [S2] [20.1.1+] '''OunceJoyLeft.bin''' | ||
* [S2] '''OunceJoyLeftBtPatch.bin''' | * [S2] [20.1.1+] '''OunceJoyLeftBtPatch.bin''' | ||
* [S2] '''OunceJoyRight.bin''' | * [S2] [20.1.1+] '''OunceJoyRight.bin''' | ||
* [S2] '''OunceJoyRightBtPatch.bin''' | * [S2] [20.1.1+] '''OunceJoyRightBtPatch.bin''' | ||
* [S2] '''OunceProCon.bin''' | * [S2] [20.1.1+] '''OunceProCon.bin''' | ||
* [S2] '''OunceProConBtPatch.bin''' | * [S2] [20.1.1+] '''OunceProConBtPatch.bin''' | ||
* [S2] '''OunceProConDspFirmware.img''' | * [S2] [20.1.1+] '''OunceProConDspFirmware.img''' | ||
* [S2] '''ProConImage1.json''' | * [S2] [20.1.1+] '''ProConImage1.json''' | ||
* [S2] '''ProConImage2.json''' | * [S2] [20.1.1+] '''ProConImage2.json''' | ||
* [S2] '''ProConImage3.json''' | * [S2] [20.1.1+] '''ProConImage3.json''' | ||
== Versions == | == Versions == | ||
| Line 10,667: | Line 10,808: | ||
| [14.0.0+] | | [14.0.0+] | ||
| 0419 | | 0419 | ||
|- | |||
| [21.0.0+] | |||
| 0420 | |||
|} | |} | ||
| Line 10,702: | Line 10,846: | ||
| [8.0.0+] | | [8.0.0+] | ||
| 081B | | 081B | ||
|- | |||
| [20.1.0+] | |||
| 0920 | |||
|} | |} | ||
| Line 10,712: | Line 10,859: | ||
| [1.0.0+] | | [1.0.0+] | ||
| 0305 | | 0305 | ||
|- | |||
| [20.1.0+] | |||
| 0403 | |||
|} | |} | ||