HID services: Difference between revisions

Line 154: Line 154:
| 137 || [20.0.0+] SetNpadGcAnalogStick8bitRawValue
| 137 || [20.0.0+] SetNpadGcAnalogStick8bitRawValue
|-
|-
| 138 || [S2]
| 138 || [S2] [[#SetSceneIdForPrivateApp|SetSceneIdForPrivateApp]]
|-
|-
| 139 || [S2]
| 139 || [S2] [[#GetSceneIdForPrivateApp|GetSceneIdForPrivateApp]]
|-
|-
| 200 || [[#GetVibrationDeviceInfo]]
| 200 || [[#GetVibrationDeviceInfo]]
Line 298: Line 298:
| 529 || [8.0.0+] [[#SetDisallowedPalmaConnection]]
| 529 || [8.0.0+] [[#SetDisallowedPalmaConnection]]
|-
|-
| 550 || [S2]
| 550 || [S2] [[#GetGlGrButtonConfigState|GetGlGrButtonConfigState]]
|-
|-
| 1000 || [[#SetNpadCommunicationMode]]
| 1000 || [[#SetNpadCommunicationMode]]
Line 354: Line 354:
| 3113 || [S2] [[#StopJcms|StopJcms]]
| 3113 || [S2] [[#StopJcms|StopJcms]]
|-
|-
| 3130 || [S2]
| 3130 || [S2] [[#InitializeNmouse|InitializeNmouse]]
|-
|-
| 3131 || [S2]
| 3131 || [S2] [[#FinalizeNmouse|FinalizeNmouse]]
|-
|-
| 3132 || [S2]
| 3132 || [S2] [[#SetNmousePointerRanges|SetNmousePointerRanges]]
|-
|-
| 3133 || [S2]
| 3133 || [S2] [[#GetNmousePointerRanges|GetNmousePointerRanges]]
|-
|-
| 3135 || [S2]
| 3135 || [S2] [[#EnableShowingCursor|EnableShowingCursor]]
|-
|-
| 3136 || [S2]
| 3136 || [S2] [[#SetNmouseButtonConfigJoyLeftJcms|SetNmouseButtonConfigJoyLeftJcms]]
|-
|-
| 3137 || [S2]
| 3137 || [S2] [[#SetNmouseButtonConfigJoyRightJcms|SetNmouseButtonConfigJoyRightJcms]]
|-
|-
| 3138 || [S2]
| 3138 || [S2] [[#SetMergedNmouseSourceTypes|SetMergedNmouseSourceTypes]]
|-
|-
| 3139 || [S2]
| 3139 || [S2] [[#InitializeNmouse2|InitializeNmouse2]]
|-
|-
| 3140 || [S2]
| 3140 || [S2] [[#SetNmousePointerPosition|SetNmousePointerPosition]]
|-
|-
| 3141 || [S2]
| 3141 || [S2] [[#EnableNmousePointer|EnableNmousePointer]]
|-
|-
| 3142 || [S2]
| 3142 || [S2] [[#RestrictNmousePointer|RestrictNmousePointer]]
|-
|-
| 3143 || [S2]
| 3143 || [S2]
Line 674: Line 674:
Takes a PID, an [[AM_services|AppletResourceUserId]], no output.
Takes a PID, an [[AM_services|AppletResourceUserId]], no output.


== Cmd138 ==
== SetSceneIdForPrivateApp ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, two input u64s, no output.
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64, no output.


== Cmd139 ==
The u64 is converted from a s32 by official sw.
 
== GetSceneIdForPrivateApp ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u64, returns an output u64.
Takes a PID, an [[AM_services|AppletResourceUserId]], returns an output u64.
 
The u64 is converted to a s32 by official sw.


== GetVibrationDeviceInfo ==
== GetVibrationDeviceInfo ==
Line 1,038: Line 1,042:
Takes a PID, an [[AM_services|AppletResourceUserId]], a type-0x9 input buffer containing an array of [[Bluetooth_Driver_services#Address|Address]], no output.
Takes a PID, an [[AM_services|AppletResourceUserId]], a type-0x9 input buffer containing an array of [[Bluetooth_Driver_services#Address|Address]], no output.


== Cmd550 ==
== GetGlGrButtonConfigState ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u32, an u64, returns two output u8s.
Takes a PID, an u32, an [[AM_services|AppletResourceUserId]], returns two output bools.


== SetNpadCommunicationMode ==
== SetNpadCommunicationMode ==
Line 1,093: Line 1,097:
Takes a PID, an u32, an [[AM_services|AppletResourceUserId]], no output.
Takes a PID, an u32, an [[AM_services|AppletResourceUserId]], no output.


== Cmd3130 ==
== InitializeNmouse ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, a handle, an u8, two u32s, two u64s, no output.
Takes a PID, a TransferMemory handle, an u8, two u32s, an [[AM_services|AppletResourceUserId]], an u64 tmem_size, no output.


== Cmd3131 ==
== FinalizeNmouse ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID and an [[AM_services|AppletResourceUserId]], no output.
Takes a PID and an [[AM_services|AppletResourceUserId]], no output.


== Cmd3132 ==
== SetNmousePointerRanges ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u32, an u32, an u64, no output.
Takes a PID, an s32, an s32, an [[AM_services|AppletResourceUserId]], no output.


== Cmd3133 ==
This is also exposed as SetNmouseStateRanges, with the input NmouseStateRange being converted to the relevant s32s.
 
== GetNmousePointerRanges ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u64, returns two output u32s.
Takes a PID, an [[AM_services|AppletResourceUserId]], returns two output s32s.


== Cmd3135 ==
This is also exposed as GetNmouseStateRanges, with the output data being compared to determine the output NmouseStateRange.
 
== EnableShowingCursor ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output.
Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], no output.


== Cmd3136 ==
== SetNmouseButtonConfigJoyLeftJcms ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u64, an u64, no output.
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64, no output.


== Cmd3137 ==
== SetNmouseButtonConfigJoyRightJcms ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, an u64, an u64, no output.
Takes a PID, an [[AM_services|AppletResourceUserId]], an u64, no output.


== Cmd3138 ==
== SetMergedNmouseSourceTypes ==
This is exclusive to S2.
This is exclusive to S2.


Line 1,135: Line 1,143:
Official sw masks the u32 with bitmask 0x6.
Official sw masks the u32 with bitmask 0x6.


== Cmd3139 ==
== InitializeNmouse2 ==
Unofficial name.
 
This is exclusive to S2.
This is exclusive to S2.


Line 1,142: Line 1,152:
The input TransferMemory is created with permissions = R--. The user-process later reads from the buffer used with this.
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.
Official sw passes value 1 for the last u32.


This and the related nearby cmds are likely (?) for Joy-Con 2 Mouse Mode.
This and the related nearby cmds are for Joy-Con 2 Mouse Mode.


== Cmd3140 ==
== SetNmousePointerPosition ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, two u32s, two u64s, no output.
Takes a PID, two s32s, an [[AM_services|AppletResourceUserId]], an u64, no output.


== Cmd3141 ==
== EnableNmousePointer ==
This is exclusive to S2.
This is exclusive to S2.


Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], an u64, no output.
Takes a PID, a bool, an [[AM_services|AppletResourceUserId]], an u64, no output.


== Cmd3142 ==
== RestrictNmousePointer ==
This is exclusive to S2.
This is exclusive to S2.