NOME
termcap − banco de dados das funcionalidades do terminal
DESCRIÇÃO
O banco de dados termcap é uma facilidade já obsoleta de descrever as funcionalidades de terminais e impressoras em modo caracter. É mantido somente para compatibilidade com velhos programas; novos programas devem usar a base de dados terminfo(5) e bibliotecas associadas.
/etc/termcap é um arquivos ASCII (a base da dados principal) que lista as funcionalidades de cada tipo diferente de terminal. Programas podem ler o termcap e encontrar os códigos de fuga necessários para controlar os atributos visuais de um terminal em uso. (Outros aspectos do terminal são administrados por stty). A base termcap está indexada pela variável de ambiente TERM.
As entradas de termcap devem ser definidas em uma linha lógica única, com ’\’ usado para suprimir nova linha. Campos são separados por ’:’. O primeiro campo de cada entrada começa com a margem esquerda e contém uma lista de nomes de terminal separados por ’|’.
O primeiro subcampo pode (em entradas termcap BSD a partir das versões 4.3 em diante) conter um pequeno nome de dois caracteres. Este nome pode ser constituído de letras maiúsculas ou minúsculas. No termcap 4.4BSD as entradas deste campo são omitidas.
O segundo subcampo (primeiro no novo formato 4.4.BSD) contém o nome usado pela variável de ambiente TERM. Deve ser escrito em letras minúsculas. Capacidades de hardware selecionáveis devem ser marcadas através de um hífen e um sufixo no nome. Veja abaixo um exemplo. Sufixos tradicionais usam w (mais de 80 caracteres de largura), am (margens automáticas), nam (sem margens automáticas) e rv (vídeo reverso). O terceiro campo contém um longo e descritivo nome para a entrada em termcap.
Campos subseqüentes contém as capacidades de terminal; qualquer linha continuada deve ser indentada com uma tabulação na margem esquerda.
Apesar de não haver ordem definida, é sugerido escrever as funcionalidades na seguinte ordem: booleanas, numéricas e finalmente alfanuméricas, em ordem alfabética sem atentar para maiúsculas e minúsculas. Funcionalidades de função similar podem ser escritas em uma única linha.
Exemplo de:
Head line:
vt|vt101|DEC VT 101 terminal em modo de 80 caracteres:\
Head line: Vt|vt101-w|DEC VT 101 em modo de 132 caracteres
(amplo):\
Boolean: :bs:\
Numeric: :co#80:\
String: :sr=\E[H:\
Capacidades Booleanas
5i
Impressora não ecoará na tela
am
margens automáticas o que significa quebra automática de linhas
bs
Control-H (8 dec.) executa um retrocesso
bw
Retrocesso na margem esquerda retorna para a linha anterior na margem direita
da
Apresentação mantida em cima da tela
db
Apresentação mantida em baixo da tela
eo
Um espaço apaga todos os caracteres na posição do cursor
es
Seqüências de fuga e caracteres especiais funcionam na linha de status
gn
Dipositivo genérico
hc
Esta é uma cópia exata do terminal
HC
O cursor é difícil de visualizar quando não está na linha de base
hs
Tem uma linha de status
hz
Problema de Hazeltine, o terminal não pode imprimir o caracter til
in
Terminal insere nulos e não espaços para preencher espaços vazios
km
Terminal tem meta teclas
mi
O movimento de cursor funciona no modo de inserção
ms
O movimento de cursor funciona no modo padrão de saída e sublinhado
NP
Sem caracter pad
NR
ti não reverte em te
nx
Deve-se usar XON e XOFF
os
Terminal pode riscar
ul
Terminal sublinha apesar de não poder riscar
xb
f1 envia ESCAPE, f2 envia ^C
xn
Nova linha, quebra de linha
xo
Terminal usa protocolo xon/xoff
xs
Texto digitado na saída padrão será apresentado na saída padrão
xt
Tabulações destrutivas e modo de saída abaixo do padrão
Capacidades Numéricas
co
Número de Colunas
dB
Espera em milisegundos para retrocessos em terminais hardcopy
dC
Espera em milisegundos para retorno de linha em terminais hardcopy
dF
Espera em milisegundos para alimentação de formulário em terminais hardcopy
dN
Espera em milisegundos para nova linha em terminais hardcopy
dT
Espera em milisegundos para finalizador de tabulações em terminais hardcopy
dV
Espera em milisegundos para tabulação vertical em terminais hardcopy
it
Diferença entre posições de tabulações
lh
Altura de etiquetas de campos
lm
Linhas da memória
lw
Largura de etiquetas de campos
li
Número de linhas
Nl
Número de etiquetas de campos
pb
Menor velocidade que necessita de ajuste automático
sg
Estilo da saída
ug
Estilo sublinhado
vt
Número de terminais virtuais
ws
Largura da linha de status é diferente da largura da tela
Capacidades Alfanuméricas
!1
Tecla alternativa de salvamento
!2
Tecla alternativa de suspensão
!3
Tecla alternativa desfazer
#1
Tecla alternativa de ajuda
#2
Tecla alternativa de início
#3
Tecla alternativa de entrada
#4
Tecla alternativa de cursor esquerdo
%0
Tecla refazer
%1
Tecla de ajuda
%2
Tecla de marcação
%3
Tecla de mensagem
%4
Tecla de movimentação
%5
Tecla de próximo objeto
%6
Tecla de abertura
%7
Tecla de opções
%8
Tecla de objeto anterior
%9
Tecla de impressão
%a
Tecla alternativa de mensagem
%b
Tecla alternativa de movimentação
%c
Tecla alternativa de próximo
%d
Tecla alternativa de opções
%e
Tecla alternativa de prévio
%f
Tecla alternativa de impressão
%g
Tecla alternativa para refazer
%h
Tecla alternativa de substituição
%i
Tecla alternativa de cursor direito
%j
Tecla alternativa de finalização
&0
Tecla alternativa de cancelamento
&1
Tecla de referência
&2
Tecla de atualização
&3
Tecla de substituição
&4
Tecla de reinicialização
&5
Tecla de finalização
&6
Tecla de salvamento
&7
Tecla de suspensão
&8
Tecla de desfazer
&9
Tecla alternativa de início
*0
Tecla alternativa de busca
*1
Tecla alternativa de comando
*2
Tecla alternativa de cópia
*3
Tecla alternativa de criação
*4
Tecla alternativa de apagar
*5
Linha alternativa de apagar
*6
Tecla de seleção
*7
Tecla alternativa de final
*8
Tecla alternativa de limpeza de linha
*9
Tecla alternativa de saída
@0
Tecla de procurar
@1
Tecla de começo
@2
Tecla de cancelar
@3
Tecla de fechar
@4
Tecla de comando
@5
Tecla de cópia
@6
Tecla de criar
@7
Tecla de fim
@8
Tecla de entrada/enviar
@9
Tecla de saída
al
Inserir nova linha
AL
Indentar %1 linhas
ac
Pares de blocos de caracteres gráficos para mapear conjuntos de caracteres alternados
ae
Final de conjunto de caracteres alternativos
as
Inicia um conjunto de caracteres alternativos para blocos de caracteres gráficos
bc
Retrocesso, se não for ^H
bl
Campainha
bt
Mover para a tabulação anterior
cb
Limpar do início da linha até o cursor
cc
Comando caracter sem efeito
cd
Limpar até o final da tela
ce
Limpar até o final da linha
ch
Mover o cursor horizontalmente somente na coluna %1
cl
Limpar a tela e mover o cursor para seu início
cm
Cursor move-se para linha %1 e coluna %2 (na tela)
CM
Cursor move-se para linha %1 e coluna %2 (em memória)
cr
Retorno do carro
cs
Região de paginação da linha %1 para %2
ct
Limpar tabulações
cv
Mover o cursor verticalmente somente na linha %1
dc
Apagar um caracter
DC
Apagar %1 caracteres
dl
Apagar uma linha
DL
Apagar %1 linhas
dm
Iniciar modo apagar
do
Desce o cursos uma linha
DO
Desce o cursos #1 linhas
ds
Desabilita linha de status
eA
Habilita conjunto de caracteres alternativos
ec
Apaga %1 caracteres a partir do cursor
ed
Fim do modo apagar
ei
Fim do modo de inserção
ff
Caracter de alimentação de formulário em terminais de hardcopy
fs
Caracter de retorno para sua posição antes de ir para a linha de status
F1
Caracteres enviados pela tecla de função f11
F2
Caracteres enviados pela tecla de função f12
F3
Caracteres enviados pela tecla de função f13
...
...
F9
Caracteres enviados pela tecla de função f19
FA
Caracteres enviados pela tecla de função f20
FB
Caracteres enviados pela tecla de função f21
...
...
FZ
Caracteres enviados pela tecla de função f45
Fa
Caracteres enviados pela tecla de função f46
Fb
Caracteres enviados pela tecla de função f47
...
...
Fr
Caracteres enviados pela tecla de função f63
hd
Move o cursor meia linha para baixo
ho
move o cursor para o início da tela
hu
Move o cursor meia linha para cima
i1
Caracteres de inicialização 1 no acesso
i3
Caracteres de inicialização 3 no acesso
is
Caracteres de inicialização 2 no acesso
ic
Inserir um caracter
IC
Inserir %1 caracteres
if
Arquivo de inicialização
im
Iniciar modo de inserção
ip
Inserir intervalo e necessidade de caracteres especiais após inserção
iP
Programa de inicialização
K1
Tecla de canto superior esquerdo do teclado
K2
Tecla de centro do teclado
K3
Tecla de canto superior direito do teclado
K4
Tecla de canto inferior esquerdo do teclado
K5
Tecla de canto inferior direito do teclado
k0
Tecla de função 0
k1
Tecla de função 1
k2
Tecla de função 2
k3
Tecla de função 3
k4
Tecla de função 4
k5
Tecla de função 5
k6
Tecla de função 6
k7
Tecla de função 7
k8
Tecla de função 8
k9
Tecla de função 9
k;
Tecla de função 10
ka
Limpar todas as teclas de tabulação
kA
Tecla de inserção de linha
kb
Tecla de retrocesso
kB
Tecla de tabulação para trás
kC
Tecla de limpar tela
kd
Tecla para descer o cursor
kD
Tecla para apagar o caracter sob o cursor
kE
Tecla para limpar o fim da linha
kF
Tecla para paginação para frente e para trás
kh
Tecla de início da tela
kH
Tecla de cursor para baixo
kI
Tecla de modo de inserção e inserção de caracter
kl
Tecla esquerda de cursor
kL
Tecla para apagar linha
kM
Tecla de finalização de modo de inserção
kN
Tecla de próxima página
kP
Tecla de página anterior
kr
Tecla direita de cursor
kR
Tecla de paginação para frente e para trás
ks
Ativa teclado auxiliar
kS
Tecla de limpeza até o fim da tela
kt
Tecla de limpeza de tabulação
kT
Tecla de inserção de tabulação
ku
Tecla de cursor para cima
l0
Tecla de função de etiqueta n, se diferente de f0
l1
Etiqueta da primeira tecla de função, se diferente de f1
l2
Etiqueta da segunda tecla de função, se diferente de f2
...
...
la
Etiqueta da décima tecla de função, se diferente de f10
le
Move o cursos para esquerda um caracter
ll
Move cursor para o canto inferior esquerdo
LE
Move o cursor para a esquerda %1 caracteres
LF
Desativa etiquetas
LO
Ativa etiquetas
mb
Inicia a piscar
MC
Limpa margens
md
Inicia negrito
me
Finaliza todos os modos como so, us, mb, md e mr
mh
Inicia modo de brilho mediano
mk
Modo escuro (caracteres invisíveis)
ML
Configura margem esquerda
mm
Coloca o terminal em modo meta
mo
Retira o terminal em modo meta
mp
Aciona o atributo de proteção
mr
Inicia modo reverso
MR
Configura margem direita
nd
Move o cursor à direita um caracter
nw
Comando de retorno de carro
pc
Caracter especial
pf
Desliga impressora
pk
Tecla de programa %1 para enviar caracteres %2 se tecladas pelo usuário
pl
Tecla de programa %1 para executar %2 em modo local
pn
Tecla de programa de etiquete %1 para apresentar texto %2
po
Liga a impressora
pO
Liga a impressora para %1 (<256) bytes
ps
Imprime o conteúdo da tela na impressora
px
Tecla de programa %1 para enviar o texto %2 para o computador
r1
Reinicializa texto 1 para configurar o terminal em modo normal
r2
Reinicializa texto 2 para configurar o terminal em modo normal
r3
Reinicializa texto 3 para configurar o terminal em modo normal
RA
Desabilita margens automáticas
rc
Restaura a posição salva do cursor
rf
Reinicializa o texto do nome do arquivo
RF
Solicita uma entrada a partir do terminal
RI
Mover o cursor para direita %1 caracteres
rp
Repete o caracter %1 por %2 vezes
rP
Ajustes após enviar um caracter em modo de substituição
rs
Reinicializa texto
RX
Desabilita o controle de fluxo XON/XOFF
sa
Inicializa os atributos %1 %2 %3 %4 %5 %6 %7 %8 %9
SA
Habilita margens automáticas
sc
Salva a posição do cursor
se
Finaliza modo de saída
sf
Paginação normal de uma linha
SF
Paginação normal de %1 linhas
so
Iniciar modo de saída
sr
Paginação reversa
SR
Paginação para trás de %1 linhas
st
Configura a parada do tabulador em todas as linhas da coluna atual
SX
Habilita o controle de fluxo XON/XOFF
ta
Mover para a próxima tabulação de hardware
tc
Ler a descrição do terminal a partir de outra entrada
te
Finalizar programa que usa movimento de cursor
ti
Iniciar programa que usa movimento de cursor
ts
Mover o cursor para o coluna %1 da linha de status
uc
Sublinhar o caracter sob o cursor e mover o cursor luminoso
ue
Final de sublinhado
up
Mover o cursor para cima 1 linha
UP
Mover o cursor para cima %1 linhas
us
Iniciar sublinhado
vb
Campainha visível
ve
Cursor normal visível
vi
Cursor invisível
vs
Cursor na área de saída
wi
Configura janela da linha %1 até %2 e coluna %3 até %4
XF
Caracter XOFF diferente de ^S
Há diversas maneiras de definir os códigos de controle para as capacidades alfanuméricas.
Caracteres normais com exceção de ’^’,’\’ e ’%’ representam eles próprios.
Um ’^x’ significa Control-x. Control-A é igual a 1 decimal.
\x significa um código especial. X pode ser um dos seguintes caracteres:
E Fuga (27)
n Alimentação de linha (10)
r Retorno de carro (13)
t Tabulação (9)
b Retrocesso (8)
f Alimentação de formulário (12)
0 Caracter nulo . Um \xxx especifica o caracter octal
xxx.
i
Incrementa parâmetros em um.
r
Capacidade de um único parâmetro.
+
Adiciona o valor do próximo caracter ao parâmetro e gera uma saída binária
2
Gera uma saída em ASCII deste parâmetro com um campo de 2
d
Gera uma saída em ASCII deste parâmetro com um campo de 2
%
Lista um ’%’
Caso se utilize
saída binária, então o caracter nulo
deve ser evitado porque termina com um caracter especial.
Deve-se reinicializar a expansão do tabulador caso
este possa ser uma saída binária de um
parâmetro.
Atenção:
Os metacacteres acima para parâmetros podem estar errados, eles documentam o termcap do Minix o qual pode não se totalmente compatível com o Linux termcap.
O bloco de caracteres gráficos pode ser especificado com três funcionalidades de texto,
as
inicia um conjunto de caracteres alternativo
ae
finaliza
ac
pares de caracter. O primeiro caracter é o nome do símbolo do bloco gráfico e o segundo caracter é a sua definição.
Estão disponíveis os seguintes nomes:
+ seta para direita (>)
,
seta para esquerda (<)
.
seta para baixo (v)
0
quadrado completo (#)
I
latern (#)
-
seta para cima (^)
’
buraco (+)
a
tabuleiro de xadrez (:)
f
grau (’)
g
mais-menos (#)
h
quadrado (#)
j
canto inferior direito (+)
k
canto superior direito (+)
l
canto superior esquerdo (+)
m
canto inferior esquerdo (+)
n
cruz (+)
o
linha superior horizontal (-)
q
linha mediana horizontal (-)
s
linha inferior horizontal (_)
t
tee esquerdo (+)
u
tee direito (+)
v
tee inferior (+)
w
tee normal (+)
x
linha vertical (|)
~
parágrafo (???)
Os valores em parênteses são padrões sugeridos os quais podem ser usados por curses, caso as capacidades não estejam disponíveis.
VEJA TAMBÉM
termcap(3), curses(3), terminfo(5)
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) Roberto Selbach Teixeira <robteix [AT] zaz.br> (revisão)