InputControl AddControl(SupportedControl supportedControl, InputControl control, bool standardized)
        {
            int index;

            if (supportedControlIndices.TryGetValue(supportedControl.hash, out index))
            {
                return(controls[index]);
            }

            if (control == null)
            {
                control = Activator.CreateInstance(supportedControl.controlType.value) as InputControl;
            }
            if (control.name == null)
            {
                control.name = supportedControl.standardName;
            }

            index = controls.Count;
            supportedControlIndices[supportedControl.hash] = index;
            control.index = index;
            controls.Add(control);

            InputSystem.RegisterControl(supportedControl, m_DeviceType, standardized);

            return(control);
        }