Unix Manual References - termcap
termcap - описание характеристик терминалов.
Файл /etc/termcap содержит описание функциональных характеристик
всех известных системе типов терминалов. Эти описания
используются многими командами ДЕМОС для настройки
на работу с конкретным устройством и могут быть получены с
помощью функций библиотеки
termcap(3x).
Для описания устройства в файле /etc/termcap отводится
одна запись. Записью считается текстовая строка, заканчивающаяся
символом перевода строки (\n). Если перед символом
\n стоит символ `\', запись дополняется содержимым
следующей строки. Каждая запись состоит из полей, разделенных
символами `:'. Строки, начинающиеся с символа `#',
считаются комментариями.
Первое поле описания терминала содержит имя терминала, под
которым он известен в системе. Имен может быть несколько и
они разделяются символами `|'. Первое имя должно содержать
не более 2 символов (некоторые команды отводят под
имя устройства 16-разрядное слово и работают с именем как
с числовым идентификатором). Второе имя определяет наиболее
распространенное сокращение полного наименования данного
терминала и не может содержать пробелов. Последнее
имя соответствует полному официальному названию устройства
и, разумеется, может содержать пробелы.
Все остальные поля содержат набор описателей, в которых
содержится информация о функциональных возможностях терминала,
способах редактирования информации на экране терминала
и описание клавиатуры.
Существует три типа описателей:
bool |
Логический. Указывает на то, что данное устройство
обладает некоторым свойством. |
num |
Числовой. Задает размер экрана терминала, продолжительность
задержек при передаче информации и т.д. |
str |
Символьный. Определяет последовательность кодов,
вывод которых приводит к выполнению какой-либо специфичной
для данного устройства функции. |
Все описатели имеют двухсимвольные имена. Логические опи-
сатели записываются в следующей форме: :<имя>: например:
:bs: Численные описатели имеют следующий формат:
:<имя>#<число>: например:
:li#25: Символьные описатели имеют следующий формат:
:<имя>=<строка>: или, если при
выполнении операции требуется задержка, :<имя>=<задержка><строка>: где <задержка> -
десятичное число, определяющее число миллисекунд, которое
необходимо выждать после посылки соответствующей команды
на устройство. Для получения задержки подпрограммы библиотеки
termcap(3x),
генерируют последовательность символов-заполнителей, которые
передаются вслед за командой. Предполагается,
что устройство в лучшем случае игнорирует их.
Задержка может быть представлена либо целым числом, например,
20, либо целым числом с символом `*', например,
"3*". Символ `*' указывает на то, что задержка должна
быть умножена на число строк или символов, которые затрагиваются
при выполнении данной операции.
Для упрощения кодирования символьных описателей предусмотрено
несколько вариантов обозначения неграфических символов.
Например, последовательность \E отображается в код
033 (смена режима интерпретации), ^M - в символ возврата
каретки (код 015), последовательность \n\r\t\b\f отображается
в набор кодов 012, 015, 011, 010 и 014. Наконец, код
может быть задан в виде трех восьмеричных цифр после символа
`\', а символы `^' и `\' могут быть заданы
как \^ и \\. Если в описатель требуется вставить
символ `:', он может быть задан в восьмеричном виде
как \072.
Хотя системе известен достаточно большой набор характеристик
терминалов, использовать его целиком не обязательно.
Редактор текстов, например, требует для своей работы
только описание способов перемещения курсора и некоторой
информации об алфавитном наборе устройства. Дополнительная
информация может использоваться для оптимизации и
ускорения вывода, и для организации более удобной работы с
терминалом. Следует отметить, что данный набор описателей
может быть недостаточен для описания всех существующих
терминалов.
Следующие описатели характеризуют общие свойства терминала.
co#<число> |
Число колонок на экране терминала. |
li#<число> |
Число строк, если терминал является видеотерминалом. |
hc |
Признак того, что терминал является печатающим
устройством (например, телетайп). |
UC |
Признак задается, если терминал имеет только
прописные буквы. |
KI |
Говорит о том, что терминал имеет русские буквы. |
IK |
Совместно с KI указывает на то, что терминал с
русскими буквами имеет клавиатуру, режим которой
русский/латинский переключается
непосредственно от клавиш рус/лат (которые
одновременно вырабатывают соответствующие
коды), если клавиатура переключается по символам
рус/лат, приходящим из линии (а клавиши
просто генерируют соответствующий код), то
этот признак должен отсутствовать. |
os/td>
| Терминал допускает наложение символов. |
am |
Если курсор при достижении последней колонки
автоматически переходит в начало следующей
строки, то задается признак am. |
Следующие описатели описывают инициализацию терминала и
включение/выключение специального режима функциональной
клавиатуры.
is=<строка> |
Задает последовательность символов, которую
необходимо выдать для приведения терминала в
начальное состояние (инициализация терминала). |
if=<строка> |
Задает имя файла, в котором содержится инициализирующая
последовательность символов, если
она достаточно длинна. Если заданы оба описателя,
то сначала печатается строка is, а затем
- файл if. Это используется, когда именем
файла является /usr/lib/tabset/std, но строка
начальной установки должна инициировать предварительное
гашение табуляторов. |
fs=<строка> |
Последовательность, которая выдается в конце
работы с терминалом. |
ks=<строка> |
Включение специального режима функциональной
клавиатуры. Эта последовательность выдается,
например, при входе в редактор. |
ke=<строка> |
Выключение специального режима работы клавиатуры. |
Следующие описатели описывают различные способы перемещения
курсора по экрану терминала.
Адресация курсора
Способ адресации курсора (то есть способ установки курсора
в заданную позицию экрана) задается описателем cm строчного
типа. Он определяет формат вывода номеров колонки и
строки так же, как и спецификация формата в подпрограмме
printf(3s).
Признаком формата преобразования служит символ %.
Первый формат относится к номеру строки, а второй
- к номеру колонки, на которые должен быть установлен курсор;
может быть задан обратный порядок их следования с
помощью спецификации %r. Другие символы строки cm
передаются на терминал без изменений. Спецификации формата
имеют следующий смысл:
%d |
то же, что и для программы printf; координаты начала
экрана считаются нулевыми; |
%2 |
аналогично %2d в printf; |
%3 |
аналогично %3d; |
%. |
аналогично %c; |
%+х |
сложить код символа x со значением координаты, полученное
значение выводится по формату "%."; |
%<xy |
если значение меньше x, прибавить y, полученное
значение выводится по формату "%."; |
%r |
обратный порядок задания номеров строки и колонки,
(сначала номер колонки, затем номер строки); |
%i |
номера строки и позиции увеличиваются на единицу,
исходной точкой считается 1; |
%% |
дает один символ %; |
%n |
выполняется операция исключающее или, в которой
участвуют номер строки и позиции и число 0140. |
Существуют также однопараметрические описатели ch и cv для
раздельного горизонтального и вертикального позиционирования
курсора.
Следующие описатели задаются, если терминал умеет встав-
лять и уничтожать строки, или сдвигать информацию на
экране:
al=<строка> |
Вставка пустой строки, текущая строка и весь
текст ниже нее сдвигаются на одну строку вниз;
курсор остается на месте. Считается, что при
выдаче команды курсор находится на первой
колонке. |
dl=<строка> |
Уничтожить строку, сдвинув текст ниже нее на 1
строку вверх; |
Следующие описатели указываются, если терминал умеет прок-
ручивать текст на экране вверх или вниз.
sr=<строка> |
Прокрутить текст вниз; может выводиться только
в первой строке; |
sf=<строка> |
Прокрутить текст вверх; может выводиться
только в последней строке. |
Если терминал запоминает строки, вышедшие за верхнюю гра-
ницу экрана, вводится описатель db; если строки сохраня-
ются при выходе за нижнюю границу экрана, указывается da.
Эти признаки говорят о том, что при прокручивании экрана
на нем могут появиться из-за границы экрана старые строки.
Следующие описатели определяют последовательности команд
для стирания фрагментов текста.
cl=<строка> |
Стирание всего экрана. |
ce=<строка> |
Стирание части текущей строки, начиная от
текущей колонки и до конца строки; |
cd=<строка> |
Стирание части экрана, начиная с текущей
строки и до конца; может выдаваться только при
положении курсора в первой колонке строки. |
Система может обслуживать терминалы, имеющие режим вставки
символов и терминалы, в которых для получения пустой позиции
в текущей строке используется простая командная последовательность.
Последовательность, переводящая терминал в
режим вставки, задается как описатель im. Последовательность,
выключающая режим вставки символов, задается как
описатель ei. Если перед вставкой символа в строку необходимо
выдать командную последовательность символов, она
задается как ic=<строка>. Если терминал не имеет режима
вставки символов, но умеет вставлять в строку пробелы,
задаются пустые описатели :ei=: и :im=:, а команда вставки
пустого символа записывается в описатель ic. Если
терминал допускает оба способа вставки символов, более
предпочтительным является использование режима вставки.
Если после вставки символа необходима задержка, задается
описатель ip (строчного типа), в котором указывается
задержка и последовательность управляющих символов, которые
необходимо вывести после вставки одного символа.
Наконец, режим исключения символов может быть задан с
помощью описателей dm, ed, dc, определяющих,
соответственно, установку или блокирование режима исключения и способ
исключения одного символа.
Наиболее типичные операции вставки-исключения символов
применимы к символам текущей строки и просто сдвигают все
другие символы, вплоть до конца строки. Некоторые терминалы
различают пробелы, введенные с клавиатуры, и пробелы,
которые присутствуют на экране, но не были введены пользователем.
В этом случае сдвиг символов при выполнении операций
вставки или исключения осуществляется лишь до первого
невведенного пробела, который либо уничтожается, либо
дополняется еще одним таким же пробелом. Для таких терминалов
должен быть задан описатель in.
В этом разделе описаны средства выделения текста и высвечивания
специальных меток на экране. Прежде всего, необходимо
описать способ получения на экране выделяющегося символа,
который используется для указания положения курсора
в тексте при переходе в режим ввода аргументов - описатель
cu. Выбор такой последовательности достаточно произволен,
на терминалах, умеющих изображать символ 0177 в виде
яркого квадрата, используется этот символ. Можно использовать
мигание какого либо символа, инвертирование яркости и т.п.
Если терминал имеет командные последовательности, устанавливающие
и блокирующие режим визуального выделения текста,
эти последовательности могут быть заданы описателями so и
se. Если терминал допускает несколько способов визуального
выделения, например, инвертирование фона изображения,
мерцание или подчеркивание (уменьшение яркости не считается
визуальным выделением), - то более предпочтительным
является инвертирование фона.
Коды, инициирующие и блокирующие подчеркивание могут быть
заданы, соответственно, как описатели us и ue. Если
терминал имеет код для подчеркивания одного текущего символа
и перемещения курсора на одну позицию вправо, этот код
может быть задан в описателе uc. Если код подчеркивания
не вызывает перемещение курсора вправо, то после него
записывается код курсор вправо.
Если во время выполнения программы, осуществляющей адресацию
курсора, терминал должен быть переведен в специальный
режим, коды установки и блокирования этого режима могут
быть заданы как описатели ti и te. Необходимость в этом
возникает, например, при работе с терминалами, имеющими
внутреннюю память емкостью более одной страницы. Если
адресация курсора осуществляется относительно некоторой
ячейки памяти, а не относительно позиции на экране, то для
правильной адресации курсора требуется, чтобы терминал
всегда воспроизводил на экране некоторый фиксированный
участок внутренней памяти, так называемое окно, размер
которого должен соответствовать размеру экрана.
Если терминал правильно воспроизводит символы с подчеркиванием
и не требует для них специальных кодов даже несмотря
на то, что не допускает наложения символов в одной
позиции, в его описании следует указать ul. Если наложенные
символы могут быть стерты с помощью пробела, это
должно быть указано с помощью описателя eo.
Эта информация может быть указана только в том случае,
если терминал имеет клавиатуру, при нажатии клавиш которой
происходит физическая передача соответствующего управляющего
символа или последовательности символов. Обратите
внимание, что это описание не позволяет работать с терминалами,
клавиатура которых служит лишь для выполнения
локальных операций. Если для клавиатуры может быть установлен
или блокирован режим передачи управляющих последовательностей,
соответствующие коды указываются как описатели ks и ke.
Коды, которые передаются при нажатии клавишей курсор
влево, курсор вправо, курсор вверх,
курсор вниз, курсор в начало, чистка экрана,
вставить символ, исключить символ, вставить строку, убрать строку
указываются, соответственно, описателями kl, kr, ku,
kd, kh, ER, IC, DC, IL,
DL. Если существуют специальные функциональные клавиши f0,
f1, ..., f9, то коды, которые передаются
при их нажатии, могут быть указаны как k0, k1, ...,
k9.
Если эти клавиши имеют маркировку, отличную от принятых по
умолчанию обозначений f0, ..., f9, их обозначения могут
быть указаны с помощью описателей l0, ..., l9. Если
цифровая клавиатура может генерировать управляющие последовательности
символов, эти последовательности обозначаются
как k0 - k9, k., k-. Если существуют
другие клавиши,
нажатие которых вызывает передачу такого же кода, как и
для определенной для данного терминала специальной функции,
- например гашение экрана , то в качестве описателя
ko в файле функциональных возможностей терминала могут
быть указаны соответствующие 2-символьные коды: например,
строка вида :ko=cl,ho,sf,sb: сообщает о том, что терминал
имеет клавиши: гашение, возврат в исходное положение,
прокручивание сверху вниз и прокручивание снизу вверх, при
нажатии которых передаются те же коды, что были указаны в
описателях cl, li, sf и sb.
Для отработки временных задержек при выдаче управляющих
последовательностей на терминал передаются символы-заполнители.
По умолчанию используется символ \0. Если в
качестве символа-заполнителя для данного терминала требуется
определить символ, отличный от нуля, этот символ
может быть указан описателем pc.
Если выполняемые данным терминалом операции табуляция требуют
дополнения текста символами-заполнителями или если в
качестве символа табуляция используется символ, отличный
от \t, это может быть указано с помощью описателя ta.
Если терминал отображает символ возврат каретки в пару
символов возврат каретки - перевод строки и игнорирует
следующий символ перевод строки, то для него должен быть
задан описатель xr.
Если существуют два очень похожих терминала, один из них
может быть определен через описание другого. Для этого
сначала описываются свойства, отличающие данный терминал
от базового, а в конце описания указывается описатель tc,
который задает имя базового типа. Суммарная длина двух
элементов описания не должна превышать 1024 символов. Поскольку
подпрограммы termlib просматривают элемент описания
слева направо и описатель tc заменяется соответствующим
элементом (описанием аналога), указанные слева описатели
накладываются на описатели аналогичного терминала.
При необходимости характеристика может быть аннулирована с
помощью строки вида xx@, где xx - исключаемый
описатель.
Например, элемент вида:
v3|vt340:cu@:cm@:dN#4:UC:KI:nb:tc=vdt52100c:
описывает терминал VIDEOTON-340, который отличается от терминала
VDT-52100c отсутствием адресации курсора и изображаемого
символа забой, режимом больших букв и наличием русских
букв, а в остальном с ним совпадает. Описание терминалов
по аналогии используется также для определения разных
режимов работы терминала или для учета различных пожеланий
пользователя.
Для описания цветов используются следующие описатели:
Cf=<строка> |
Строка в формате, аналогичном cm, но от одного
параметра (для функции tgoto), описывающая
включение основного цвета по его номеру.
s=tgoto( Cf_string ,0 ,НомерЦвета ); |
Cb=<строка> |
Строка в том же формате, описывающая включение
цвета фона по его номеру. |
Nf#<число> |
Числовой описатель, указывающий число основных
цветов. Если описатель отсутствует - терминал
не цветной. |
Nb#<число> |
Числовой описатель, указывающий число цветов
фона. |
C1 |
Признак, указывающий, что терминалу можно
установить ЛИБО основной ЛИБО фоновый цвет, но
не оба вместе (вероятно, цветной фон получается
только при инверсии изображения (описатель mr)). |
C2 |
Признак, указывающий, что терминал допускает
только совместную установку основного и фонового
цвета. В этом случае описывается только
Cf, но от двух параметров:
s=tgoto( Cf_string,Фон ,ОснЦвет ); |
Mf=<строка>
Mb=<строка> |
Описатели, описывающие соответствие номера
цвета реальному цвету.
Если мы устанавливаем цвет с номером
color = tputs( tgoto(
Cf_string,0,color ),1,putchar );
то реально установится цвет, чей код есть Коды
цветов взяты в порядке, соответствующем цветам
на персональном компьютере IBM PC.
0 - черный |
8 - темно-серый |
1 - синий |
9 - светло-синий |
2 - зеленый |
A - светло-зеленый |
3 - голубой |
B - ярко-голубой |
4 - красный |
C - алый |
5 - сиреневый |
D - розовый |
6 - коричневый |
E - желтый |
7 - серый |
F - белый |
|
Например:
IBM PC
| ANSI standard
|
Mf=0123456789ABCDEF
Mb=01234567 |
Mf=042E153F |
Возможны
изменения.
Существуют еще описатели, используемые редактором red(1).
Эти описатели определяют 4 режима выделения (цветосочетания).
m1=<строка> |
Цвет рамки. |
m2=<строка> |
Цвет сообщения об ошибках. |
m3=<строка> |
Цвет приглашения. |
m4=<строка> |
Цвет разных информационных сообщений. |
Описатель me должен выключать все эти режимы выделения.
Для работы с псевдографикой в termcap используются следующие
описатели:
gs=<строка>
Включить режим вывода псевдографики.
ge=<строка>
Выключить режим вывода псевдографики.
Описатели g1-g6 возвращают массивы символов. Чтобы
вывести псевдографический символ следует включить псевдографику,
вывести нужные символы (индексируя строки от g1 до
g6), выключить псевдографику. Пробел в строке означает,
что данный псевдографический символ отсутствует.
Старые описатели
--- --- ---
|8 |9 10| Tl Tj Tr
--- Hl
| | | 0
|-- -+- --| Lj Cj Rj
|5 |6 7| | Vl
1|
|2 |3 4| | Bl Bj Br
--- --- ---
g1=<строка> |
Простые линии. |
g2=<строка>
| Двойные линии. |
g3=<строка>
| Двойные горизонтальные, простые вертикальные. |
g4=<строка>
| Простые горизонтальные, двойные вертикальные. |
g5=<строка>
| Стрелки соответственно таблице: |
-> | <- | вверх | вниз | <--> | вверх-вниз
|
0 |
1 |
2 |
3 |
4 |
5 |
треугольники
g6=<строка> |
Квадраты (блочная псевдографика) соответственно таблице:
|
## .. #. .# ## %% +
.. ## #. .# ## %% /I\ (спецсимвол)
(светлый)
0 1 2 3 4 5 6
Список описателей
Имя
| Тип Зап.
| Описание
|
BT |
str |
Клавиша обратной табуляции (для red). |
C1 |
bool |
Только основной цвет (нет фонового). |
C2 |
bool |
Основной и фоновый цвета устанавливаются одновременно. |
CS |
num |
Тип переключения регистров РУС/ЛАТ. |
CY |
bool |
Терминал имеет кириллицу. |
Cb |
str |
Установка цвета фона по номеру. |
Cf |
str |
Установка основного цвета по номеру. |
DC |
str |
Код клавиши "исключить символ" (для red). |
DL |
str |
Код клавиши "исключить строку" (для red). |
ER |
str |
Код клавиши "очистка экрана" (для red). |
IC |
str |
Код клавиши "вставить символ" (для red). |
IL |
str |
Код клавиши "вставить строку" (для red). |
LC |
bool |
Терминал имеет прописные и строчные буквы. |
Mb |
str |
Карта цветов фона. |
Mf |
str |
Карта основных цветов. |
Nb |
num |
Число цветов фона. |
Nf |
num |
Число основных цветов. |
PH |
num |
Тип прямо адресуемой видеопамяти. |
UC |
bool |
Терминал имеет только прописные буквы. |
ae |
str p |
Конец работы с альтернативным шрифтовым набором (курсивом). |
al |
str p* |
Вставить пустую строку. |
am |
bool |
При достижении конца текущей строки курсор автоматически
перемещается в начало следующей строки. |
as
| str p |
Начало работы с альтернативным шрифтовым набором (курсивом). |
bc
| str |
Перевод курсора на одну позицию назад (если не \b); |
bl
| str |
Звуковой сигнал (если не \7). |
bs | bool |
Вывод символа \b приводит к перемещению курсора на одну
позицию назад. |
bt
| str p |
Обратная табуляция. |
bw |
bool |
Перемещение курсора на одну позицию назад из первой
позиции строки вызывает переход в конец предыдущей строки. |
cd |
str p* |
Стирание информации от текущей позиции до конца экрана. |
ce |
str p* |
Стирание информации от текущей позиции до конца строки. |
ch |
str p |
Адресация курсора в пределах текущей строки (по горизонтали). |
cl |
str p |
Очистка экрана. |
cm |
str p |
Адресация курсора. |
co |
num |
Число позиций в строке на экране. |
cr |
str p* |
Возврат в начало строки (если не \r); |
cs |
str p |
Изменение области роллирования на экране
(параметры аналогичны cm); |
ct |
str |
Стирание всех маркеров табуляции. |
cu |
str |
Код символа - альтернативного курсора (яркой отметки); |
cv |
str p |
Адресация курсора по вертикали. |
cw |
str |
Установка окна для вывода. |
dB |
num |
Задержка в миллисекундах для символа \b (BS). |
dC |
num |
Задержка в миллисекундах для символа \r (CR). |
dF |
num |
Задержка в миллисекундах для символа \f (FF). |
dN |
num |
Задержка в миллисекундах для символа \n (NL). |
dT |
num |
Задержка в миллисекундах для символа \t (TAB). |
da |
bool |
Терминал сохраняет информацию о строках, сдвинутых вверх за
границу экрана. |
db |
bool |
Терминал сохраняет информацию о строках, сдвинутых вниз за
границу экрана. |
dc |
str p* |
Исключить символ в текущей позиции. |
dl |
str p* |
Удалить текущую строку. |
dm |
str |
Переход в режим удаления символов. |
do |
str p |
Перевод курсора вниз на одну строку. |
ds |
str |
Отменить информационную строку (строку состояния дисплея). |
ec |
str |
Очистить символ. |
ed |
str |
Конец режима удаления символов. |
ei |
str |
Конец режима вставки символов. |
eo |
bool |
Пробел стирает символ в текущей позиции. |
eo |
bool |
Наложения стираются пробелом. |
es |
bool |
В информационной строке можно пользоваться символом escape
(\33). |
f, |
str |
"," в режиме альтернативной клавиатуры. |
f- |
str |
"-" в режиме альтернативной клавиатуры. |
f. |
str |
"." в режиме альтернативной клавиатуры. |
f0 |
str |
"0" в режиме альтернативной клавиатуры. |
f1 |
str |
"1" в режиме альтернативной клавиатуры. |
f2 |
str |
"2" в режиме альтернативной клавиатуры. |
f3 |
str |
"3" в режиме альтернативной клавиатуры. |
f4 |
str |
"4" в режиме альтернативной клавиатуры. |
f5 |
str |
"5" в режиме альтернативной клавиатуры. |
f6 |
str |
"6" в режиме альтернативной клавиатуры. |
f7 |
str |
"7" в режиме альтернативной клавиатуры. |
f8 |
str |
"8" в режиме альтернативной клавиатуры. |
f9 |
str |
"9" в режиме альтернативной клавиатуры. |
ff |
str *p |
Если терминал является печатающим устройством, команда
прогона листа (по умолчанию \f). |
fs |
str |
Возвратиться из информационной строки (после ts). |
g1 |
str |
Карта псевдографических символов тонких рамок. |
g2 |
str |
Карта псевдографических символов двойных рамок. |
g3 |
str |
Карта псевдографических символов двойных вертикальных и
тонких горизонтальных рамок. |
g4 |
str |
Карта псевдографических символов тонких вертикальных и
двойных горизонтальных рамок. |
g5 |
str |
Карта псевдографических стрелок. |
g6 |
str |
Карта псевдографических блоков. |
ge |
str |
Конец режима псевдографики. |
gn |
bool |
Неопределенный тип линии (модем). |
gs |
str |
Включить режим псевдографики. |
gt |
str |
Карта графических символов (для red). |
hR |
str |
Имя help-файла для red. |
hc |
bool |
Терминал является печатающим устройством. |
hd |
str |
Переход на 1/2 строки вниз. |
ho |
str |
Перевод курсора в первую позицию первой строки. |
hs |
bool |
Терминал имеет информационную строку (обычно, 25 строка). |
hu |
str |
Переход на 1/2 строки вверх. |
hz |
bool |
Терминал Hazeltine не печатает ~, использовать
~ нельзя. |
ic |
str p |
Вставить символ в текущей позиции. |
if |
str |
Для инициализации терминала выдать на него содержимое
указанного файла. |
im |
str p |
Переход в режима вставки символов. |
in |
bool |
В режиме вставки символы пробел и пусто различаются. |
ip |
str p* |
Символ, за которым следует указанная последовательность
кодов вставляется в текущей позиции. |
is |
str |
Последовательность кодов для инициализации терминала. |
it |
str |
Начальные табуляции каждые n позиций. |
k0 |
str |
Функциональная клавиша 0. |
k1 |
str |
Функциональная клавиша 1. |
k2 |
str |
Функциональная клавиша 2. |
k3 |
str |
Функциональная клавиша 3. |
k4 |
str |
Функциональная клавиша 4. |
k5 |
str |
Функциональная клавиша 5. |
k6 |
str |
Функциональная клавиша 6. |
k7 |
str |
Функциональная клавиша 7. |
k8 |
str |
Функциональная клавиша 8. |
k9 |
str |
Функциональная клавиша 9. |
kA |
str |
Клавиша вставить строку. |
kB |
str |
Клавиша обратной табуляции. |
kC |
str |
Клавиша очистки экрана. |
kD |
str |
Клавиша удаления символа. |
kE |
str |
Клавиша очистки до конца строки. |
kF |
str |
Клавиша роллирования вперед. |
kI |
str |
Клавиша вставки символа (INSERT). |
kL |
str |
Клавиша уничтожения строки. |
kN |
str |
Клавиша следующая страница. |
kP |
str |
Клавиша предыдущая страница. |
kR |
str |
Клавиша роллирования назад. |
kS |
str |
Клавиша очистки до конца экрана. |
kT |
str |
Клавиша установки табуляции. |
ka |
str |
Клавиша очистки всех табуляций. |
kb |
str |
Код клавиши возврат на шаг. |
kd |
str |
Код клавиши курсор вниз. |
ke |
str |
pВыключение режима дополнительной клавиатуры. |
kh |
str |
Код клавиши home; |
kl |
str |
Код клавиши курсор влево; |
km |
bool |
Терминал имеет клавишу meta-shift. |
kn |
num |
Число клавиш функциональной клавиатуры, отличных от "0" - "9", ".",
"-". |
ko |
str |
Описание клавиш функциональной клавиатуры, отличных от "0" - "9",
".", "-". |
kr |
str |
Код клавиши курсор вправо. |
ks |
str |
Включение режима дополнительной клавиатуры. |
kt |
str |
Клавиша очистки маркера табуляции. |
ku |
str |
Клавиша стрелка вверх. |
l0 |
str |
Название функциональной клавиши 0. |
l1 |
str |
Название функциональной клавиши 1. |
l2 |
str |
Название функциональной клавиши 2. |
l3 |
str |
Название функциональной клавиши 3. |
l4 |
str |
Название функциональной клавиши 4. |
l5 |
str |
Название функциональной клавиши 5. |
l6 |
str |
Название функциональной клавиши 6. |
l7 |
str |
Название функциональной клавиши 7. |
l8 |
str |
Название функциональной клавиши 8. |
l9 |
str |
Название функциональной клавиши 9. |
le |
str |
Перевод курсора на одну позицию влево. |
li |
num |
Число строк на экране терминала. |
ll |
str |
Перевод курсора в первую позицию последней строки. |
lm |
num |
Число строк памяти дисплея. |
m1 |
str |
Атрибуты для рамки (для red). |
m2 |
str |
Атрибуты для диагностик (для red). |
m3 |
str |
Атрибуты для приглашения (для red). |
m4 |
str |
Атрибуты для инф.сообщений (для red). |
mb |
str |
Включение режима мигающих символов. |
md |
str |
Включение режима ярких символов. |
me |
str |
Отмена всех режимов выделения текста ("mb", "md", "ml",
"mr", "us", "so"). |
mh |
str |
Включение режима тусклых символов. |
mi |
bool |
Возможность перемещения курсора в режиме вставки текста. |
mk |
str |
Включение режима невидимых символов. |
ml |
str |
Защита памяти над курсором. |
mm |
str |
Включение режима метасимволов. |
mo |
str |
Выключение режима метасимволов. |
mp |
str |
Включение режима защиты. |
mr |
str |
Включение режима инверсных символов. |
ms |
bool |
Возможность перемещения курсора в режиме выделения текста. |
mu |
str |
Разблокирование памяти (после ml). |
nb |
bool |
Запрет использования символа bell (код \7). Необходим,
если данный символ отображается на экране. |
nc |
bool |
Запрет использования символа \r, неправильно работает
возврат каретки. |
nd |
str |
Перевод курсора на одну позицию вправо. |
nl |
str p* |
Переход в начало следующей строки (если не \n). |
ns |
bool |
Терминал не имеет роллирования. |
nw |
str |
Команда CR-LF. |
os |
bool |
Терминал допускает наложение символов. |
pb |
num |
Мин.скорость, требующая заполнителей. |
pc |
str |
Код символа-заполнителя (если не \0). |
pf |
str |
Выключение печатающего устройства. |
po |
str |
Включение печатающего устройства. |
ps |
str |
Печать содержимого экрана. |
pt |
bool |
Терминал имеет программируемый механизм установки табуляционной
сетки. |
rc |
str |
Восстановить положение курсора (после sc). |
rf |
str |
Для отмены инициализации выдать содержимое указанного файла. |
rs |
str |
Для отмены инициализации выдать указанную последовательность
символов. |
sc |
str |
Запомнить текущее положение курсора. |
se |
str |
Конец стандартного режима выделения текста. |
sf |
str p |
Прокрутить текст вперед. |
sg |
num |
Число символов-заполнителей для команд so и se. |
so |
str |
Установить стандартный режим выделения текста. |
sr |
str p |
Прокрутить текст назад (снизу вверх). |
st |
str |
Установить табуляцию в текущей позиции. |
sw |
str |
Установить окно (область вывода на терминал). Формат данного описателя
слишком сложен и здесь не приводится. |
ta |
str p |
Команда табуляции (если не \t). |
tc |
str |
Дополнить описание свойств терминала из описания устройства
с указанным именем. Данное описание должно
быть последним в записи. |
te |
str |
Отменить режим адресации курсора (cm). |
ti |
str |
Войти в режим адресации курсора. |
ts |
str |
Перейти в информационную строку. |
uc |
str |
Подчеркнуть один символ. |
ue |
str |
Конец режима подчеркивания. |
ug |
num |
Число символов-заполнителей для команд us и uc. |
ul |
bool |
Терминал имеет возможность подчеркивания символов. |
up |
str |
Перевод курсора на строку вверх. |
us |
str |
Включить режим подчеркивания выводимых символов. |
vb |
str |
Видимый аналог звукового сигнала. (Перевод терминала в
режим телетайпа.) |
ve |
str |
Выключение экранного режима. |
vi |
str |
Включение экранного режима. |
vs |
str |
Перевод терминала в экранный режим. |
vt |
num |
Число виртуальных терминалов. |
ws |
num |
Длина строки состояния. |
xb |
bool |
Терминал Beehive (f1=ESC,
f2=CTRL/C). |
xn |
bool |
Когда напечатан последний символ в строке, переход на
следующую строку осуществляется не сразу, а только
после печати еще одного символа. Этот флаг употребляется
только вместе с am. |
xo |
bool |
Терминал использует (CTRL/Q, CTRL/S). |
xr |
bool |
Код \r действует как \n\r. |
xs |
bool |
Выделение сохраняется при наложении. |
xt |
bool |
Запрет использования табуляции (\t) (вывод кода табуляции
изменяет информацию на экране). |
Суммарный размер символьных описателей не должен превышать
256 байт.
|
|