using BizHawk.Common; namespace BizHawk.Emulation.Cores.Computers.AmstradCPC { /// /// Represents a spectrum keyboard /// public interface IKeyboard { /// /// The calling spectrumbase class /// CPCBase _machine { get; } /// /// The keyboard matrix for a particular CPC model /// string[] KeyboardMatrix { get; set; } /// /// Other keyboard keys that are not in the matrix /// (usually keys derived from key combos) /// string[] NonMatrixKeys { get; set; } /// /// Represents the spectrum key state /// bool[] KeyStatus { get; set; } /// /// The currently selected line /// int CurrentLine { get; set; } /// /// Reads the current line status /// byte ReadCurrentLine(); /// /// Sets the CPC key status /// void SetKeyStatus(string key, bool isPressed); /// /// Gets the status of a CPC key /// bool GetKeyStatus(string key); void SyncState(Serializer ser); } }