Сообщение от
Error404
Опубликуйте пожалуйста таблицу ESC-кодов, которые понимает терминал.
Терминал понимает такие коды:
Код:
void VT_TerminalClass::SetupParser()
{
EscParser.AddSeq( "\005", SEQ_FUN( Answerback ) );
EscParser.AddSeq( "\007", SEQ_FUN( Beep ) );
EscParser.AddSeq( "\010", SEQ_FUN( BS ) );
EscParser.AddSeq( "\011", SEQ_FUN( TAB ) );
EscParser.AddSeq( "\012", SEQ_FUN( LF ) );
EscParser.AddSeq( "\013", SEQ_FUN( VT ) );
EscParser.AddSeq( "\014", SEQ_FUN( FF ) );
EscParser.AddSeq( "\015", SEQ_FUN( CR ) );
EscParser.AddSeq( "\016", SEQ_FUN( RUS ) );
EscParser.AddSeq( "\017", SEQ_FUN( LAT ) );
EscParser.AddSeq( "\033=", SEQ_FUN( Ext ) );
EscParser.AddSeq( "\033>", SEQ_FUN( Num ) );
EscParser.AddSeq( "\033[", SEQ_FUN( Hold_ON ) );
EscParser.AddSeq( "\033\\", SEQ_FUN( Hold_OFF ) );
EscParser.AddSeq( "\033A", SEQ_FUN( Up ) );
EscParser.AddSeq( "\033B", SEQ_FUN( Down ) );
EscParser.AddSeq( "\033C", SEQ_FUN( Right ) );
EscParser.AddSeq( "\033D", SEQ_FUN( Left ) );
EscParser.AddSeq( "\033F", SEQ_FUN( Graph_ON ) );
EscParser.AddSeq( "\033G", SEQ_FUN( Graph_OFF ) );
EscParser.AddSeq( "\033H", SEQ_FUN( Home ) );
EscParser.AddSeq( "\033I", SEQ_FUN( RevLF ) );
EscParser.AddSeq( "\033J", SEQ_FUN( CLS ) );
EscParser.AddSeq( "\033K", SEQ_FUN( ClrStr ) );
EscParser.AddSeq( "\033Y\1\1", SEQ_FUN( CurPosYX ) );
EscParser.AddSeq( "\033Z", SEQ_FUN( TerminalID ) );
}
Сообщение от
Error404
И сразу предложение - сделать подключаемые таблицы перекодировки для любых 8-битных кодовых таблиц - как в Far-е, чтобы был не только KOI-7.
Терминал понимает и текст в КОИ-8, перекодируя 8-битные текстовые коды по следующей таблице:
Код:
static byte KoiToWin[] = {
" "
" !\"#$%&'()*+,-./0123456789:;<=>?"
"@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
"`abcdefghijklmnopqrstuvwxyz{|}~\xA0"
" "
" !\"#¤%&'()*+,-./0123456789:;<=>?"
"юабцдефгхийклмнопярстужвьызшэщчъ"
"ЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧ\xA0"
"§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§"
}; // 0177 превращается в 0240 (неразрывный пробел)
При выводе на экран - код \xA0 графически превращается в засвеченное знакоместо.