Maze / Library /PackageCache /com.unity.inputsystem@1.6.1 /InputSystem /Events /DeviceConfigurationEvent.cs
| using System.Runtime.InteropServices; | |
| using UnityEngine.InputSystem.Utilities; | |
| ////REVIEW: should this have optional data that identifies *what* has changed? | |
| namespace UnityEngine.InputSystem.LowLevel | |
| { | |
| /// <summary> | |
| /// Indicates that the configuration of a device has changed. | |
| /// </summary> | |
| /// <seealso cref="InputSystem.QueueConfigChangeEvent"/> | |
| /// <seealso cref="InputDevice.OnConfigurationChanged"/> | |
| [] | |
| public struct DeviceConfigurationEvent : IInputEventTypeInfo | |
| { | |
| public const int Type = 0x44434647; | |
| [] | |
| public InputEvent baseEvent; | |
| ////REVIEW: have some kind of payload that allows indicating what changed in the config? | |
| public FourCC typeStatic => Type; | |
| public unsafe InputEventPtr ToEventPtr() | |
| { | |
| fixed(DeviceConfigurationEvent * ptr = &this) | |
| { | |
| return new InputEventPtr((InputEvent*)ptr); | |
| } | |
| } | |
| public static DeviceConfigurationEvent Create(int deviceId, double time) | |
| { | |
| var inputEvent = new DeviceConfigurationEvent(); | |
| inputEvent.baseEvent = new InputEvent(Type, InputEvent.kBaseEventSize, deviceId, time); | |
| return inputEvent; | |
| } | |
| } | |
| } | |