// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
using UnityEngine;
using UnityEngine.Serialization;
using UnityEngine.UI;
namespace Microsoft.MixedReality.Toolkit.Experimental.UI
{
///
/// Represents a key on the keyboard that has a function.
///
[RequireComponent(typeof(Button))]
public class KeyboardKeyFunc : MonoBehaviour
{
///
/// Possible functionality for a button.
///
public enum Function
{
// Commands
Enter,
Tab,
ABC,
Symbol,
Previous,
Next,
Close,
Dictate,
// Editing
Shift,
CapsLock,
Space,
Backspace,
UNDEFINED,
}
///
/// Designer specified functionality of a keyboard button.
///
[Experimental]
[SerializeField, FormerlySerializedAs("m_ButtonFunction")] private Function buttonFunction = Function.UNDEFINED;
public Function ButtonFunction => buttonFunction;
///
/// Subscribe to the onClick event.
///
private void Start()
{
Button m_Button = GetComponent