using System; using Chernobyl.Event; namespace Chernobyl.Input.Controls { /// /// An interface for handling keyboard devices. /// public interface IKeyboard : IControl { /// /// The backspace key or null if it does not exist on the keyboard. /// IButtonControl Backspace { get; } /// /// The delete key or null if it does not exist on the keyboard. /// IButtonControl Delete { get; } /// /// The down arrow or null if it does not exist on the keyboard. /// IButtonControl Down { get; } /// /// The End key or null if it does not exist on the keyboard. /// IButtonControl End { get; } /// /// The Home key or null if it does not exist on the keyboard. /// IButtonControl Home { get; } /// /// The up arrow or null if it does not exist on the keyboard. /// IButtonControl Up { get; } /// /// The up arrow or null if it does not exist on the keyboard. /// IButtonControl Left { get; } /// /// The right arrow or null if it does not exist on the keyboard. /// IButtonControl Right { get; } /// /// Gets the with the specified key name. /// IButtonControl this[string keyName] { get; } /// /// An event that is raised when text has been "entered" or typed on /// the keyboard. /// event EventHandler> TextEntered; } }