Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
25/11/1991

< ANSI.SYS - Um Exemplo Prático >


Hoje, finalmente, veremos como usar o Ansi.Sys para remapear algumas teclas de função. Os comandos serão enviados para o console por meio da exibição na tela de um arquivo texto, que denominaremos de Teclas.Def, durante o procedimento do boot.

Antes porém precisamos aprender como introduzir em um arquivo texto o caractere ESC, que obrigatoriamente precede a todos os comandos. Poucos editores de textos o aceitam. Há, no entanto, exceções. Se o seu permite, o problema está resolvido. Se não, você terá que usar outra forma. Para generalizar, vou mostrar como fazê-lo usando um programa que todos nós temos. No caso, o execrável Edlin, incluído em todas as versões do DOS.

A concepção do Edlin é antediluviana. Nunca entendi porquê ele continua sendo fornecido. Mas, enfim, já que lá está, vamos usá-lo. Sem nos aprofundarmos em seus comandos, o que seria uma perda de tempo, vamos ver apenas os que interessam: inserem-se linhas no arquivo com o comando "I", termina-se a edição com Control+C e salva-se o arquivo, voltando para o DOS, com o comando "E".

O símbolo usado para representar o ESC é a combinação "Control+[" (abre-colchete). Para introduzi-lo em um arquivo editado pelo Edlin, deve-se preceder o "abre-colchete" com um aviso de que se trata de um caractere de controle, e não do próprio. Para isto o Edlin usa o código "Control+V". Desta forma, para incluir um ESC, tecle Control+V (mantenha a tecla Control pressionada enquanto aciona a tecla V). O Edlin vai responder com um V maiúsculo precedido por um circunflexo (o circunflexo é o símbolo tradicional para o "control"). Depois digite o "abre-colchete". Durante a edição da linha, o Edlin mostra o circunflexo seguido pelo "V" e pelo "abre colchete". Porém, se você listar o arquivo, o "V" desaparece, permanecendo apenas o circunflexo seguido do "abre colchete", simbolizando o ESC. Tudo isto é meio exótico mas funciona. Tudo certo, agora? Então vamos a uma descrição passo a passo do procedimento para produzir o arquivo. Do diretório onde está seu arquivo Edlin.Exe (provavelmente seu diretório DOS) digite, do prompt:

edlin teclas.def

O Edlin responde com "New file" para sinalizar que o arquivo não existe e vai criar um novo, seguido de seu prompt, o cursor piscando em frente a um asterisco. Tecle "i" seguido de ENTER, a forma de comandar inserção de linhas, e o Edlin exibe logo abaixo e à direita o número da linha, seguido do asterisco e do cursor. Digite a primeira linha. Para iniciá-la com o ESC, tecle "Control+V" mantendo a tecla Control apertada enquanto aciona o "V". Aparece o circunflexo seguido do "V". Tecle agora o "abre colchete". Pronto: você entrou com o ESC. Tecle novamente o "abre colchete" que segue ao ESC. Agora termine a linha, conforme o modelo abaixo. Não se esqueça das aspas em torno das cadeias de caracteres e dos ponto-e-vírgula entre os parâmetros. Entre com o "p" no final da linha. Verifique se ela está igual à do modelo: se não, retroceda com BackSpace e corrija. Ao final, tecle ENTER. Surge o número da próxima linha. Repita o procedimento linha a linha, de acordo com o modelo, sempre começando com "Control+V" seguido de dois "abre-colchete". Ao terminar a última linha, com o cursor no início da próxima, tecle "Control+C" (mantenha Control acionada enquanto tecla o "C"). Você voltou para o prompt do Edlin. Digite "e" e ENTER (o comando end/save do Edlin) e renda graças a Deus por não ter que usar o Edlin com freqüência. Peça o diretório e verifique se o arquivo Teclas.Def foi salvo. Se não estiver no diretório raiz, transfira-o para lá (basta copiá-lo para o raiz e apagá-lo do corrente). Verifique se seu Config.Sys contém a linha:

device = ansi.sys

Se não, inclua. Ponha em seu Autoexec.Bat a linha:

type teclas.def

dê um novo boot e presto! Suas teclas de função agora servem para algo que preste: experimente-as. Repare, particularmente, na diferença entre as teclas F1, F2, F9 e F10 sozinhas e com Shift. As definições do modelo são meras sugestões. Adiante, juntamente com a tabela dos códigos das demais teclas de função, vamos discutir algumas idéias interessantes sobre o assunto.

B. Piropo