public virtual void StartKeyLoop() { while (true) { if (Console.KeyAvailable) { var key = Console.ReadKey(true); var eventArgs = new PreviewKeyEventArgs(key); PreviewKeyPressed(this, eventArgs); if (eventArgs.DisplayKey && key.KeyChar != default(char)) { Console.Write(key.KeyChar); } if (!eventArgs.Handled) { KeyPressed(this, new KeyEventArgs(key)); } } else { Thread.Sleep(KeyLoopTimeout); } } }
public virtual void OnPreviewKeyPressed(object sender, PreviewKeyEventArgs e) { }