sbc.dart 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import 'package:xterm/terminal/terminal.dart';
  2. typedef SbcHandler = void Function(int, Terminal);
  3. final sbcHandlers = <int, SbcHandler>{
  4. 0x05: _voidHandler,
  5. 0x07: _bellHandler,
  6. 0x08: _backspaceReturnHandler,
  7. 0x09: _tabHandler,
  8. 0x0a: _newLineHandler,
  9. 0x0b: _newLineHandler,
  10. 0x0c: _newLineHandler,
  11. 0x0d: _carriageReturnHandler,
  12. 0x0e: _shiftOutHandler,
  13. 0x0f: _shiftInHandler,
  14. };
  15. void _bellHandler(int code, Terminal terminal) {
  16. terminal.onBell();
  17. }
  18. void _voidHandler(int code, Terminal terminal) {
  19. // unsupported.
  20. }
  21. void _newLineHandler(int code, Terminal terminal) {
  22. terminal.buffer.newLine();
  23. }
  24. void _carriageReturnHandler(int code, Terminal terminal) {
  25. terminal.buffer.carriageReturn();
  26. }
  27. void _backspaceReturnHandler(int code, Terminal terminal) {
  28. terminal.buffer.backspace();
  29. }
  30. void _shiftOutHandler(int code, Terminal terminal) {
  31. terminal.buffer.charset.use(1);
  32. }
  33. void _shiftInHandler(int code, Terminal terminal) {
  34. terminal.buffer.charset.use(0);
  35. }
  36. void _tabHandler(int code, Terminal terminal) {
  37. terminal.tab();
  38. }