Формат базы данных терминалов termcap

Для настройки на терминалы UNIX использует базу терминалов termcap, в котором описаны все (или почти все) виды терминалов, существующие в природе. Выяснив, какой тип терминала подключен к машине (а задается это в переменной окружения TERM (например TERM=d460 или TERM=d211)), UNIX находит описание этого терминала в termcap и, настроившись по хранящейся там информации, может адекватно воспроизводить на нем информацию, подлежащую выводу на этот терминал.
termcap
названия
Таблица всех характеристик базы терминаловterminfo
названия
заголовок
d211-tansi|Tatung d211 temporary DG-ANSI mode:\
логические атрибуты терминала
amв терминале есть автоматические границыam
bwможно переводить курсор из колонки 0 в 80-юbw
miможно без опасений перемещаться в insert-модеmir
msможно перемещаться в режиме сообщенийmsgr
xoтерминал использует протокол xon/xoffxon
xnперевод строки после 80 колонок игнорируетсяxenl
bsCTRL-H дает шаг назад
ptТерминал имеет программируемую установку табул.
числовые характеристики терминала
co #80число колонокcols
li #24число столбцовlines
it #8 шаг позиции табуляцииit
kn #Число функц. клавиш, отличных от "0" - "9", ".", "-"
ТОЛЬКО В INFORMIX
kiключ вставить строку
kjключ уничтожить строку
kfключ следующую страницу
kgключ на предыдущую страницу
gbсимволы рисования рамки
gsв режим псевдографики (в доп. алфавит)
geконец режима псевдографики (из доп. алфавита)
характеристики tc =d211 "все остальное как у d211"
ИНИЦИАЛИЗАЦИЯ ТЕРМИНАЛА
tiпереключение терминала в режим cap в результате все функциональные клавиши переопределяются в длинные ESC последовательности. Причем зависят они только от терминала, а не от termcap файла. Можно переназначить возможность на другую клавишу только при условии, что это ключ. NewLine и CR не переназначаются - это не ключи! (Проверено)smcup
tecap завершение Дравер терминала INFORMIX видимо плохо написан. Он не успевает обрабатывать ESC последовательности, в результате от них отрывается \Е и обрабатывается отдельно от своих вагонов.rmcup
iPмаршрутное имя программы инициализацииiprog
ifимя файла, с цепочкой инициализации терминалаif
isстрока ° 0 инициализации терминалаis2
i1строка ° 1 инициализации терминалаis1
i3строка ° 2 инициализации терминалаis3
rfимя файла с reset строкойrf
r1терминал - в нормальное состояниеrs1
r2переустановить терминал полностью в sane режимrs2
r3переустановить терминал полностью в saners3
УПРАВЛЕНИЕ АТРИБУТАМИ
обеспечение атрибутовых возможностей.(reverse,blink, ...,color)
saопределить видео атрибуты #1 - #9
sa =\E[0%?%p1%{0}%=%!%t%p1%{4}%m%;%?%t;2;7%;%?%p2%t;7\: %;%?%p3%t;5%;%?%p4%t;4%;m
использует стек_машину терминала
sgr
ИЗОБРАЗИТЕЛЬНЫЕ РЕЖИМЫ
asперейти к дополнительному алфавиту smacs
aeвернуться из дополнительного алфавита rmacs
acтабличка символов для псевдографики +,.0i-`afghjklmnoqstuvwx~ acsc
acсоответствующие им псевдорамочки > acsc
mpв режим защищенных символовprot
usв режим UNDERLINEsmul
ueконец UNDERLINErmul
soв режим выделенных сообщенийsmso
seконец выделенных сообщенийrmso
mdв режим BOLD выделенных символовbold
mrв режим REVERSE негативrev
mbв режим BLINK мерцаниеblink
mhв режим DIM тусклыйdim
mkв режим INVINSIBLE невидимостьinvis
meвыключить все атрибутыsgr0
im в режим вставкиsmir
eiконец режима вставки rmir
dm в режим DELETE (enter)smdc
edконец режима DELETErmdc
РЕЖИМЫ КУРСОРА
viсделать курсор невидимымcivis
veсделать курсор нормальнымcnorm
vsсделать курсор яркимcvvis
УПРАВЛЕНИЕ ЭКРАНОМ
clочистить экран clear
cdочистить конец экранаed
ceочистить конец строки el
cbочистить до начала строкиel1
icвставить символich1
dcудалить символdch1
ecуничтожить символech
alвставить строкуil1
dlудалить строкуdl1
DCудалить # симвdch
ICвставить # пробеловich
DLудалить # строкdl
ALдобавить # пустых строкil
rpповторить строку # # разrep
РОЛЛИНГ
csустановить роллируемую область # строки от # до #csr
sfроллировать текст вверхind
srроллировать текст внизri
SFроллинг вперед на # строкindn
SRроллинг вниз на # строк rin
ЗВОНОК
ucподчеркнуть символuc
blзвонокbel
vbвидимый звонокflash
ДВИЖЕНИЕ КУРСОРА
chустановить горизонтальную позициюchts
cvабсолютная вертикальная позиция # vpa
cm позиционировать курсор #стр #столбcup
CMотносительное позиционир курсора в памятиmrcup
LEкурсор влево на # позицийcub
RIкурсор вправо на # позицийcuf
DOкурсор вниз на # строкcud
UPкурсор вверх на # строкcuu
sc запомнить позицию курсораsc
rc восстановить позицию курсораrc
hoв начало экрана (если нет ti (cap))home
llпосл.строка, первый столбец,(если нет cap)ll
nlперейти на новую строку (если не \n)
bc шаг назад
leкурсор влевоcub1
doкурсор внизcud1
ndкурсор вправоcuf1
upкурсор вверхcuu1
huНа полстроки вверхhu
hdна полстроки внизhd
crвернуть кареткуcr
nwвозврат каретки и переход к новой строкеnel
ТАБУЛЯЦИЯ
stустановить остановку по табуляцииhts
ctсбросить все позиции табуляцииtbc
btобратная табуляцияcbt
taтабулировать на след позицю аппаратного табулятораht
STATUSLINE
dsубрать statuslinedsl
tsвойти в statusline, в столбец #tsl
fsвернуться из statuslinefsl
ПРИНТЕР
psраспечатать экранmc0
ff(*) распечатать экран ejectff
pOпереключить на принтер # символовmc5p
poвключить принтерmc5
pfвыключить принтерmc4
РЕЖИМЫ ПЕРЕДАЧИ
mmв "meta" режим (8 й бит)smm
moконец "meta" режимаrmm
ksв режим "keypad-transmit"smkx
keконец режима "keypad-transmit"rmkx
cAEnable alternate_ char set
SAStart alternate_ char setsmam
АВТОМАТИЧЕСКИЕ ГРАНИЦЫ
MCочистить левые и правые soft границыmgc
RAвыключить автоматические границы
MLустановить программную левую границуsmgl
MRустановить программную правую границуsmgr
wiтекущее окно в позициях #1 - 4wind
Xonoff протокол
SXTurn on xon/xoff handshakingsmxon
RXTurn off xon/xoff handshakingrmxon
XFX-off символxoffc
XNX-on символxonc
ПРОГРАММИРОВАНИЕ
LFвыключить программируемые меткиrmln
LOвключить программируемые меткиsmln
pkпрограммировать фклавишу # в строку #pfkey
plпрограммировать фклавишу # в выполнение строки #pfloc
pxпрограммировать фклав # в xmit строки #pfx
pnпрогр метку # показать стр #pln
КОМАНДЫ НЕОПОЗНАНЫ
eA
cA
rPlp в режиме заменыrmp
CCTerm. settable cmd char in prototypecmdch
ipзаполнители, вставляемые после ins-charip
pcсимвол-заполнитель (если не \0)pad
RFпослать следующий введенный символ (для ptys)rfi
КЛЮЧИ
kb =\bключ BACKSPACE (забой)kbs
khключ HOMEkhome
kuключ стрелка вверхkcuu1
krключ стрелка вправоkcuf1
klключ стрелка влевоkcub1
kdключ стрелка внизkcud1
КЛЮЧИ ДОПОЛНИТЕЛЬНОЙ КЛАВИАТУРЫ
K1лев.верхн C1ka1
K2центр Homekb2
K3прав.верхн C2ka3
K4лев.нижн. C3kc1
K5прав.нижн. C4kc3
ko=nd,upдоп.функц. клавиши, сверх {0-9},{.},{-} (см kn#)
КЛЮЧИ ФУНКЦИОНАЛЬНЫХ КЛАВИШ
k0F1kf0
k1F2kf1
. . . и т.д.
k9F10kf9
kAF11kil1
kBF12kcbt
kCF13kclr
kDF14kdch1
kEF15kel
k;ключ f10km
F1ключ f11kf11
F2ключ f12kf13
. . . и т.д.
F9ключ f19kf19
FA ключ f20kf21
. . . и т.д.
FZключ f45kf45
Faключ f46kf46
. . . и т.д.
Frключ f63kf63
l1f1 если на ней написано не f1lf1
l2f2 если на ней написано не f2lf2
. . . и т.д.
l7lf7
laf10 если нет f10lf10
kaключ CLEAR_ALL_TABSktbc
ktключ CLEAR_TABkctab
@0ключ FIND
@1ключ BEGINING
@2ключ CANCEL
@3ключ CLOSE
@4ключ CMD
@5ключ COPY
@6ключ CREATE
@7ключ END
@8ключ ENTER/SEND
@9ключ EXIT
kLключ DELETE_LINEkdl1
kDключ DELETE_CHARkdch1
kMключ smlr или rmrl в режиме вставкиkrmir
ключ END_OF_LINE
kSключ CLEAR_TO_END_OF_SCREENked
kHHOME_DOWNkll
kN NEXT_PAGEknp
kPPREVIOUS_PAGEkpp
kFSCROLL_FORWARD/DOWN kind
kRSCROLL_BACKWARD/UPkri
kT ключ SET TABkhts
%1HELP
%2MARK
%3MESSAGE
%4MOVE
%5NEXT_OBJECT
%6OPEN
%7OPTIONS
%8PREVIOUS_OBJECT
%9PRINT
%0REDO
&1REFERENCE
&2REFRESH
&3REPLACE
&4RESTART
&5RESUME
&6SAVE
&7SUSPEND
&8UNDO
&9SHIFT_BEGIN
&0SHIFT_CANCEL
*1SHIFT_COMMAND
*2SHIFT_COPY
*3SHIFT_CREATE
*4SHIFT_DELETE
*5SHIFT_DEL_LINE
*6SHIFT_SELECT
*7SHIFT_END
*8SHIFT_CLEAR_LINE
*9SHIFT_EXIT
*0SHIFT_FIND
#1SHIFT_HELP
#2SHIFT_HOME
#3SHIFT_INPUT
#4SHIFT_LEFT_ARROW
#5SHIFT_MESSAGE
%aSHIFT...
. . . и т.д.
%jSHIFT_RESUME
!1SHIFT_SAVE
!2SHIFT_SUSPEND
!3SHIFT_UNDO