Адресация курсора.
Способ адресации курсора для данного терминала описывается характеристикой "cm" строчного типа. Кроме символов,
которые просто передаются на терминал, в строке могут встречаться специальные последовательности вида %X, которые при выводе заменяются на номер колонки или номер строки по правилам, определяемым символом X (аналогично работает формат в printf). Если рассматривать строку "cm" как формат вывода, то параметрами функции вывода являются номер строки и позиции, на которые должен быть установлен курсор. Коды типа
"%" имеют следующий смысл:
%d | - то же, что и для программы "printf", причем нумерация колонок и столбцов начинается с 0; |
%2 | - эквивалентно %2d; |
%3 | - эквивалентно %3d; |
%. | - эквивалентно %c; |
%+x | - сложить код символа "x" с соответствующим значением (номером строки или колонки), затем выдать ее по "%."; |
%r | - обратный порядок номеров строки и позиции. вывод не производится; |
%i | - номера строки и колонки отсчитывать с 1 (вместо 0); |
%% | - дает один символ "%". |
Например, для терминала "VDT-52100" адресация курсора
описывается следующей строкой:
cm=3^a%.%.
Терминалы, которые используют коды вида "%.", должны
иметь характеристики "bs" (или "bc") и "up", то есть иметь
возможность перемещать курсор назад на 1 позицию и вверх на
одну строку. Это необходимо, так как редактор не выдает
при адресации курсора символы \t, \n, ^D и \r: система может
изменить или уничтожить эти символы.
В данном разделе очень кратко были изложены правила описания терминала в файле /etc/termcap. Обычно при появлении нового терминала бывает целесообразно для его описания использовать описание какого-либо другого терминала либо использовать краткое описание с параметром "tc=...". Однако скорее всего все ваши терминалы уже имеются в /etc/termcap,
что избавит от необходимости разбираться в не очень простых
правилах описания терминалов.