Last Input Device#
Input / Last Input Device
Can Read
Cannot Write
Description#
The name of the input device that was used most recently
Code#
using System;
using UnityEngine.InputSystem;
using VisualScript.Icons;
namespace VisualScript.Runtime
{
[Get]
[Title("Last Input Device")]
[Category("Input/Last Input Device")]
[Description("The name of the input device that was used most recently")]
[Image(typeof(IconComputer), ColorTheme.Type.Blue, typeof(BadgeString))]
[Keywords("Keyboard", "Mouse", "Gamepad", "Prompt", "Scheme", "Switch")]
[Serializable]
public class TypeStringInputLastDevice : TypeString
{
public override string Get(Args args)
{
InputDevice lastDevice = null;
double lastUpdateTime = 0d;
foreach (InputDevice device in InputSystem.devices)
{
if (device.lastUpdateTime <= lastUpdateTime) continue;
lastUpdateTime = device.lastUpdateTime;
lastDevice = device;
}
return lastDevice != null ? lastDevice.displayName : string.Empty;
}
public override string ToString()
{
return "Last Input Device";
}
protected override SubscriptionMode Subscription => SubscriptionMode.OnChange;
}
}