Class DualShockGamepad | Input System | 1.0.2
docs.unity3d.com
    Show / Hide Table of Contents

    Class DualShockGamepad

    A Sony DualShock controller.

    Inheritance
    Object
    InputControl
    InputDevice
    Gamepad
    DualShockGamepad
    DualShock3GamepadHID
    DualShock4GamepadHID
    DualShock4GampadiOS
    Inherited Members
    Gamepad.buttonWest
    Gamepad.buttonNorth
    Gamepad.buttonSouth
    Gamepad.buttonEast
    Gamepad.leftStickButton
    Gamepad.rightStickButton
    Gamepad.startButton
    Gamepad.selectButton
    Gamepad.dpad
    Gamepad.leftShoulder
    Gamepad.rightShoulder
    Gamepad.leftStick
    Gamepad.rightStick
    Gamepad.leftTrigger
    Gamepad.rightTrigger
    Gamepad.aButton
    Gamepad.bButton
    Gamepad.xButton
    Gamepad.yButton
    Gamepad.triangleButton
    Gamepad.squareButton
    Gamepad.circleButton
    Gamepad.crossButton
    Gamepad.Item[GamepadButton]
    Gamepad.all
    Gamepad.OnAdded()
    Gamepad.PauseHaptics()
    Gamepad.ResumeHaptics()
    Gamepad.ResetHaptics()
    Gamepad.SetMotorSpeeds(Single, Single)
    InputDevice.InvalidDeviceId
    InputDevice.description
    InputDevice.enabled
    InputDevice.canRunInBackground
    InputDevice.added
    InputDevice.remote
    InputDevice.native
    InputDevice.updateBeforeRender
    InputDevice.deviceId
    InputDevice.lastUpdateTime
    InputDevice.wasUpdatedThisFrame
    InputDevice.allControls
    InputDevice.valueType
    InputDevice.valueSizeInBytes
    InputDevice.ReadValueFromBufferAsObject(Void*, Int32)
    InputDevice.ReadValueFromStateAsObject(Void*)
    InputDevice.ReadValueFromStateIntoBuffer(Void*, Void*, Int32)
    InputDevice.CompareValue(Void*, Void*)
    InputDevice.ExecuteCommand<TCommand>(TCommand)
    InputControl.name
    InputControl.displayName
    InputControl.shortDisplayName
    InputControl.path
    InputControl.layout
    InputControl.variants
    InputControl.device
    InputControl.parent
    InputControl.children
    InputControl.usages
    InputControl.aliases
    InputControl.stateBlock
    InputControl.noisy
    InputControl.synthetic
    InputControl.Item[String]
    InputControl.ToString()
    InputControl.EvaluateMagnitude()
    InputControl.EvaluateMagnitude(Void*)
    InputControl.WriteValueFromBufferIntoState(Void*, Int32, Void*)
    InputControl.WriteValueFromObjectIntoState(Object, Void*)
    InputControl.TryGetChildControl(String)
    InputControl.TryGetChildControl<TControl>(String)
    InputControl.GetChildControl(String)
    InputControl.GetChildControl<TControl>(String)
    InputControl.RefreshConfigurationIfNeeded()
    InputControl.RefreshConfiguration()
    InputControl.m_StateBlock
    InputControl.currentStatePtr
    InputControl.previousFrameStatePtr
    InputControl.defaultStatePtr
    InputControl.noiseMaskPtr
    InputControl.stateOffsetRelativeToDeviceRoot
    Namespace: UnityEngine.InputSystem.DualShock
    Syntax
    [Preserve]
    public class DualShockGamepad : Gamepad, IDualShockHaptics, IDualMotorRumble, IHaptics

    Properties

    current

    The last used/added DualShock controller.

    Declaration
    public static DualShockGamepad current { get; }
    Property Value
    Type Description
    DualShockGamepad

    L1

    The left shoulder button.

    Declaration
    public ButtonControl L1 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to leftShoulder.

    L2

    The left trigger button.

    Declaration
    public ButtonControl L2 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to leftTrigger.

    L3

    The left stick press button.

    Declaration
    public ButtonControl L3 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to leftStickButton.

    optionsButton

    The right side button in the middle section of the controller. Equivalent to startButton.

    Declaration
    public ButtonControl optionsButton { get; }
    Property Value
    Type Description
    ButtonControl

    Same as startButton.

    R1

    The right shoulder button.

    Declaration
    public ButtonControl R1 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to rightShoulder.

    R2

    The right trigger button.

    Declaration
    public ButtonControl R2 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to rightTrigger.

    R3

    The right stick press button.

    Declaration
    public ButtonControl R3 { get; }
    Property Value
    Type Description
    ButtonControl

    Equivalent to rightStickButton.

    shareButton

    The left side button in the middle section of the controller. Equivalent to selectButton

    Declaration
    public ButtonControl shareButton { get; }
    Property Value
    Type Description
    ButtonControl

    Same as selectButton.

    touchpadButton

    Button that is triggered when the touchbar on the controller is pressed down.

    Declaration
    public ButtonControl touchpadButton { get; }
    Property Value
    Type Description
    ButtonControl

    Control representing the touchbar button.

    Methods

    FinishSetup()

    Perform final initialization tasks after the control hierarchy has been put into place.

    Declaration
    protected override void FinishSetup()
    Overrides
    Gamepad.FinishSetup()
    Remarks

    This method can be overridden to perform control- or device-specific setup work. The most common use case is for looking up child controls and storing them in local getters.

    public class MyDevice : InputDevice
    {
        public ButtonControl button { get; private set; }
        public AxisControl axis { get; private set; }
    
        protected override void OnFinishSetup()
        {
            // Cache controls in getters.
            button = GetChildControl("button");
            axis = GetChildControl("axis");
        }
    }

    MakeCurrent()

    Make the gamepad the current gamepad.

    Declaration
    public override void MakeCurrent()
    Overrides
    Gamepad.MakeCurrent()
    Remarks

    This is called automatically by the system when there is input on a gamepad.

    OnRemoved()

    Called when the gamepad is removed from the system.

    Declaration
    protected override void OnRemoved()
    Overrides
    Gamepad.OnRemoved()

    SetLightBarColor(Color)

    Set the color of the light bar on the back of the controller.

    Declaration
    public virtual void SetLightBarColor(Color color)
    Parameters
    Type Name Description
    Color color

    Color to use for the light bar. Alpha component is ignored. Also, RBG values are clamped into [0..1] range.

    Implements
    IDualShockHaptics.SetLightBarColor(Color)

    Extension Methods

    InputControlExtensions.FindInParentChain<TControl>(InputControl)
    InputControlExtensions.IsPressed(InputControl, Single)
    InputControlExtensions.IsActuated(InputControl, Single)
    InputControlExtensions.ReadValueAsObject(InputControl)
    InputControlExtensions.ReadValueIntoBuffer(InputControl, Void*, Int32)
    InputControlExtensions.ReadDefaultValueAsObject(InputControl)
    InputControlExtensions.WriteValueFromObjectIntoEvent(InputControl, InputEventPtr, Object)
    InputControlExtensions.WriteValueIntoState(InputControl, Void*)
    InputControlExtensions.WriteValueIntoState<TValue>(InputControl, TValue, Void*)
    InputControlExtensions.WriteValueIntoEvent<TValue>(InputControl, TValue, InputEventPtr)
    InputControlExtensions.CopyState(InputDevice, Void*, Int32)
    InputControlExtensions.CopyState<TState>(InputDevice, out TState)
    InputControlExtensions.CheckStateIsAtDefault(InputControl)
    InputControlExtensions.CheckStateIsAtDefault(InputControl, Void*, Void*)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl)
    InputControlExtensions.CheckStateIsAtDefaultIgnoringNoise(InputControl, Void*)
    InputControlExtensions.CompareStateIgnoringNoise(InputControl, Void*)
    InputControlExtensions.CompareState(InputControl, Void*, Void*, Void*)
    InputControlExtensions.CompareState(InputControl, Void*, Void*)
    InputControlExtensions.HasValueChangeInState(InputControl, Void*)
    InputControlExtensions.HasValueChangeInEvent(InputControl, InputEventPtr)
    InputControlExtensions.GetStatePtrFromStateEvent(InputControl, InputEventPtr)
    InputControlExtensions.FindControlsRecursive<TControl>(InputControl, IList<TControl>, Func<TControl, Boolean>)
    Back to top Copyright © 2020 Unity Technologies
    Generated by DocFX
    on 22 January 2021