using System;
using UnityEngine.InputSystem.LowLevel;
using UnityEngine.InputSystem.Utilities;
namespace UnityEngine.InputSystem
{
///
/// Indicates what type of change related to an input device occurred.
///
///
/// Use to receive notifications about changes
/// to the input device setup in the system.
///
///
///
/// InputSystem.onDeviceChange +=
/// (device, change) =>
/// {
/// switch (change)
/// {
/// case InputDeviceChange.Added:
/// Debug.Log($"Device {device} was added");
/// break;
/// case InputDeviceChange.Removed:
/// Debug.Log($"Device {device} was removed");
/// break;
/// }
/// };
///
///
///
public enum InputDeviceChange
{
///
/// A new device was added to the system. This is triggered after the device
/// has already been added, i.e. it already appears on .
///
/// See also and .
///
Added,
///
/// An existing device was removed from the system. This is triggered after the
/// device has already been removed, i.e. it already has been cleared from .
///
/// Other than when a device is removed programmatically, this happens when a device
/// is unplugged from the system. Subsequent to the notification, the system will remove
/// the instance from its list and remove the device's
/// recorded input state.
///
/// See also .
///
Removed,
///
/// A device reported by the was but was
/// retained by the system as disconnected.
///
/// See also .
///
Disconnected,
///
/// A device that was previously retained as has been re-discovered
/// and has been to the system again.
///
/// See also .
///
Reconnected,
///
/// An existing device was re-enabled after having been .
///
/// See also and .
///
Enabled,
///
/// An existing device was disabled.
///
/// See also and .
///
Disabled,
///
/// The usages on a device have changed.
///
/// This may signal, for example, that what was the right hand XR controller before
/// is now the left hand controller.
///
/// See also and
/// .
///
UsageChanged,
///
/// The configuration of a device has changed.
///
/// This may signal, for example, that the layout used by the keyboard has changed or
/// that, on a console, a gamepad has changed which player ID(s) it is assigned to.
///
/// See also and .
///
ConfigurationChanged,
///
/// Device is being "soft" reset but in a way that excludes
/// controls such as mouse positions. This can happen during application focus changes
/// (see ) or when
/// is called explicitly.
///
/// This notification is sent before the actual reset happens.
///
SoftReset,
///
/// Device is being "hard" reset, i.e. every control is reset to its default value. This happens only
/// when explicitly forced through .
///
/// This notification is sent before the actual reset happens.
///
HardReset,
[Obsolete("Destroyed enum has been deprecated.")]
Destroyed,
}
}