namespace UnityEngine.InputSystem.Haptics
{
    /// 
    /// A simple haptics interface that allows to control two motors individually.
    /// 
    /// 
    /// Dual-motor control is most common on gamepads (see ) such as
    /// Xbox and PlayStation controllers.
    /// 
    public interface IDualMotorRumble : IHaptics
    {
        /// 
        /// Set the motor speeds of the low-frequency (usually on the left) and high-frequency
        /// (usually on the right) motors.
        /// 
        /// Speed of the low-frequency (left) motor. Normalized [0..1] value
        /// with 1 indicating maximum speed and 0 indicating the motor is turned off. Will automatically
        /// be clamped into range.
        /// Speed of the high-frequency (right) motor. Normalized [0..1] value
        /// with 1 indicating maximum speed and 0 indicating the motor is turned off. Will automatically
        /// be clamped into range.
        /// 
        /// Note that hardware will put limits on the level of control you have over the motors.
        /// Rumbling the motors at maximum speed for an extended period of time may cause them to turn
        /// off for some time to prevent overheating. Also, how quickly the motors react and how often
        /// the speed can be updated will depend on the hardware and drivers.
        /// 
        void SetMotorSpeeds(float lowFrequency, float highFrequency);
    }
}