| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- import 'package:xterm/terminal/terminal.dart';
- typedef SbcHandler = void Function(int, Terminal);
- final sbcHandlers = _sbcHandlers();
- // build single byte character lookup table
- List<SbcHandler?> _sbcHandlers() {
- final result = List<SbcHandler?>.filled(0x0f, null);
- result[0x05] = _voidHandler;
- result[0x07] = _bellHandler;
- result[0x08] = _backspaceReturnHandler;
- result[0x09] = _tabHandler;
- result[0x0a] = _newLineHandler;
- result[0x0b] = _newLineHandler;
- result[0x0c] = _newLineHandler;
- result[0x0d] = _carriageReturnHandler;
- result[0x0e] = _shiftOutHandler;
- result[0x0f] = _shiftInHandler;
- return result;
- }
- void _bellHandler(int code, Terminal terminal) {
- terminal.onBell();
- }
- void _voidHandler(int code, Terminal terminal) {
- // unsupported.
- }
- void _newLineHandler(int code, Terminal terminal) {
- terminal.buffer.newLine();
- }
- void _carriageReturnHandler(int code, Terminal terminal) {
- terminal.buffer.carriageReturn();
- }
- void _backspaceReturnHandler(int code, Terminal terminal) {
- terminal.buffer.backspace();
- }
- void _shiftOutHandler(int code, Terminal terminal) {
- terminal.buffer.charset.use(1);
- }
- void _shiftInHandler(int code, Terminal terminal) {
- terminal.buffer.charset.use(0);
- }
- void _tabHandler(int code, Terminal terminal) {
- terminal.tab();
- }
|