Maze / Library /PackageCache /com.unity.inputsystem@1.6.1 /InputSystem /Devices /InputDeviceChange.cs
| using System; | |
| using UnityEngine.InputSystem.LowLevel; | |
| using UnityEngine.InputSystem.Utilities; | |
| namespace UnityEngine.InputSystem | |
| { | |
| /// <summary> | |
| /// Indicates what type of change related to an <see cref="InputDevice">input device</see> occurred. | |
| /// </summary> | |
| /// <remarks> | |
| /// Use <see cref="InputSystem.onDeviceChange"/> to receive notifications about changes | |
| /// to the input device setup in the system. | |
| /// | |
| /// <example> | |
| /// <code> | |
| /// 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; | |
| /// } | |
| /// }; | |
| /// </code> | |
| /// </example> | |
| /// </remarks> | |
| public enum InputDeviceChange | |
| { | |
| /// <summary> | |
| /// A new device was added to the system. This is triggered <em>after</em> the device | |
| /// has already been added, i.e. it already appears on <see cref="InputSystem.devices"/>. | |
| /// | |
| /// See also <see cref="InputSystem.AddDevice{TDevice}(string)"/> and <see cref="InputDevice.added"/>. | |
| /// </summary> | |
| Added, | |
| /// <summary> | |
| /// An existing device was removed from the system. This is triggered <em>after</em> the | |
| /// device has already been removed, i.e. it already has been cleared from <see cref="InputSystem.devices"/>. | |
| /// | |
| /// 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 <see cref="InputDevice"/> instance from its list and remove the device's | |
| /// recorded input state. | |
| /// | |
| /// See also <see cref="InputSystem.RemoveDevice"/>. | |
| /// </summary> | |
| Removed, | |
| /// <summary> | |
| /// A device reported by the <see cref="IInputRuntime"/> was <see cref="Removed"/> but was | |
| /// retained by the system as <see cref="InputSystem.disconnectedDevices">disconnected</see>. | |
| /// | |
| /// See also <see cref="InputSystem.disconnectedDevices"/>. | |
| /// </summary> | |
| Disconnected, | |
| /// <summary> | |
| /// A device that was previously retained as <see cref="Disconnected"/> has been re-discovered | |
| /// and has been <see cref="Added"/> to the system again. | |
| /// | |
| /// See also <see cref="InputSystem.disconnectedDevices"/>. | |
| /// </summary> | |
| Reconnected, | |
| /// <summary> | |
| /// An existing device was re-enabled after having been <see cref="Disabled"/>. | |
| /// | |
| /// See also <see cref="InputSystem.EnableDevice"/> and <see cref="InputDevice.enabled"/>. | |
| /// </summary> | |
| Enabled, | |
| /// <summary> | |
| /// An existing device was disabled. | |
| /// | |
| /// See also <see cref="InputSystem.DisableDevice"/> and <see cref="InputDevice.enabled"/>. | |
| /// </summary> | |
| Disabled, | |
| /// <summary> | |
| /// 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 <see cref="InputSystem.SetDeviceUsage(InputDevice,string)"/> and | |
| /// <see cref="InputControl.usages"/>. | |
| /// </summary> | |
| UsageChanged, | |
| /// <summary> | |
| /// 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 <see cref="DeviceConfigurationEvent"/> and <see cref="InputSystem.QueueConfigChangeEvent"/>. | |
| /// </summary> | |
| ConfigurationChanged, | |
| /// <summary> | |
| /// Device is being "soft" reset but in a way that excludes <see cref="Layouts.InputControlLayout.ControlItem.dontReset"/> | |
| /// controls such as mouse positions. This can happen during application focus changes | |
| /// (see <see cref="InputSettings.backgroundBehavior"/>) or when <see cref="InputSystem.ResetDevice"/> | |
| /// is called explicitly. | |
| /// | |
| /// This notification is sent before the actual reset happens. | |
| /// </summary> | |
| SoftReset, | |
| /// <summary> | |
| /// Device is being "hard" reset, i.e. every control is reset to its default value. This happens only | |
| /// when explicitly forced through <see cref="InputSystem.ResetDevice"/>. | |
| /// | |
| /// This notification is sent before the actual reset happens. | |
| /// </summary> | |
| HardReset, | |
| [] | |
| Destroyed, | |
| } | |
| } | |