Class SwitchProControllerHID
A Nintendo Switch Pro controller connected to a desktop mac/windows PC using the HID interface.
Inherited Members
Namespace: UnityEngine .InputSystem .Switch
Assembly: Unity.InputSystem.dll
Syntax
public class SwitchProControllerHID : Gamepad, IDualMotorRumble, IHaptics, IInputStateCallbackReceiver
Properties
captureButton
Declaration
public ButtonControl captureButton { get; protected set; }
Property Value
Type | Description |
---|---|
Button |
homeButton
Declaration
public ButtonControl homeButton { get; protected set; }
Property Value
Type | Description |
---|---|
Button |
Methods
GetStateOffsetForEvent(InputControl, InputEventPtr, ref uint)
Compute an offset that correlates control
with the state in eventPtr
.
Declaration
public bool GetStateOffsetForEvent(InputControl control, InputEventPtr eventPtr, ref uint offset)
Parameters
Type | Name | Description |
---|---|---|
Input |
control | Control the state of which we want to access within |
Input |
eventPtr | An input event. Must be a State |
uint | offset |
Returns
Type | Description |
---|---|
bool | False if the correlation failed or true if |
Remarks
This method will only be called if the given state event has a state format different than that of the device. In that case, the memory of the input state captured in the given state event cannot be trivially correlated with the control.
The input system calls the method to know which offset (if any) in the device's state block to consider the state
in eventPtr
relative to when accessing the state for control
as found in
the event.
An example of when this is called is for touch events. These are normally sent in ToucheventPtr
to, for example, read out the touch position,
See Also
OnAdded()
Called by the system when the device is added to devices.
Declaration
protected override void OnAdded()
Overrides
Remarks
This is called after the device has already been added.
devicesAddedOn
Examples
using UnityEngine.InputSystem;
public class MyDevice : InputDevice
{
public static MyDevice current { get; private set; }
protected override void OnAdded()
{
// use this context to assign the current device for instance
base.OnAdded();
current = this;
}
}
OnNextUpdate()
A new input update begins. This means that the current state of the device is being carried over into the next frame.
Declaration
public void OnNextUpdate()
Remarks
This is called without the front and back buffer for the device having been flipped. You can use Change(Input
OnStateEvent(InputEventPtr)
A new state event has been received and is being processed.
Declaration
public void OnStateEvent(InputEventPtr eventPtr)
Parameters
Type | Name | Description |
---|---|---|
Input |
eventPtr | The state event. This will be either a State |
Remarks
Use Change(Input
See Also
PreProcessEvent(InputEventPtr)
Preprocess the event. !!! Beware !!! currently events can only shrink or stay the same size.
Declaration
public bool PreProcessEvent(InputEventPtr eventPtr)
Parameters
Type | Name | Description |
---|---|---|
Input |
eventPtr |
Returns
Type | Description |
---|---|
bool | True if event should be processed further, false if event should be skipped and ignored. |