private void Parser_SequenceReceived(object sender, SequenceReceivedEventArgs e) { bool handled = true; switch (e.Type) { case SequenceType.Text: Terminal.SetCharacters(e.Sequence, font, true, CurrentScreen == Screen); System.Diagnostics.Debug.WriteLine("got: " + e.Sequence); break; case SequenceType.Csi: handled = handleCsi(e.Sequence); break; case SequenceType.Osc: handled = handleOsc(e.Sequence); break; case SequenceType.SingleEscape: handled = handleSingleEscape(e.Sequence[0]); break; case SequenceType.ControlCode: if (e.Sequence[0] == '\n') { lineFeed(false); } else if (e.Sequence[0] == '\b') { if (CursorPos.Col == 0) { CursorPos = new Point(Size.Col - 1, CursorPos.Row - 1); } else { CursorPos = new Point(CursorPos.Col - 1, CursorPos.Row); } } else if (e.Sequence[0] == '\t') { tab(false); } else if (e.Sequence[0] == '\a') { // Disabled because annoyance //System.Media.SystemSounds.Beep.Play(); } else { handled = false; } break; } /*#if !DEBUG * if (!handled) * System.Diagnostics.Debugger.Break(); #else * if (!handled) * System.Diagnostics.Debugger.Break(); #endif*/ }
private void Parser_SequenceReceived(object sender, SequenceReceivedEventArgs e) { bool handled = true; switch (e.Type) { case SequenceType.Text: Terminal.SetCharacters(e.Sequence, font, true, CurrentScreen == Screen); System.Diagnostics.Debug.WriteLine("got: " + e.Sequence); break; case SequenceType.Csi: handled = handleCsi(e.Sequence); break; case SequenceType.Osc: handled = handleOsc(e.Sequence); break; case SequenceType.SingleEscape: handled = handleSingleEscape(e.Sequence[0]); break; case SequenceType.ControlCode: if (e.Sequence[0] == '\n') { lineFeed(false); } else if (e.Sequence[0] == '\b') { if (CursorPos.Col == 0) CursorPos = new Point(Size.Col - 1, CursorPos.Row - 1); else CursorPos = new Point(CursorPos.Col - 1, CursorPos.Row); } else if (e.Sequence[0] == '\t') { tab(false); } else if (e.Sequence[0] == '\a') { // Disabled because annoyance //System.Media.SystemSounds.Beep.Play(); } else handled = false; break; } /*#if !DEBUG if (!handled) System.Diagnostics.Debugger.Break(); #else if (!handled) System.Diagnostics.Debugger.Break(); #endif*/ }