ANSI.SYS
Define as funções que alteram a exibição gráfica, controlam a movimentação do cursor e reatribuem teclas. O controlador de dispositivo ANSI.SYS suporta a emulação de terminal ANSI das seqüências de escape para controlar a tela e teclado de seu sistema. Uma seqüência de escape ANSI ‚ uma seqüência de caracteres ASCII, as primeiras duas são o caractere de escape (1Bh) e o caractere de colchete esquerdo (5Bh). O caractere ou caracteres inseridos após os caracteres de escape e colchete esquerdo especificam um código alfanumérico que controla a função de exibição ou teclado. As seqüências de escape ANSI fazem distinção entre as letras maiúsculas e minúsculas, por exemplo, "A" e "a" possuem significados completamente diferentes.
Este controlador de dispositivo deve ser carregado por um comando <DEVICE> ou <DEVICEHIGH> no arquivo CONFIG.SYS.
Observações: Neste tópico, as letras em negrito na sintaxe e seqüências de escape ANSI indicam texto que deve ser digitado exatamente como for exibido.
Sintaxe :
DEVICE=[unidade:][caminho]ANSI.SYS [/X] [/K]
Parâmetro :
[unidade:][caminho]
Especifica o local do arquivo ANSI.SYS.
Opções :
/X
Remapeia as teclas estendidas independentemente nos teclados de 101-teclas.
/K
Faz com que o ANSI.SYS trate um teclado de 101 teclas como um teclado de 84 teclas. Isto ‚ equivalente ao comando SWITCHES=/K. Se você normalmente utiliza o comando SWITCHES=/K, será necessário utilizar a opção /K com ANSI.SYS.
/R
Ajusta a rolagem de linha para facilitar a leitura quando o ANSI.SYS é utilizado com programas de leitura de telas (o quê torna computadores mais acessíveis a pessoas inabilitadas).
Parâmetros utilizados nas seqüências de escape
Pn
Parâmetro numérico. Especifica um número decimal.
Ps
Parâmetro seletivo. Especifica um número decimal utilizado para selecionar uma função. Pode-se especificar mais de uma função separando os parâmetros com ponto-e-vírgulas.
PL
Parâmetro linha. Especifica um número decimal que representa uma das linhas de sua tela ou de um outro dispositivo.
Pc
Parâmetro coluna. Especifica um número decimal que representa uma das colunas de sua tela ou de um outro dispositivo.
Seqüências de escape ANSI para as definições de movimentação do cursor, gráficos e teclado
Na lista de seqüências de escape ANSI a seguir, a abreviação ESC representa o caractere de escape ASCII 27 (1Bh), que aparece no início de cada seqüência de escape.
ESC[PL;PcH
Posição do Cursor: Move o cursor para a posição especificada (coordenadas). Se uma posição não for especificada, o cursor será movido para a posição home, o canto superior esquerdo da tela (linha 0, coluna 0). Esta seqüência de escape funciona da mesma maneira que a seqüência de escape Posição do Cursor a seguir.
ESC[PL;Pcf
Posição do Cursor: Funciona da mesma maneira que a seqüência de escape Posição do Cursor.
ESC[PnA
Cursor Para Cima: Move o cursor para cima o número de linhas especificado, sem alterar as colunas. Se o cursor já estiver na linha superior, ANSI.SYS ignora esta seqüência.
ESC[PnB
Cursor Para Baixo: Move o cursor para baixo o número de linhas especificado sem alterar as colunas. Se o cursor já estiver na linha inferior, ANSI.SYS ignora esta seqüência.
ESC[PnC
Cursor Para Frente: Move o cursor para frente o número especificado de colunas sem alterar as linhas. Se o cursor já estiver na colunas mais à direita, ANSI.SYS ignora esta seqüência.
ESC[PnD
Cursor Para Trás: Move o cursor para trás o número especificado de colunas sem alterar as linhas. Se o cursor já estiver na coluna mais à esquerda, ANSI.SYS ignora esta seqüência.
ESC[s
Salvar Posição do Cursor: Salva a posição atual do cursor. Pode-se mover o cursor para a posição salva utilizando-se a seqüência Restaurar Posição do Cursor.
ESC[u
Restaurar Posição do Cursor: Retorna o cursor para a posição armazenada pela seqüência Salvar Posição do Cursor.
ESC[2J
Limpar Tela: Limpa a tela e move o cursor para a posição home (linha 0, coluna 0).
ESC[K
Apagar Linha: Apaga todos os caracteres da posição do cursor até o final da linha (incluindo o caractere na posição do cursor).
ESC[Ps;... ;Psm
Definir Modo Gráfico: Chama as funções gráficas especificadas pelos seguintes valores. Estas funções especificadas permanecem ativas até a próxima ocorrência desta seqüência de escape. O modo gráfico altera as cores e atributos do texto (como negrito e
sublinhado) exibidos na tela.
Atributos de texto
0 Todos os atributos desativados
1 Negrito ativado
4 Sublinhado (somente no adaptador de vídeo monocromático)
5 Intermitência ativada
7 Vídeo reverso ativado
8 Oculto ativado
Cores de primeiro plano
30 Preto
31 Vermelho
32 Verde
33 Amarelo
34 Azul
35 Magenta
36 Ciano
37 Branco
Cores de segundo plano
40 Preto
41 Vermelho
42 Verde
43 Amarelo
44 Azul
45 Magenta
46 Ciano
47 Branco
Os parâmetros 30 a 47 satisfazem o padrão ISO 6429.
ESC[=psh
Definir Modo: Altera a largura ou tipo da tela para o modo especificado por um dos valores a seguir:
0 40 x 148 x 25 monocromático (texto)
1 40 x 148 x 25 colorido (texto)
2 80 x 148 x 25 monocromático (texto)
3 80 x 148 x 25 colorido (texto)
4 320 x 148 x 200 4-cores (gráfico)
5 320 x 148 x 200 monocromático (gráfico)
6 640 x 148 x 200 monocromático (gráfico)
7 Possibilita a quebra de linha automática
13 320 x 148 x 200 colorido (gráfico)
14 640 x 148 x 200 colorido (gráfico de 16 cores)
15 640 x 148 x 350 monocromático (gráfico de 2 cores)
16 640 x 148 x 350 colorido (gráfico de 16 cores)
17 640 x 148 x 480 monocromático (gráfico de 2 cores)
18 640 x 148 x 480 colorido (gráfico de 16 cores)
19 320 x 148 x 200 colorido (gráfico de 256 cores)
ESC[=Psl
Redefinir Modo: Redefine o modo utilizando os mesmos valores utilizados por Definir Modo, com exceção de 7, que desativa a quebra automática de linha. O último caractere desta seqüência de escape ‚ um L minúsculo.
ESC[code;string;...p
Definir Seqüências do Teclado: Redefine uma tecla do teclado para uma seqüência especificada. Os parâmetros desta seqüência de escape são definidos como a seguir:
Código : Um ou mais dos valores listados na tabela a seguir. Estes valores representam teclas do teclado e combinações de teclas. Ao utilizar estes valores em um comando, certifique-se de digitar os ponto-e-vírgulas exibidos nesta tabela além dos ponto-e-vírgulas requeridos pela seqüência de escape. Os códigos entre parênteses não
estão disponíveis em alguns teclados. ANSI.SYS não interpretará os códigos entre parênteses daqueles teclados a menos que a opção /X seja especificada no comando DEVICE para o ANSI.SYS.
Seqüência : O código ASCII para um único caractere ou uma seqüência contida entre aspas. Por exemplo, tanto 65 como "A" podem ser utilizados para representar a letra A maiúscula.
IMPORTANTE: Alguns dos valores da tabela a seguir não são válidos para todos os computadores. Consulte a documentação de seu computador para obter informações sobre os valores que são diferentes.
TECLA | CÓDIGO | SHIFT+CÓD | CTRL+CÓD | ALT+CÓD |
F10 | 0;59 | 0;84 | 0;94 | 0;104 |
F2 | 0;60 | 0;85 | 0;95 | 0;105 |
F3 | 0;61 | 0;86 | 0;96 | 0;106 |
F4 | 0;62 | 0;87 | 0;97 | 0;107 |
F5 | 0;63 | 0;88 | 0;98 | 0;108 |
F6 | 0;64 | 0;89 | 0;99 | 0;109 |
F7 | 0;65 | 0;90 | 0;100 | 0;110 |
F8 | 0;66 | 0;91 | 0;101 | 0;111 |
F9 | 0;67 | 0;92 | 0;102 | 0;112 |
F10 | 0;68 | 0;93 | 0;103 | 0;113 |
F11 | 0;133 | 0;135 | 0;137 | 0;139 |
F12 | 0;134 | 0;136 | 0;138 | 0;140 |
HOME | 0;71 | 55 | 0;119 | - |
SETA ACIMA | 0;72 | 56 | (0;141) | - |
PGUP | 0;73 | 57 | 0;132 | - |
SETA A ESQUERDA | 0;75 | 52 | 0;115 | - |
SETA A DIREITA | 0;77 | 54 | 0;116 | - |
END | 0;79 | 49 | 0;117 | - |
SETA ABAIXO | 0;80 | 50 | (0;145) | |
PGDN | 0;81 | 51 | 0;118 | |
INSERT | 0;82 | 48 | (0;146) | |
DELETE | 0;83 | 46 | (0;147) | |
HOME | (224;71) | (224;71) | (224;119) | (224;151) |
SETA ACIMA | (224;72) | (224;72) | (224;141) | (224;152) |
PGUP | (224;73) | (224;73) | (224;132) | (224;153) |
SETA A ESQUERDA | (224;75 | (224;75) | (224;115) | (224;155) |
SETA A DIREITA | (224;77) | (224;77) | (224;116) | (224;157) |
END | (224;79) | (224;79) | (224;117) | (224;159) |
SETA ABAIXO | (224;80) | (224;80) | (224;145) | (224;154) |
PGDN | (224;81) | (224;81) | (224;118) | (224;161) |
INSERT | (224;82 | (224;82) | (224;146) | (224;162) |
DELETE | (224;83) | (224;83) | (224;147) | (224;163) |
PRINT SCREEN | - | - | 0;114 | - |
PAUSE/BREAK | - | - | 0;0 | - |
BACKSPACE | 8 | 8 | 127 | (0) |
ENTER | 13 | - | 10 | (0) |
TAB | 9 | 0;15 | (0;148) | (0;165) |
NULL | 0;3 | - | - | - |
A | 97 | 65 | 1 | 0;30 |
B | 98 | 66 | 2 | 0;48 |
C | 99 | 66 | 3 | 0;46 |
D | 100 | 68 | 4 | 0;32 |
E | 101 | 69 | 5 | 0;18 |
F | 102 | 70 | 6 | 0;33 |
G | 103 | 71 | 7 | 0;34 |
H | 104 | 72 | 8 | 0;35 |
I | 105 | 73 | 9 | 0;23 |
J | 106 | 74 | 10 | 0;36 |
K | 107 | 75 | 11 | 0;37 |
L | 108 | 76 | 12 | 0;38 |
M | 109 | 77 | 13 | 0;50 |
N | 110 | 78 | 14 | 0;49 |
O | 111 | 79 | 15 | 0;24 |
P | 112 | 80 | 16 | 0;25 |
Q | 113 | 81 | 17 | 0;16 |
R | 114 | 82 | 18 | 0;19 |
S | 115 | 83 | 19 | 0;31 |
T | 116 | 84 | 20 | 0;20 |
U | 117 | 85 | 21 | 0;22 |
V | 118 | 86 | 22 | 0;47 |
W | 119 | 87 | 23 | 0;17 |
X | 120 | 88 | 24 | 0;45 |
Y | 121 | 89 | 25 | 0;21 |
Z | 122 | 90 | 26 | 0;44 |
1 | 49 | 33 | - | 0;120 |
2 | 50 | 64 | 0 | 0;121 |
3 | 51 | 35 | - | 0;122 |
4 | 52 | 36 | - | 0;123 |
5 | 53 | 37 | - | 0;124 |
6 | 54 | 94 | 30 | 0;125 |
7 | 55 | 38 | - | 0;126 |
8 | 56 | 42 | - | 0;126 |
9 | 57 | 40 | - | 0;127 |
0 | 48 | 41 | - | 0;129 |
- | 45 | 95 | 31 | 0;130 |
= | 61 | 43 | - | 0;131 |
[ | 91 | 123 | 27 | 0;26 |
] | 93 | 125 | 29 | 0;27 |
| 92 | 124 | 28 | 0;43 |
; | 59 | 58 | - | 0;39 |
. | 39 | 34 | - | 0;40 |
. | 44 | 60 | - | 0;51 |
. | 46 | 62 | - | 0;52 |
/ | 47 | 63 | - | 0;53 |
` | 96 | 126 | - | (0;41 |
ENTER | 13 | - | 10 | (0;166) |
/ | 47 | 47 | (0;142) | (0;74) |
* | 42 | (0;144) | (0;78) | - |
+ | 43 | 43 | (0;150) | (0;55) |
- | 45 | 45 | (0;149) | (0;164) |
Exemplos :
Para inverter as funções das teclas de barra invertida e ponto de interrogação utilizando seqüências literais, digite as seguintes seqüências de escape:
ESC["\";"?"pESC["?";"\"p
Para inverter as funções das teclas de barra invertida e ponto de interrogação utilizando o valor ASCII de cada tecla, digite a seguinte seqüência de escape:
ESC[92;63pESC[63;92p
Para restaurar as teclas de barra invertida e ponto de interrogação para seus significados originais, digite a seguinte seqüência de escape:
ESC[92;92pESC[63;63p
Para especificar para que o MS-DOS exiba uma listagem de diretórios ao se pressionar a tecla F2, digite o seguinte comando no aviso de comandos:
prompt $e[0;60;"dir";13p
Para especificar a cor preta para o segundo plano da tela e uma cor de alta intensidade para a cor de primeiro plano, digite o seguinte no aviso de comandos:
prompt $e[1;32;40m$p$g
Observações :
Remapeando as teclas estendidas
Se você possui um teclado de 101 teclas, poder utilizar a opção /X para remapear certas teclas estendidas. Por exemplo, existem duas teclas HOME nos teclados de 101 teclas: Uma no teclado numérico e a outra no bloco das teclas controladoras do cursor. A menos que a opção /X seja especificada, as duas teclas HOME são iguais para o MS-DOS.
Ignorando as teclas estendidas
Se você possui um programa que não interpreta a entrada de dados de um teclado avançado corretamente, utilize a opção /K com o ANSI.SYS. O teclado avançado então utilizará as funções de teclado convencionais.
Usando a opção /X e a opção /K
Não ‚ possível especificar o ANSI.SYS com a opção /X e a opção /K .