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;
}
}