  Manual de Referência do BRLTTY
  Controle de Acesso da Tela para pessoas cegas que usam Display Braille	

  Nikhil Nair <nn201@cus.cam.ac.uk>

  Nicolas Pitre <nico@fluxnic.net>

  Stéphane Doyon <s.doyon@videotron.ca>

  Dave Mielke <dave@mielke.cc>

  Tradução para a lingua Portuguesa

  Regiane Mendonça Villela <regianevillela@gmail.com>

  Filipe Oliveira Bernardes <filipeobernardes@gmail.com>

  Version 4.3, oct 2011


  Copyright © 1995-2011 by Desenvolvedores do BRLTTY. BRLTTY é um software
  livre, e vem com ABSOLUTAMENTE SEM NENHUMA GARANTIA. Ele é postado sob os
  termos da versão 2 ou posterior da GNU e publicada pela Fundação de Software
  Livre.

  ______________________________________________________________________

  Tabela de Conteúdo


  1. Formalidades
     1.1 Licença
     1.2 Renúncia
     1.3 Contato

  2. Introdução
     2.1 Sumário 
     2.2 Requisitos do Sistema

  3. Processo de compilação
     3.1 Instalação da herança de arquivos
     3.2 Instalação a partir do Tar Ball
        3.2.1 Opções de compilação
           3.2.1.1 Padrões do Sistema
           3.2.1.2 Especificações de Diretório
           3.2.1.3 Caracteristicas de Compilação
           3.2.1.4 Opções diversas
        3.2.2 Atingir metas de arquivos
     3.3 Testando o BRLTTY
     3.4 Iniciando o BRLTTY
     3.5 Considerações de Segurança
     3.6 Restrições de Compilação e Tempo de Execução
     3.7 Instalação a partir de um arquivo RPM 
     3.8 Outras Utilidades
        3.8.1 brltty-config
        3.8.2 brltty-install
        3.8.3 brltest
        3.8.4 spktest
        3.8.5 scrtest
        3.8.6 ttbtest
        3.8.7 ctbtest
        3.8.8 tunetest

  4. Usando BRLTTY
     4.1 Comandos
        4.1.1 Deslocamento Vertical 
        4.1.2 Deslocamento Horizontal 
        4.1.3 Deslocamento Implicito 
        4.1.4 Caracteristica de Ativação
        4.1.5 Modo de Seleção
        4.1.6 Preferências de Manutenção
        4.1.7 Menu de Navegação
        4.1.8 Controles de Fala
        4.1.9 Comutação do Terminal Virtual
        4.1.10 Outros Comandos
        4.1.11 Caracteres de Comandos
        4.1.12 Base Commandos
     4.2 Arquivos de configuração
     4.3 Opções de linha de Comando

  5. Descrições de caracteristicas
     5.1 Roteamento de Cursor
     5.2 Copiar e Colar
     5.3 Suporte de Ponteiro (Mouse) via GPM
     5.4 Alerta de Tunes
     5.5 Configurações de Preferências 
        5.5.1 Menu de Preferências
           5.5.1.1 Menu de Navegação
           5.5.1.2 Itens de Menu
     5.6 Status do Display
        5.6.1 Displays com 21 Células ou Mais
        5.6.2 Displays com 20 Células ou Menos
     5.7 Comando de Modo de Aprendizagem

  6. Tabelas
     6.1 Tabelas de Texto
        6.1.1 Tabela de Formato de Texto
        6.1.2 Tabela de Diretivas de Texto
     6.2 Tabela de Atributos
        6.2.1 Tabela de Formatos dos Atributos
        6.2.2 Tabela de Diretórios dos Atributos 
     6.3 Tabela de Contração
        6.3.1 Tabela de Formato de Contração
        6.3.2 Tabela de Operandos de Contração
        6.3.3 Opcodes
           6.3.3.1 Administração de Tabela
           6.3.3.2 Definição de Símbolo Especial
           6.3.3.3 Tradução de Caracter 
           6.3.3.4 Classes de Caracter
     6.4 Tabelas de Teclas
        6.4.1 Tabela de Diretivas de Teclas
           6.4.1.1 Diretiva de atribuição
           6.4.1.2 Diretiva de vínculo
           6.4.1.3 Diretiva de contexto
           6.4.1.4 Diretiva de ocultar
           6.4.1.5 Diretiva de Hotkey 
           6.4.1.6 Diretiva de IfKey 
           6.4.1.7 Diretiva de inclusão
           6.4.1.8 Diretiva de mapa
           6.4.1.9 Diretiva de observação
           6.4.1.10 Diretiva de sobreposição
           6.4.1.11 Diretiva de título
        6.4.2 Propriedades do Teclado

  7. Tópicos Avançados
     7.1 Instalação de Multiplas Versões
     7.2 Instalação/Ajuda dos Discos de root para Linux
     7.3 Herança Futura
     7.4 Bugs Conhecidos

  A. Display de Braille Suportados
  B. Sintetizadores de Fala Suportados
  C. Identificação dos Códigos do Driver 
  D. Drivers de Tela Suportados
  E. Sintaxe de Operação
     E.1 Especificação do Driver 
     E.2 Especificação do Dispositivo Braille 
     E.3 Especificação do Dispositivo PCM 
     E.4 Especificação do Dispositivo MIDI

  F. Convenção do Padrão Braille para numeração
  G. Código Norte-Americano do Padrão Braille
  H. Tabela de Instrumento MIDI 


  ______________________________________________________________________

  1. Formalidades
  

  1.1 Licença

Este programa é um software livre. Você poderá redistribuir e/ou modificar 
sobre os termos do GNU General Public Lincense como publicado pela Fundação do 
Software Livre. Versão 2 (ou outra versão posterior) da licença poderá ser 
usada.
Você deverá receber uma cópia da licença junto com este programa. Deve-se ter 
no arquivo de licença-GPL no diretório raiz. Se não estiver, escreva para a 
Free Software Foundation Inc., 675 Mass Ave, Cambridge, MA 02139, EUA.
   
  1.2 Renúncia

Este programa é distribuído na esperança de ser usual, mais vem com 
ABSOLUTAMENTE SEM NENHUMA GARANTIA - nem mesmo a garantia implícita de 
COMERCIALIZAÇÃO ou ADEQUAÇÃO PARA UM PROPÓSITO PARTICULAR. Ver na licença GNU 
para mais detalhes.  

  1.3 Contato

BRLTTY é representado por uma equipe de trabalho. Para atualizar a informação 
dia a dia, no web site BRLTTY [http://mielke.cc/brltty]. Composto por:

  ·  Dave Mielke (mantenedor, ativo)

     Web
        http://mielke.cc/

     Email
        <dave@mielke.cc>

  ·  Samuel Thibault (ativo)

     Web
        http://dept-info.labri.fr/~thibault/

     Email
        <samuel.thibault@ens-lyon.org>

  ·  Mario Lang (ativo)

     Web
        http://delysid.org/

     Email
        <mlang@delysid.org>

  ·  Nicolas Pitre

     Web
        http://www.fluxnic.net/

     Email
        <nico@fluxnic.net>

  ·  Stéphane Doyon

     Web
        http://pages.infinit.net/sdoyon/

     Email
        <s.doyon@videotron.ca>

  ·  Nikhil Nair (autor)

     Email
        <nn201@cus.cam.ac.uk>

Perguntas, comentários, sugestões, criticas, e contribuições são todas bem-              
vindas. Usando os endereços de email listados acima, e a melhor maneira de  
entrar em contato com a lista do BRLTTY. Você pode postar na lista enviando um 
email para brltty@mielke.cc. Se você não inscrever na lista então seus posts 
serão mantidos para a aprovação do moderador. Para inscrever, remover 
assinatura, configurações de mudanças, arquivos para visualização, etc, vá na   
página http://mielke.cc/mailman/listinfo/brltty.
   	
  2. Introdução
  
BRLTTY dá ao usuário braille acesso para o terminal de texto de um sistema 
Unix/Linux. Ele é executado como um processo em segundo plano (daemon) que 
opera um display Braille atualizável, e pode ser iniciado antes da seqüência 
do sistema de boot. Ele permite que um usuário braille trabalhe de forma 
independente com a administração do sistema, tais como modo de entrada única 
de usuário, recuperação do sistema de arquivos e análise de problemas de 
inicialização. Ele ainda facilita muito as tarefas de rotina como logging 
in.

BRLTTY reproduz uma parte retangular da tela (que se refere neste documento 
como a janela) como texto braille na tela. Controles na tela pode ser usados 
para mover a janela em torno da tela, para ativar e desativar várias opções de 
visualização, e para realizar funções especiais.

  2.1 Sumário 
  
  BRLTTY oferece os seguintes recursos:

  · Completa implementacão das facilidades normais de revisão de tela.

  · Escolha entre block, underline, ou no cursor.

  · Sublinhado Opcional para indicar destaque de texto especial.

· Uso opcional de alerta (velocidade ajustáveis individualmente) para cursor, 
destaque sublinhado especial, e/ou letras maiúsculas.

  · Congelamento de tela para revisão.

· Cursor inteligente de roteamento, permitindo que seja fácil buscar do cursor 
dentro de editores de texto, navegadores web, etc, sem mover as mãos da linha 
Braille.

· A função de copia-e-cola que é particularmente útil para copiar nomes de 
arquivos, copiar o texto entre os terminais virtuais, entrada de comandos 
complicados, etc.

  · Tabela de contração Braille (Inglês e Francês).

  · Suporte para vários códigos em braille.

  · Capacidade para identificar um caracter desconhecido.

  · Capacidade para verificar um caracter sublinhado.

  · Ajuda on-line para comandos da linha Braille.

  · Menu de preferências.

  · Suporte básico de fala.

· Projeto modular que permite a adição relativamente fácil de drivers para 
outros display braille e sintetizadores de voz.

  · Uma Interface de Programação de Aplicativos.

  2.2 Requisitos do Sistema
  
  Até essa data, BRLTTY roda no Linux, Solaris, OpenBSD, FreeBSD,
  NetBSD, e Windows. Enquanto que outros sistemas operacionais não estão
  atualmente planejados, alguma sugestão de outros projetos será bem
  vinda. 

  Linux

  Este software tem sido testado por diversos sistemas:

  · Desktops, laptops, e alguns PDAs.

  · Processadores de 386SX20 até Pentium.

  · Diversas séries de tamanhos de mémoria.

  · Diversos distribuidores incluindo Debian, Red Hat, Slackware, e SuSE.

  · Vários kernels, incluindo 1.2.13, 2.0, 2.2, and 2.4.
 	
  Solaris
  
  Este software tem sido testado nos sistemas abaixo:

        · Arquitetura Sparc (versões 7, 8, e 9).

        · Arquitetura Intel (versão 9).

  OpenBSD

  Este software tem sido testado no sistema OpenBSD abaixo:

  · Arquitetura Intel (versão 3.4).

  FreeBSD
 
  Este software tem sido testado no sistema FreeBSD abaixo:

  · Arquitetura Intel (versão 5.1).

  NetBSD

  Este software tem sido testado no sistema NetBSD abaixo:

  · Arquitetura Intel (versão 1.6).

  Windows

  Este software tem sido testado no Windows 95, 98 e XP.

  No Linux, BRLTTY pode inspecionar o conteúdo da tela de forma
  completamente independente de qualquer usuário conectado. Ele faz isso
  usando um dispositivo especial que fornece fácil acesso ao conteúdo do 
  atual console. Este dispositivo foi introduzido na versão 1.1.92 do
  kernel do Linux, e é normalmente chamado também de /dev/vcsa ou
  /dev/vcsa0 (em sistemas com devfs é chamado /dev/vcc/a). Por esta
  razão, o kernel do Linux 1.1.92 ou superior é necessário se o BRLTTY
  for utilizado desta forma. Com a capacidade de:

  · Permite BRLTTY a ser iniciado muito antes da seqüência de
  inicialização do sistema.

  · Permite a visualização em Braille para estar totalmente operacional
  durante o login do prompt.

  · Faz muito mais fácil para um usuário em Braille para realizar a
  inicialização de tarefas de administração do sistema.

  Um patch para o programa de tela é fornecido (ver os subdiretórios dos
  Patches). Ele permite que BRLTTY acesse imagem da tela da tela via 
  memória compartilhada, e, portanto, permite BRLTTY a ser utilizados com
  bastante efetivamente em plataformas que não têm a sua própria tela de
  conteúdo instalações de inspecção. A principal fraqueza da abordagem de tela é
  que BRLTTY não pode ser iniciado até que o usuário esteja logado.

  BRLTTY apenas trabalha com consoles e aplicações. Pode ser usados em
  aplicações shell, mais não com aplicações que usam caracteristicas VGA ou que
  requer console gráfico (como o sistema X Window).

  Você deverá também, claro, possuir um display Braille(ver seção Display de
  Braille Suportado para completer a lista). Nós esperamos que outros displays
  sejam suportados no futuro, então, se você tem alguma informação técnica de um
  dispositivo que você gostaria de ser visto com suportado, por favor entre em
  contato (ver seção Informação de contato).

  Finalmente, você precisa de ferramentas para construir o executável a
  partir de sua fonte: make, compiladores C e C + +, yacc, awk, etc. As
  ferramentas de desenvolvimento fornecidas com a distribuição padrão do
  Unix deveria ser suficiente. 

  3 - Processo de compilação
  
  BRLTTY pode ser baixado a partir do seu site (consulte a secção
  Informações de contato para a sua localização). Todas as releases são
  fornecidas compactadas tar balls. Releases mais recentes também são
  fornecidas como arquivos RPM (RedHat Package Manager). 

     Essa informação, provavelmente atingiu a sua curiosidade, e agora você
  não pode esperar para começar. É uma boa idéia, porém, que primeiro se
  familiarizar com os arquivos que serão finalmente instalados.

  3.1 - Instalação da herança de arquivos

  Processo de compilação deve resultar na instalação dos seguintes
  arquivos:

  /bin/

  brltty: O programa BRLTTY.

  brltty-install: Um utilitário para copiar BRLTTY hierarquia de
  arquivos instalado a partir de um local para outro.

  brltty-config: Um utilitário que define um número de variáveis de
  ambiente para valores que refletem a instalação atual do BRLTTY.
  
  /lib/

  libbrlapi.a: arquivo estático da Interface de Programação de
  Aplicativos.

  libbrlapi.so: objeto dinâmico carregável para o Interface de
  Programação de Aplicativos.

  /lib/brltty/

  A instalação do BRLTTY não pode ter todos os seguintes tipos de
  arquivos. Eles são criados apenas quando necessário com base nas
  opções de compilação que você selecionar (ver seção Opções de
  Compilação).

  brltty-brl.lst: Uma lista dos drivers do display braille, que foram
  construídas como objetos compartilhados dinamicamente carregáveis, e,
  portanto, que pode ser selecionada em tempo de execução. Cada linha
  consiste do código de duas identificações no codigo do driver, um
  caracter de tabulação.

  libbrlttybdriver.so.1: O driver é carregável e  dinamico para uma
  linha Braille, onde o driver é duas letras do código de identificação
  do driver.

  brltty-spk.lst: A lista de drivers de sintetizador de voz que foram
  construídos como objetos compartilhados dinamicamente carregáveis, e,
  portanto, que pode ser selecionada em tempo de execução. Cada linha
  consiste do código de identificação de duas letras para um driver, um
  caracter de tabulação, e uma descrição do sintetizador de voz que esse
  driver.

  libbrlttysdriver.so.1: O driver carregável dinamicamente por um
  sintetizador de voz, onde o driver é o de duas letras do código de
  identificação do driver.

  /lib/brltty/rw/
  Os arquivos criados em tempo de execução, por exemplo, é necessário,
  mas falta recursos do sistema.

  /etc/
  brltty.conf: padrões do sistema para BRLTTY.
  brlapi.key: A chave de acesso para BrlAPI.

  /etc/brltty/
  A instalação do BRLTTY não pode ter todos os seguintes tipos de
  arquivos. Eles são criados apenas quando necessário com base nas
  opções de compilação que você selecionar (ver seção Opções de
  Compilação).

  	*.conf: Driver específico para configuração de dados. Seus nomes
      são mais ou menos como brltty-driver.conf, onde driver é o de duas
      letras do código de identificação no driver.

*.atb: tabelas de atributos.(ver seção Tabelas de Atributos) Seus 
nomes parecem name.atb.
       
      *.ati: Incluir arquivos de tabelas de atributos.
       
*.ctb: Contração tabelas. (Ver seção Tabela de Contração). Seus 
nomes parecem idioma language-country-level.ctb.

      *.cti: Incluir arquivos para tabelas contração.
       
*.ktb: Tabelas de Teclas.(Ver seção Tabelas de Teclas). Seus 
nomes parecem name.ktb.
       
      *.kti: Incluir arquivos para tabelas de teclas.
       
*.ttb: tabelas de texto. (Ver seção Tabelas de Texto). Seus nomes 
parecem language.ttb.
       
      *.tti: Incluir arquivos de texto para tabelas.
       
*.hlp: Driver específico páginas de ajuda. Seus nomes mais ou menos 
como brttty-driver.hlp, onde driver é o de duas letras do código de 
identificação do driver.

  /var/lib/BrlAPI/
  São usados soquetes locais para conexão com a Interface de Programação
  de Aplicativos.

  /include/
  Arquivos de cabeçalho C para a Interface de Programação de
  Aplicativos. Seus nomes parecem brlapi-function.h. O cabeçalho
  principal é brlapi.h.

  /include/brltty/
  Arquivos de cabeçalho C para acessar hardware braille. Seus nomes são
  brldefs-driver.h (onde driver é o de duas letras do código de
  identificação do driver). O cabeçalho brldefs.h e api.h são fornecidos
  para compatibilidade com versões anteriores e não deve ser usado.

  /man/
  Páginas man.

  man1/name.1: páginas man para comandos do usuário BRLTTY-relacionados.
  man3/name.3: páginas man para rotinas da biblioteca de Interface de
  Programação de Aplicativos.

  Alguns arquivos opcionais que você deve estar ciente de, apesar de não
  serem parte da hierarquia de arquivos instalados, são:

  /etc/brltty.conf
  O sistema de arquivo de configuração padrão. É criado pelo
  administrador do sistema. Ver seção Arquivo de Configuração.

  /etc/brltty-driver.prefs
  O arquivo de configurações foram salvos as preferências (driver é um
  código de duas letras de identificação do driver). É criado pelo
  comando PREFSAVE. Ver seção Preferência de Configuração.

  3.2 - Instalação a partir do Tar Ball

     Este passo é apenas quando se quer instalar apenas o BRLTTY
  rapidamente, é acreditar que os padrões estejam corretos.
 
     1. Baixe o código. Um arquivo chamado brltty-release.tar.gz, por
  exemplo, brltty-3.0.tar.gz.

     2. Descompacte o código fonte em sua estrutura hierárquica nativa.
 
  Ex.: tar-zxvf brltty-release.tar.gz. 

  Isso deve criar o diretório brltty-release.

  3. Mude para o diretório fonte, configure, compile e instale BRLTTY.
 
  	cd brltty-release
  	./configure 
  	make install
 
  Isto deve ser feito como root. 
 
     Para desinstalar BRLTTY, faça:

  	cd brltty-release
      make uninstall

  3.2.1 Opções de Compilação

     O primeiro passo na construção BRLTTY é configurá-lo para o seu
  sistema e/ou para suas necessidades pessoais. Isto é feito através da
  execução do script no diretório BRLTTY de nível superior. Nós tentamos
  fazer o ajuste padrão o caso mais comum, então, supondo que você não
  está tentando fazer alguma coisa fora do comum, você pode não precisar
  fazer nada mais complicado do que invocar o script sem especificar
  todas opções.

  ./configure

  Se, no entanto, você tem algumas necessidades especiais, ou mesmo se
  você está apenas se aventurando, você deve descobrir quais são suas
  escolhas.

  ./configure --help
 
     Você também deve verificar se o arquivo README no subdiretório que
  contém o driver para o seu display Braille para algumas instruções
  adicionais de exibição específico. 
 
     3.2.1.1 Padrões do Sistema 
 
     --with-driver-braille = driver 
     Especificar os drivers do display braille, que devem estar ligados ao
  binário BRLTTY. Os drivers que não estão listados por esta opção são
  construídas como objetos compartilhados dinamicamente carregáveis e
  ainda pode ser selecionada em tempo de execução. Cada driver deve ser
  identificado pelo seu código de duas letras de identificação do driver
  ou pelo seu nome próprio (completo ou abreviado). Os identificadores
  do driver deve ser separada da outra por uma única vírgula. Se um
  identificador do driver é precedido por um sinal de menos (-), então
  esse driver é excluído da compilação. Qualquer uma das seguintes
  palavras também pode ser usado como o operando esta opção:

  all 
  Link de todos os drivers para o binário. Não construa qualquer um
  deles como objetos compartilhados dinamicamente carregáveis. Esta
  palavra também pode ser especificado como o último elemento de uma
  lista de driver. Isto é como especificar o driver default quando todos
  os drivers devem ser ligados dentro.

  -all: Apenas construir os condutores que tenham sido incluídos 
  explicitamente através desta opção.

  no: Não construa qualquer driver em tudo. Isso é equivalente a
  especificar --without-braille-driver.

  yes: Construir todos os drivers como objetos compartilhados
  dinamicamente carregáveis. Não ligar qualquer um deles dentro do
  binário. Isso é equivalente a especificar --with-braille-driver.

  Ver arquivo configuração e a linha de opção de commando b para a seleção de
  tempo de execução.

  --with-braille-parameters= [driver:]name = value, ...
  Especifique as configurações padrão de parâmetro para os drivers do
  display braille. Se o mesmo parâmetro é especificado mais de uma vez,
  a sua atribuição é usada. Se um nome de parâmetro é qualificada por um
  driver, (ver seção Códigos de Identificação de Drivers) então essa
  configuração só se aplica ao driver, senão é, então, que se aplica a
  todos os drivers. Para essa descrição dos parâmetros aceitos por a
  especificação de driver, por favor ver na documentação do driver. Ver
  configuração de arquivo braille-parameters ou linha de comando b.  
 
     --with-braille-device = device, ... 
     Especifica o dispositivo padrão para o qual o display braille está
  ligado. (Ver seção Especificação de Dispositivo Braille). Se essa
  opção não for especificada, então usb: é assumido se o suporte USB
  está disponível, e um sistema operacional tem um caminho apropriado
  para a porta primária serial (dispositivo) é assumido se não. 
 
     --with-libbraille = directory 
     Especifique o local da instalação do pacote Libbraille, e compilar o
  driver display braille Libbraille (Ver seção Restrições de
  Compilação). Qualquer uma das seguintes palavras também pode ser
  usado como o operado por essa opção:

  no
  Não compilar o driver. Isso é equivalente a especificar
  --without-libbraille.

  Yes
  Compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/Libbraille, /usr/local/libbraille, /opt/Libbraille, ou
  /opt/libbraille. Isso é equivalente a especificar --with-libbraille.

  --with-text-table=file
     Especifique tabela texto build-in (retorno)(Ver seção Tabelas de
  Texto). A tabela especificada é ligada ao binário BRLTTY, e é usado
  tanto em falhas de autoseleção quanto na solicitação de tabela que não
  pode ser carregado. O caminho absoluto para uma tabela fora do código
  fonte pode ser especificado. A extensão .ttb é opcional. Esta
  configuração pode ser alterada com a preferência Tabela de texto. Se
  esta opção não for especificada, então en-nabcc, normalmente(América
  do Norte) usa 8 pontos ver Código Braille Norte-Americano. Ver
  configuração de Tabela de Texto ou comando t. Esta configuração
  pode ser mudada com a preferência Tabela de Texto. 
 
     --with-attributes-table=file 
     Especifique a tabela texto de atributos built-in (retorno)(Ver seção
  Atributos de Tradução). A tabela especificada é ligada ao binário
  BRLTTY, e é usado quando a tabela solicitada não pode ser carregada.
  caminho absoluto para uma tabela fora do código fonte pode ser
  especificado. A extensão do .atb é opcional. Se essa opção não for
  especificada, então os atributos são assumidos. Mude o atributo se
  você gostaria que ele fosse feito à moda antiga. Veja a tabela
  atributos de arquivo de configuração e uma opção de linha de comando
  para seleção de tempo de execução -a. Esta configuração pode ser
  alterada com a preferência atributos da tabela.

  --with-speech-driver = driver 
     Especificar os drivers de sintetizador de voz que são ligados ao
  binário BRLTTY. Esses drivers não estão listados nesta opção são
  construídas como objetos compartilhados dinamicamente carregáveis e
  ainda pode ser selecionado em tempo de execução. Cada driver deve ser
  identificado pelo seu código de duas letras de identificação do driver
  ou pelo seu nome próprio (completo ou abreviado). Os identificadores
  do driver deve ser separados por uma única vírgula. Se identificador
  do driver é precedido por um sinal de menos (-), então esse driver é
  excluído da compilação. Qualquer uma das seguintes palavras também
  pode ser usadas como operadores esta opção:

  all
  link de todos os drivers para o binário. Não compila qualquer um
  deles como objetos compartilhados dinamicamente carregáveis. Esta
  palavra também pode ser especificada como o último elemento de uma
  lista de driver. Isto é como especificar o driver default quando todos
  os drivers devem ser ligados. 
              
  -all
  apenas construir os drivers que tenham sido incluídos explicitamente
  através desta opção.

  no
  não construa qualquer driver. Isso é equivalente a especificar
  without-speech-driver.

  yes
  compilar todos os drivers como objetos compartilhados dinamicamente
  carregáveis. Não ligar qualquer um deles dentro do binário. Isso é
  equivalente a especificar --with-speech-driver.

     Veja a configuração do arquivo speech-driver e a opção -s de linha
  de comando para seleção de tempo de execução. 

  --with-speech-parameters = [driver:]name = value, ... 
     Especifique os parâmetros das configurações padrão para os drivers de
  sintetizador de voz. Se o mesmo parâmetro é especificado mais de uma
  vez. Se um nome de parâmetro é qualificado por um driver (Ver Código
  de Identificação de Drivers), então essa configuração só se aplica
  nesse driver. Para obter uma descrição dos parâmetros aceitos por um
  driver específico, consulte a documentação do driver. Ver configuração
  speech-parameters ou comando -s. 
 
     --with-flite=directory  
     Especifique o local instalação do FestivalLite no pacote text-to
  speech e compila o driver sintetizador de voz FestivalLite (Ver
  Restrições de Compilação). Qualquer uma das seguintes palavras
  também pode ser usado como o operadores esta opção:

  no
  não compilar o driver. Isso é equivalente a especificar without
  flite.

  yes
  compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/FestivalLite, /usr/local/flite, /opt/FestivalLite, ou
  /opt/flite. Isso é equivalente a especificar --with-flite.
 
     --with-flite-language=language 
     Especifique o idioma usado que o text-to-speech do FestivalLite. O
  idioma padrão é USENGLISH. 
 
     --with-flite-lexicon=lexicon  
     Especifique o léxico que o text-to-speech FestivalLite usa. O léxico
  padrão é cmulex. 
 
     --with-flite-voice=voice  
     Especifique a voz que o text-to-speech FestivalLite usa. A voz padrão
  é cmu_us_kal16. 

  -- with-mikropuhe=directory  
     Especifique o local instalação do pacote text-to-speech da Mikropuhe,
  e compilar o driver sintetizador de voz Mikropuhe (Ver Restrições de
  Compilação). Qualquer uma das seguintes palavras também pode ser usado
  como o operando esta opção:
 
     no
  não compilar o driver. Isso é equivalente a especificar without
  mikropuhe.

  yes
  compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/Mikropuhe, /usr/local/mikropuhe, /opt/Mikropuhe, ou
  /opt/mikropuhe. Isso é equivalente a especificar --with-mikropuhe.

  --with-speechd=directory  
     Especifique o local da instalação do pacote text-to-speech do speech
  dispatcher, e compilar o driver sintetizador de voz do speech
  dispatcher. Qualquer uma das seguintes palavras também pode ser usado
  como o operando esta opção:
 
     no
  não compilar o driver. Isso é equivalente a especificar without
  speechd.
 
     yes
   compilar o driver se o pacote pode ser encontrado em /usr,
   /usr/local, /usr/local/speech-dispatcher, /usr/local/speechd,
   /opt/speech-dispatcher, ou /opt/speechd. Isso é equivalente a
   especificar --with-speechd. 

     --with-swift = directory  
     Especifique o local da instalação do pacote de text-to-speech Swift, e
  compilar o driver sintetizador de voz Swift. Qualquer uma das
  seguintes palavras também pode ser usado como o operando esta opção: 
 
  no
  não compilar o driver. Isso é equivalente a especificar -without
  swift. 

  yes
  compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/Swift, /usr/local/swift, /opt/Swift, ou /opt/swift. Isso é
  equivalente a especificar --with-swift. 
 
     --with-theta = directory  
     Especifique o local da instalação do pacote text-to-speech do Theta, e
  compilar o driver sintetizador de voz Theta (Ver Restrições de
  Compilação). Qualquer uma das seguintes palavras também pode ser
  usado como o operando esta opção: 

  no
  não compilar o driver. Isso é equivalente a especificar -without
  theta. 
 
  Yes
  compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/Theta, /usr/theta/local, /opt/Theta, ou /opt/theta. Isso é
  equivalente a especificar --with-theta. 
 
     --with-viavoice=directory:  
     Especifique o local da instalação do pacote text-to-speech do
  ViaVoice, e compilar o driver sintetizador de voz do ViaVoice (Ver
  Restrições de Compilação). Qualquer uma das seguintes palavras também
  pode ser usado como o operando esta opção: 

     no
  não compilar o driver. Isso é equivalente a especificar -without
  viavoice. 

  Yes
  compilar o driver se o pacote pode ser encontrado em /usr, /usr/local,
  /usr/local/ViaVoice, /usr/local/ViaVoice, /opt/ViaVoice, ou
  /opt/ViaVoice. Isso é equivalente a especificar --with-viavoice. 
 
     --with-screen-driver=driver:  
     Especificar os drivers da tela que devem ser ligados ao binário
  BRLTTY. Os drivers que não estão listados por esta opção são
  construídas como objetos compartilhados dinamicamente carregáveis e
  ainda pode ser selecionada em tempo de execução. Cada driver deve ser
  identificado pelo seu código de duas letras de identificação do driver
  (Ver seção Drivers de Tela Suportados) ou pelo seu nome próprio
  (completo ou abreviado). Os identificadores de driver devem ser
  separados da outra por uma única vírgula. Se um identificador de
  driver é precedido por um sinal de menos (-), então esse driver é
  excluído da compilação. Qualquer uma das seguintes palavras também
  pode ser usado como o operando esta opção: 
 
     all
  liga todos os drivers dentro do binário. Não construa qualquer um
  deles como objetos compartilhados dinamicamente carregáveis. Esta
  palavra também pode ser especificado como o último elemento de uma
  lista de driver. Isto é como especificar o driver default quando todos
  os drivers devem ser ligados.
 
     -all
  apenas compila os drivers que tenham sido incluídos explicitamente
  através desta opção.
 
     no
  não construa qualquer driver. Isso é equivalente a especificar
  without-screen-driver. 
 
  Yes
  compilar todos os drivers como objetos compartilhados dinamicamente
  carregáveis. Não ligar qualquer um deles dentro do binário. Isso é
  equivalente a especificar --with-screen-driver. 

     O primeiro driver não-excluído começa sendo driver padrão. Se essa
  opção não for especificada, ou se não especificado o driver, então um
  padrão do sistema operacional apropriado é selecionado. Se um driver
  nativo para o sistema operacional atual está disponível, então esse
  driver é selecionado, senão, o sc é selecionado. Veja o arquivo
  screen-driver de configuração e a opção de linha de comando para
  seleção -x tempo de execução. 
 
     --with-screen-parameters=[driver:]name=value,...:  
     Especifique as configurações padrão de parâmetro para os screen
  drivers. Se um nome de parâmetro é qualificada por um driver (consulte
  a seção Supported Screen Drivers), em seguida, a configuração só
  aplica ao driver, senão é, aceitável por drivers específicos. Para
  obter uma descrição dos parâmetros aceitos por um driver específico,
  consulte a documentação do driver. Veja no arquivo de configuração de
  parâmetros e o comando X no tempo de execução. 
 
     --with-usb-package = package, ...:  
     Especificar o pacote que está sendo utilizado pela I/O da USB. O nome
  dos pacotes devem ser separados um do outro por uma única vírgula, e
  são processados da esquerda para a direita. O primeiro, que é
  instalado no sistema é selecionada. Os pacotes a seguir são
  suportados:

  1. libusb
  2. libusb-1.0 

  Qualquer uma das seguintes palavras também pode ser usado como o
  operadores esta opção:
 
  no
  não suporta I/O da USB. Isso é equivalente a especificar -without
  usb-package.
 
  yes
  use o suporte nativo para I/O da USB. Se o suporte nativo não está
  disponível para a plataforma atual, em seguida, usar o pacote
  disponível de suporte (como por ordem especificada acima). Isso é
  equivalente a especificar --with-usb-package.
 
     --with-bluetooth-package = package, ...  
     Especificar o pacote que está sendo utilizado para I/O de Bluetooth.
  Os nomes dos pacotes devem ser separados um do outro por uma única
  vírgula, e são processados da esquerda para a direita. O primeiro, que
  é instalado no sistema é selecionada. Os pacotes a seguir são
  suportados: 
  
1.	(Sem os pacotes são suportados).
  Qualquer uma das seguintes palavras também pode ser usado como o
  operador esta opção:

  no
  não suporte da I/O do Bluetooth. Isso é equivalente a
  especificar --with-bluetooth-package.

  Yes
  use o suporte nativo para I/O do Bluetooth. Se o suporte nativo
  não está disponível para a plataforma atual, em seguida, usar o
  primeiro pacote disponível suporte (como por ordem especificada
  acima). Isso é equivalente a especificar --with-bluetooth-package.

     3.2.1.2 Especificações de Diretório
  
  --with-execute-root=directory  
     Especifique o diretório em que a hierarquia de arquivos foram
  instalados no tempo de execução. O caminho absoluto deve ser
  fornecido. Se essa opção não for especificada, então diretório raiz do
  sistema é assumido. Você precisa usar essa característica, por
  exemplo, se você tiver mais de uma versão instalada do BRLTTY precisar
  instalar arquivos BRLTTY no mesmo tempo. 
 
     --with-install-root=directory 
     Especifique o diretório sob o qual a hierarquia de arquivos instalados
  foi instalado. O caminho absoluto deve ser fornecido. Se esta opção
  não for especificada, então o pacote root no tempo de execução (veja a
  opção --with-execute-root build option) é assumida. Este diretório é
  apenas usado pelo make install e make uninstall. Use esta opção se
  você precisa instalar BRLTTY em um local diferente daquele a partir do
  qual foi finalmente foi executado. Você precisa usar este recurso, por
  exemplo, se você está construindo BRLTTY em um sistema para uso em
  outro. 
 
     --prefix = directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os diretórios padrão para os arquivos independentes de
  arquitetura são enraizadas. Esses diretórios são:
     
     · Diretório de Programa
  · Diretório de Biblioteca
  · Diretório de API
     · Diretório de Escrita
  · Diretório de Dados
  · Diretório de Configuração
  · Diretório de Manpage 
  · Diretório de Inclusão

  O caminho absoluto deve ser fornecido. Se essa opção não for
  especificada, então diretório raiz do sistema é assumido. Este
  diretório é enraizada no diretório especificado pela opção de
  compilação --with-execute-root. 
 
     --exec-prefix = directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os diretórios padrões para os arquivos dependentes de arquitetura
  devem ser enraizados. Esses diretórios são:
  · Diretório de Programa
  · Diretório de Biblioteca
  · Diretório de API

  O caminho absoluto deve ser fornecido. Se essa opção não for
  especificada, então o diretório especificado através da opção de
  compilação --prefix é assumida. Este diretório é enraizado no
  diretório especificado pelo --with-execute-root. 
 
     --libdir=directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde o arquivo estático e o objeto carregado dinamicamente para a
  API ser instalada. O caminho absoluto deve ser fornecido. Se essa
  opção não for especificada, então o diretório especificado através da 
  opção de configuração padrão -libdir (cujo padrão é /lib enraizado no
  diretório especificado pelo -exec-prefix) é assumida. O diretório é
  criado senão existe. 
 
     --sysconfdir=directory 
  Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os arquivos de configuração do sistema serão instalados. O
  caminho absoluto deve ser fornecido. Se essa opção não for
  especificada, então o diretório especificado através da opção de
  configuração padrão --sysconfdir (cujo padrão é /etc enraizado no
  diretório especificado por --prefix) é assumida. O diretório é criado
  se ele não existe. 

  --with-program-directory=directory  
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os programas executáveis (binários, executáveis) são instalados.
  O caminho absoluto deve ser fornecido. Se essa opção não for
  especificada, então o diretório especificado através da opção de
  configuração padrão --bindir (cujo padrão /bin enraizada no diretório
  especificado pelo --exec-prefix) é assumida. O diretório é criado se
  ele não existe. 
 
     --with-library-directory=directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os drivers e outros arquivos dependentes de arquitetura são
  instalados. O caminho absoluto deve ser fornecido. Se essa opção não
  for especificada, então o brltty subdiretório do diretório
  especificado através da opção de configuração padrão --libdir (cujo
  padrão é /lib enraizada no diretório especificado pelo --exec-prefix)
  é assumida. O diretório é criado se ele não existe. 

     --with-writable-directory=directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  que podem ser gravados. O caminho absoluto deve ser fornecido.
  Qualquer uma das seguintes palavras também pode ser usado como o
  operando esta opção:

  no
  não defina um diretório gravável. Isso é equivalente a especificar
  without-writable-directory.

  Yes
  Use o local padrão. Isso é equivalente a especificar --with-writable
  directory.
     Se essa opção não for especificada, então o subdiretório do diretório
  rw especificado com --with-library-directory é assumido. O diretório é
  criado se ele não existe.
        
  --with-data-directory=directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde as paginas das tabelas de ajuda, e outros arquivos de
  arquiteturas independentes foram instaladas. O caminho absoluto deve
  ser fornecido. Se essa opção não for especificada, então o
  subdiretório do diretório do brltty especificado através da opção de
  configuração padrão --sysconfdir (cujo padrão é /etc enraizado no
  diretório especificado pela opção --prefix) é assumido. O diretório é
  criado se ele não existe. 
 
     --with-manpage-directory=directory 
     Especifique o diretório dentro da hierarquia de arquivos instalados,
  onde as páginas do man serão instalados. O caminho absoluto deve ser
  fornecido. Se essa opção não for especificada, então o diretório
  especificado através da opção de configuração padrão --mandir (cujo
  padrão é /man enraizado no diretório especificado por --prefix) é
  assumida. O diretório é criado se ele não existe. 
 
     --with-include-directory=directory  
     Especifique o diretório dentro da hierarquia de arquivos instalados
  onde os arquivos de cabeçalho C para o Application Programming
  Interface serão instalados. O caminho absoluto deve ser fornecido. Se
  essa opção não for especificada, então o subdiretório do diretório
  brltty é especificado através da opção de configuração padrão
  includedir (cujo padrão é /include enraizado no diretório especificado
  por --prefix) é assumida. O diretório é criado se ele não existe. 

     3.2.1.3 Caracteristicas de Compilação 
 
     Estas opções são úteis principalmente quando a construção do BRLTTY
  for usado em um disco de inicialização. 
 
     --enable-standalone-programs 
     Criar links estaticamente, em vez de links dinamicos. Esta opção
  remove todas as dependências de objetos compartilhados no tempo de
  execução. Apenas os drivers padrão (veja a opção --with-braille
  driver, --with-speech-driver, e --with-screen-driver) são compilados. 

  --enable-relocatable-install 
     Se este recurso estiver ativado, todos os caminhos internos são
  recalculados a ser relativo ao diretório do programa. Se desativado,
  então todos os caminhos internos são absolutos. Este recurso permite
  que toda a hierarquia de arquivos instalados ser copiados ou movidos,
  de um lugar para outro, e é destinado principalmente para uso em
  plataformas Windows. 
 
     --disable-strippingl 
     Não remova as tabelas de símbolos a partir de arquivos executáveis e
  objetos compartilhados quando instalá-los. 
 
     --disable-learn-mode 
     Reduzir o tamanho do programa, excluindo o modo de comando (Ver seção
  de Modo de Comando de Aprendizagem). 
 
     --disable-contracted-braille 
     Reduzir o tamanho do programa, excluindo o suporte para braille
  contratados (Ver seção Tabela de Contração). 
 
     --disable-speech-support 
     Reduzir o tamanho do programa, excluindo o suporte dos sintetizadores
  de voz.

--disable-iconv 
Reduzir o tamanho do programa, com exclusão do suporte para a 
conversão de conjunto de caracteres.
          
  --disable-icu 
     Reduzir o tamanho do programa, excluindo o suporte de
  internacionalização Unicode-based. 
 
     --disable-x  
     Reduzir o tamanho do programa, excluindo o suporte para X11. 
 
     --disable-beeper-support 
     Reduzir o tamanho do programa, com exclusão do suporte para o console
  tone generator. 
 
     --disable-pcm-support 
     Reduzir o tamanho do programa, excluindo o suporte para a interface
  digital de áudio na placa de som. 

     --enable-pcm-support = interface 
     Se a plataforma oferece mais de uma interface digital de áudio para
  ser usado pode ser especificado. 
 
     --disable-midi-support 
     Reduzir o tamanho do programa, com exclusão do suporte para o Musical
  Instrument Digital Interface da placa de som. 
 
     --enable-midi-support = interface  
     Se uma plataforma fornece mais de uma Interface Musical Instrument
  Digital então o que está a ser utilizado pode ser especificado.

  Platform   Interface   Description
  _______________________________________________________________
  Linux      oss         Open Sound System
             alsa        Advanced Linux Sound Architecture

     --disable-fm-support  
     Reduzir o tamanho do programa, excluindo o apoio do sintetizador de FM
  em um cartão de AdLib, OPL3, Sound Blaster, ou o equivalente de som. 
 
     --disable-pm-configfile
     Reduzir o tamanho do programa, excluindo o suporte para o arquivo de
  configuração do driver Papenmeier.

  --disable-gpm 
     Reduzir o tamanho do programa, excluindo a interface da aplicação gpm
  que permite interagir BRLTTY com o dispositivo pointer (mouse)(ver
  seção Ponteiro (Mouse) Support via GPM). 
 
     --disable-api  
     Reduzir o tamanho do programa, excluindo a Application Programming
  Interface. 
 
     --with-api-parameters=name = value, ... 
     Especifique as configurações padrão do parâmetro para o Application
  Programming Interface. Se o mesmo parâmetro é especificado mais de uma
  vez, a sua atribuição é usada. Para obter uma descrição dos parâmetros
  aceitos pela interface, consulte o manual de referência BrlAPI. Veja
  os arquivos de configuração api-parameters e o comando a. 
 
     --disable-caml-bindings 
     Não construir bindings caml para o Application Programming Interface. 
 
     --disable-java-bindings 
     Não construir as bindings para a Interface Java Application
  Programming. 
 
     --disable-lisp-bindings 
     Não construir as bindings de Lisp para o Application Programming
  Interface. 
 
     --disable-python-bindings  
     Não construir bindings Python para o Application Programming
  Interface. 
 
     --disable-tcl-bindings  
     Não construir bindings Tcl para a Application Programming Interface. 

     --with-tcl-config=path  
     Especifique o local do script de configuração Tcl (tclConfig.sh). Ou o
  caminho para o script em si ou o diretório que contém pode ser
  fornecido. Qualquer uma das seguintes palavras também pode ser usado
  como o operando esta opção:

  no
  utilizar outros meios de adivinhar se Tcl está disponível, se sim,
  onde ele foi instalado. Isso é equivalente a especificar without
  tcl-config.

  yes
  procure o script em alguns diretórios frequentemente utilizados. Isso
  é equivalente a especificar --with-tcl-config. 

  3.2.1.4 Opções Diversas 
 
     --with-compiler-prefix = prefix 
     Especifique o prefixo (caminho e início do nome do programa) para o
  conjunto de ferramentas de compilar e ligar possam ser utilizadas.
  Pode ser necessário usar esta opção se, por exemplo, você está a
  compilando cruzado para uma arquitetura diferente.
    
  --with-init-path = path 
     Especifique o caminho para o programa real de init do sistema. O
  caminho absoluto deve ser fornecido. Se esta opção for especificada,
  então:

1.	O programa de init deve ser movido para um novo local.

2.	O brltty deve ser transferido para local original do programa de
       init.

3.	Quando o sistema de init é executado no inicio, brltty é
   realmente executado. Ele se coloca em segundo plano, e executa a
   inicialização real no primeiro plano. Este é uma maneira de ter
   braille desde o início. É especialmente útil para alguns discos
   de instalação/recuperação.

     Se essa opção não for especificada, então este recurso não está
  ativado. Esta opção é destinada principalmente para a construção de
  uma imagem do instalador braillificada. 
 
     --with-stderr-path = path 
     Especifique o caminho para o arquivo ou dispositivo onde o padrão
  error é escrito. O caminho absoluto deve ser fornecido. Se essa opção
  não for especificada, então este recurso não está ativado. Esta opção
  é destinada principalmente para a construção de uma imagem do
  instalador braillified.

  3.2.2 Atingir metas de arquivos
 
     Depois BRLTTY ter sido configurado, o próximo passo é compilar e
  instalá-lo. Isto é feito através da aplicação de comando make que o
  sistema de arquivo principal BRLTTY fazer (Makefile no diretório de
  nível superior). O arquivo BRLTTY é compatível com a maioria dos
  objetivos comuns de manutenção da aplicação. Eles incluem:

  make
  um atalho para make all.

  make all
  compilar e vincular o executável do BRLTTY, seus drivers e suas
  páginas de ajuda, seus programas de teste, e alguns outros pequenos
  utilitários.

  make install
  complete a fase de compilação e ligação (ver make all), e depois
  instalar os executáveis do BRLTTY, arquivos de dados, drivers e
  páginas de ajuda, nos lugares corretos e com as permissões corretas.

  make uninstall
  remova o executável BRLTTY, seus arquivos de dados, drivers e páginas
  de ajuda, a partir do sistema.

        




          

  make clean
  certifique-se que a próxima compilação e ligação (ver make all) será
  feito a partir do zero, removendo os resultados da compilação, ligação
  e testes da estrutura de diretório de origem. Isso inclui a remoção de
  arquivos de objeto, executáveis, objetos compartilhados dinamicamente
  carregáveis, listas de drivers, páginas de ajuda, arquivos de
  cabeçalho temporária, e arquivos principais.

  make distclean
  além de remover os resultados da compilação e vinculação (ver make
  clean):
?	Remova os resultados da configuração BRLTTY (ver Build Options). 
Isso inclui a remoção de config.mk, config.h, config.cache, 
config.status, config.log.
?	Remover os outros arquivos da estrutura de diretório de origem 
que se acumulam ao longo do tempo, mas que não pertencem ali. 
Isso inclui a remoção de arquivos de editor de backup, os 
resultados do caso de teste, rejeitou blocos de patch, e as 
cópias dos arquivos originais.

  3.3 Testando o BRLTTY:
 
     Após a compilação, ligação e instalação BRLTTY, é uma boa idéia para
  fazer um teste rápido antes de ativá-lo permanentemente. Para fazer
  isso, chame com o comando: 
 
     brltty -bdriver -ddevice 
 
     Para driver, especificar o código de identificação do driver de duas
  letras correspondente ao seu display Braille. Para o dispositivo,
  especifique o caminho completo do dispositivo que o seu display está
  conectado. 
 
     Se você não quiser explicitamente identificar o driver e um
  dispositivo de cada vez que você começar o BRLTTY, então você pode ter
  duas abordagens. Você pode estabelecer padrões do sistema através do
  braille-driver e do dispositivo braille-device do arquivo de
  configuração, e/ou compilar as suas necessidades para a direita em
  BRLTTY atraves --with-braille-driver e --with-braille-device. 
     
     A mensagem BRLTTY de identificação de versão deve aparecer no display
  braille por alguns segundos (veja na linha de comando -m). Depois ele
  vai embora (que você pode acelerar premindo qualquer tecla do
  display), a área da tela onde está o cursor deve aparecer. Isso
  significa que você deve esperar para ver o seu comando shell prompt.
  Então, quando você entra em seu próximo comando, cada carácter deve
  aparecer no visor, como é digitado no teclado.

  Se sua experiência, é deixar o executar o BRLTTY então divirta-se, :). Se você
  não tem experiência, precisará testar cada driver separadamente na ordem
  isolada do problema. O driver de tela pode ser testado com scrtest, e o
  driver do display braille pode ser testado com brltest.

     Se você tiver um problema que exige uma grande quantidade de garimpo,
  então você pode querer usar a seguinte linha de comando brltty:
  · -ldebug para registrar muitas mensagens de diagnóstico.
  · -n para manter BRLTTY em primeiro plano.
  · -e para direcionar as mensagens de diagnóstico de erro padrão em vez
    de log do sistema.

  3.4 Iniciando o BRLTTY
 
BRLTTY, quando devidamente instalado, é invocada com o único comando 
brltty. Um arquivo de configuração (ver Arquivos de Configuração) pode 
ser criado a fim de estabelecer padrões do sistema como a localização 
do arquivo de preferências, o driver display braille a ser utilizada, o 
dispositivo para o qual o display braille estiver ligado, e a tabela de 
texto para ser usado. Muitas opções (ver Opções de Linha de Comando) 
permitem a especificação de tempo de execução explícita como a 
localização do arquivo de configuração, os padrões estabelecidos no 
arquivo de configuração, e algumas características que têm padrões 
razoáveis. A opção h exibe um resumo de todas as opções. A opção -v 
mostra a versão atual do programa, a API, e os drivers selecionados. A 
opção-v exibe os valores das opções depois de todas as fontes têm sido 
considerados. 
 
É provavelmente o melhor para que o sistema iniciar automaticamente 
BRLTTY como parte da seqüência de inicialização para que o display 
braille já está instalado e funcionando, quando o login do prompt 
aparecer. A maioria (provavelmente todas) das distribuições fornecem um 
script de aplicações onde fornecida pelo usuário pode ser seguramente 
começou perto do final da seqüência de inicialização. O nome do script 
a distribuição é dependente. Aqui estão os que conhecem até agora: 

  Red Hat
  /etc/rc.d/rc.local
 
     Começando BRLTTY desse script é uma boa aproximação (especialmente
  para novos usuários). Basta adicionar um conjunto de linhas como
  estas:

if [-x /bin/brltty-a-f /etc/brltty.conf]
then
   /bin/brltty
fi
 
Isso geralmente pode ser abreviado para a forma um pouco menos legível:
[-x /bin/brltty a -f /etc/brltty.conf] && /bin/brltty
 
Não adicione estas linhas antes da primeira linha (que geralmente 
parece com #!/bin/sh). 
 
Se o display Braille está sendo utilizado pelo administrador do 
sistema, então provavelmente deve ser iniciado o mais cedo possível 
durante a seqüência de boot (como antes os sistemas de arquivos são 
verificados), de modo que o display utilizado no caso de algo der 
errado durante estas verificações e o sistema cai no modo de usuário 
único. Mais uma vez, exatamente onde é melhor de fazer isso é 
distribuição de dependentes. Aqui estão os lugares que conhecemos até 
agora: 

Debian
  /etc/init.d/boot (para versões mais antigas)
  /etc/init.d/rcS (para versões mais recentes)
  
Um pacote brltty é fornecido (ver [http://packages.debian.org/brltty]) 
a partir de versão 3.0 (Woody). Uma vez que este pacote cuida da 
partida BRLTTY, não há necessidade de código fornecido pelo usuário 
estiver instalado. 
 
RedHat
/etc/rc.d/rc.sysinit
 
Cuidado que versões posteriores, a fim de apoiar um processo de 
inicialização mais orientada para o utilizador do sistema, tem esse 
script reinvoke si só, que está sob o controle de initlog. Olha, 
provavelmente, até perto do topo, para um conjunto de linhas como 
estas:

# Execute novamente a nós mesmos através initlog
if [-z "$ IN_INITLOG"]; then
[-f /sbin/initlog] && exec /sbin/initlog $ INITLOG_ARGS r 
/etc/rc.sysinit
fi 

Inicializando o BRLTTY partir do resultado em duas reinvocações do 
BRLTTY processos em execução ao mesmo tempo. Se a sua versão do script 
tem esse recurso, certifique-se de começar BRLTTY após as linhas que 
implementá-lo. 
 
Slackware
  /etc/rc.d/rc.S
 
SuSE
  /sbin/init.d/boot
 
Uma alternativa é começar BRLTTY a partir de /etc/inittab. Você tem 
duas opções, se você escolher esta rota.
Se você quer que ela seja iniciada muito cedo, não precisa ser 
reiniciado automaticamente para encerrar, em seguida, adicione uma 
linha como esta antes do primeiro: sysinit: a linha que já está lá 
dentro.

brl::sysinit:/bin/brltty
Se você não se importa que seja iniciado mais tarde, mas quero que ele 
seja reiniciado automaticamente para encerrar, adicione uma linha como 
esta em qualquer lugar dentro do arquivo.

  brl:12345:respawn:/bin/brltty n
 
 A opção -n (--nodaemon) é muito importante quando executando BRLTTY 
com facilidade init respawn. Você vai acabar com centenas de processos 
BRLTTY todos rodando ao mesmo tempo, se você esquecer de especificar. 
 
Verifique se o identificador (bt nestes exemplos) já não está sendo 
usado por outra entrada, e, se for, escolher uma opção diferente. 
 
Note-se que um comando como kill -TERM é suficiente para parar BRLTTY 
em suas trilhas. Se ele morre durante a entrada em modo de usuário 
único, por exemplo, pode muito bem ser devido a um problema desta 
natureza. 
 
Alguns sistemas, como parte da seqüência de boot, sonda as portas 
seriais (normalmente, a fim de localizar automaticamente o mouse e 
deduzir seu tipo). Se o seu display braille estiver usando uma porta 
serial, este tipo de sondagem pode ser o suficiente para obtê-lo 
confuso. Se isso acontecer com você, então tente reiniciar o driver 
braille (veja o comando RESTARTBRL). Melhor ainda, desligar a porta 
serial. sobre como fazer isso: 
 
Red Hat 
 
A sondagem é feita por um serviço chamado kudzu. Use o comando:

chkconfig --list kudzu, 
 
para ver se ele foi ativado. Use o comando: 

chkconfig kudzu off
 
Para desativá-lo. Posteriormente, os lançamentos permitem que você 
execute kudzu, sem deixar de sondagem das portas seriais. Para fazer 
isso, editar o arquivo /etc/sysconfig/kudzu/ e definir SAFE para yes. 
 
Se você deseja iniciar BRLTTY antes de qualquer sistema de arquivos são 
montados, em seguida, garantir que todos os seus componentes estão 
instalados no sistema de arquivos raiz. Veja as opções --with-execute-
root, --bindir, --libdir, --with-writable-directory, e with-data-
directory.

3.5 Considerações de segurança
 
BRLTTY precisa ser executado com privilégios de root, porque ele 
precisa ler e escrever de acesso para a porta para o qual o display 
braille é conectado, acesso de leitura /dev/vcsa ou equivalente (para 
consultar as dimensões e posição do cursor, e rever o conteúdo da tela 
em destaque), e ler e gravar o acesso ao console do sistema (para a 
entrada de seta chave durante cursor encaminhamento, para a inserção de 
caracteres de entrada durante a pasta, para simulação de chave 
utilizando as teclas no display braille, para recuperar tradução saída 
de caractere e fonte de tela tabelas de mapeamento, e para a ativação 
do apito interno). O acesso aos dispositivos necessários podem, 
evidentemente, ser concedido a um usuário não-root alterando as 
permissões de arquivo associado com os dispositivos. Meramente ter 
acesso ao console, no entanto, não é suficiente porque ativar o aviso 
sonoro interno e simulando golpes de tecla ainda requerem privilégios 
de root. Então, se você estiver disposto a desistir de cursor de 
roteamento, cortar e colar, bips, e tudo isso, você pode executar 
BRLTTY sem privilégios de root.

3.6 Restrições de Compilação e Tempo de Execução
 
Alert Tunes 
 
Algumas plataformas não suportam todos os dispositivos de música. Veja 
Tune Device. 
 
Driver sintetizador de voz FestivalLite 
 
O driver para o text-to-speech FestivalLite é construído somente se o 
pacote foi instalado. Este driver e o driver para o text-to-speech do 
Theta (veja --with-theta) não podem ser simultaneamente ligados ao 
binário BRLTTY (veja --with-speech-driver). 
 
Driver Libbraille Display Braille 
 
O driver para o pacote Libbraille é construído somente se o pacote foi 
instalado. 
 
Driver sintetizador de voz Mikropuhe  
 
O driver para o text-to-speech Mikropuhe é construído somente se o 
pacote foi instalado. Este driver não pode ser incluído se o binário 
BRLTTY é estaticamente ligados (ver a opção --enable-standalone-
programs), porque um arquivo estático não está incluído no pacote. 
 
Driver do sintetizador de voz Theta 
 
O driver para o text-to-speech Theta é construído somente se o pacote 
foi instalado. 
 
Este driver e o driver para o text-to-speech FestivalLite (veja --with-
flite) não podem ser simultaneamente ligados ao binário BRLTTY (veja --
with-speech-driver). Se esse driver é construído como um objeto 
carregado dinamicamente compartilhada então $ THETA_HOME/lib deve ser 
adicionado à variável de ambiente LD_LIBRARY_PATH antes BRLTTY é 
invocado porque os objetos compartilhados dentro do pacote não contém 
caminhos de pesquisa em tempo de execução de suas dependências. 

Driver sintetizador de voz ViaVoice 
 
O driver para o text-to-speech ViaVoice é construído somente se o 
pacote foi instalado. 
Este driver não pode ser incluído se o binário BRLTTY é estaticamente 
ligados (ver --enable-standalone-programs), porque um arquivo estático 
não está incluído no pacote. 
 
Driver VideoBraille Display Braille 
 
O driver para o display Braille VideoBraille é construído em todos os 
sistemas, mas só funciona em Linux.

3.7 Instalação a partir de um arquivo RPM
 
Para instalar BRLTTY de um RPM (RedHat Package Manager) do arquivo, 
faça o seguinte:

1. Baixe o pacote binário que corresponde ao seu hardware. Vai ser um 
arquivo chamado brltty-release-version.architecture.rpm, por exemplo, 
brltty-3.0-1.i386.rpm.

2. Instale o pacote.
      rpm -Uvh brltty-release-version.architecture.rpm
 
Isto deve ser feito como root. Estritamente falando, a opção u (update) 
é a única que é necessário. A opção -v (verbose) exibe o nome do pacote 
como ele está sendo instalado. A opção -h (hashes) exibe uma barra de 
progresso (usando sinais de hash). 
 
Para os corajosos, nós também fornecemos a fonte do arquivo RPM 
(.src.rpm), mas isso está fora do escopo deste documento. 

Para desinstalar BRLTTY, faça:
          
      rpm-e brltty

3.8 Outros Utilidades
 
Construindo BRLTTY também resulta na construção de ajudas e pequenos 
utilitários de diagnóstico. 
 
3.8.1 brltty-config 
 
Este utilitário cria uma série de variáveis de ambiente para valores que 
refletem a instalação atual do BRLTTY (ver Build Options). Deve ser 
executado dentro de um ambiente shell existente, isto é, não como um 
comando em seu próprio direito, e só pode ser usado por scripts que 
suportam a sintaxe Bourne Shell.

As seguintes variáveis de ambiente são definidas:

BRLTTY_VERSION
O número de versão do pacote BRLTTY.

BRLTTY_EXECUTE_ROOT
root em tempo de execução para o pacote instalado. Configurado com --
with-execute-root.

BRLTTY_PROGRAM_DIRECTORY
Diretorio de programas executáveis (binários, executáveis). Configurada 
através --with-program-directory.

BRLTTY_LIBRARY_DIRECTORY
Diretório de drivers. Configurada através de --with-library-directory.

BRLTTY_WRITABLE_DIRECTORY
Diretório que pode ser gravado. Configurado através do --with-writable-
directory.

BRLTTY_DATA_DIRECTORY
Diretorio de tabelas e páginas de ajuda. Configurada via --with-data-
directory.

BRLTTY_MANPAGE_DIRECTORY: Diretorio de páginas de manual. Configurada 
via --with-manpage-directory.

BRLTTY_INCLUDE_DIRECTORY: Diretório para arquivos de cabeçalho C BrlAPI. 
Configurado através --with-include-directory. 

BRLAPI_VERSION
O número da versão BrlAPI (Application Programming Interface do BRLTTY).

BRLAPI_RELEASE
O número da versão completa de BrlAPI.

BRLAPI_AUTH
O nome do arquivo de chave de BrlAPI.
 
Além disso, as seguintes variáveis de ambiente padrão autoconf também 
são definidos: 
 
prefix  
Subroot para arquivos independentes de arquitetura. Configurado através 
do --prefix. 
 
exec_prefix 
Subroot para arquivos dependentes de arquitetura. Configurada via --
exec-prefix. 
 
bindir 
Local padrão para o diretório do programa. Configurada via --bindir. 
 
libdir 
Diretório estático BrlAPI de arquivo e objetos carregáveis 
dinamicamente. Suporte padrão o diretório da biblioteca. Configurada via 
--libdir. 
 
sysconfdir 
Diretório para arquivos de configuração. Suporte padrão para o diretório 
de dados. Configurada via --sysconfdir. 
 
mandir 
Localização padrão para o diretório páginas de manual. Configurada via -
-mandir. 
 
includedir 
Suporte padrão para o diretório arquivos de cabeçalho. Configurada via -
-includedir. 
 
3.8.2 brltty-install
 
Este utilitário copia BRLTTY hierarquia de arquivos instalado a partir 
de um local para outro.

brltty-install to [from]
 
to 
A localização para o qual a hierarquia de arquivos instalados foi 
copiada. Deve ser um diretório existente. 
 
from 
A localização do qual a hierarquia de arquivos instalados é para ser 
tomado. Se for especificado, então ele deve ser um diretório existente. 
Se não for especificado, então o local utilizado para a construção é 
assumida. 
 
Este utilitário pode ser usado, por exemplo, para copiar BRLTTY para um 
disco de raiz. Se um disquete de root é montada como /mnt e BRLTTY está 
instalado no sistema principal, em seguida, digitando 

      brltty-install/mnt 
 
cria cópias do BRLTTY, juntamente com todos os seus dados e arquivos da 
biblioteca, para a raiz de disquete. 
Alguns problemas foram sentidos quando copia o BRLTTY entre sistemas com 
diferentes versões da biblioteca C compartilhada. Este vale a pena 
investigar se você tem dificuldades. 
 
3.8.3 brltest
 
Este utilitário testa um driver do display braile, e também fornece uma 
forma interativa de aprender quais as teclas do display braille. Ele 
deve ser executado como root.

      brltest -option ... [driver [name= value ...]]
 
_driver  
O driver para o display braille. Ela deve ser uma de duas letras do 
código de identificação do driver. Se não for especificado, então o 
primeiro driver configurado com -- with-braille-driver é assumida. 
 
_name = value  
Definir um parâmetro de driver display Braille. Para obter uma descrição 
dos parâmetros aceitos por um driver específico, consulte a documentação 
do driver. 
 
-ddevice --device = device 
O caminho absoluto para o dispositivo para o qual o display braille está 
ligado. Se não for especificado, o dispositivo configurado por --with-
braille-device é assumida. 
 
-Ddirectory--data-directory = directory 
O caminho absoluto para o diretório onde os drivers dos arquivos de 
dados reside. Se não for especificado, então o diretório configurado 
através do --with-data-directory é assumida. 
 
-Ldirectory--library-directory =  directory 
O caminho absoluto para o diretório onde residem os drivers. Se não for 
especificado, então o diretório configurado através do --libdir é 
assumida. 
 
-wdirectory --writable-directory=directory:  
O caminho absoluto para um diretório que pode ser gravado. Se não for 
especificado, então o diretório configurado com --with-writable-
directory é assumida. 
 
-h --help 
Mostra um resumo das opções de linha de comando, e depois sair.  
 
Este utilitário usa o comando do BRLTTY Command Learn Mode. Quando 
pressionar a tecla do tempo limite  é de 10 segundos. O tempo de espera 
de mensagens é de 4 segundos. 
 
3.8.4 spktest 
 
Este utilitário testa um driver sintetizador de voz. Pode precisar de 
ser executado como root.

      spktest -option ... [driver [name=value ...]]
 
_driver 
O driver para sintetizador de voz. Ela deve ter uma de duas letras do 
código de identificação do driver. Se não for especificado, então o 
primeiro driver configurado via --with-speech-driver é assumida. 
 
_name = value  
Definir o parâmetro do driver do sintetizador de voz. Para obter uma 
descrição dos parâmetros aceitos por um driver específico, consulte a 
documentação do driver. 
 
-tstring --text-string = string  
O texto a ser falado. Se não for especificado, entrada padrão é a 
leitura. 
 
-Ddirectory --data-directory=directory  
O caminho absoluto para o diretório onde os arquivos de dados do driver 
reside. Se não for especificado, então o diretório configurado através 
do --with-data-directory é assumida. 
 
-Ldirectory --library-directory = directory  
O caminho absoluto para o diretório onde residem os drivers. Se não for 
especificado, então o diretório configurado através do --libdir é 
assumida. 
 
-h--help: mostrar um resumo das opções de linha de comando, e depois 
sair. 
 
3.8.5 scrtest
 
Este utilitário testa o driver da tela. Ele deve ser executado como 
root.

      scrtest -option ... [name = value ...]
 
_name = value 
Definir um parâmetro de driver tela. Para obter uma descrição dos 
parâmetros aceitos por um driver específico, consulte a documentação do 
driver. 
 
-lcolumn--lest = column 
Especifique o ponto de partida da coluna (à esquerda)(origem zero) da 
região. Se esse valor não for fornecido, então um valor padrão, com base 
na largura especificada, é selecionado de modo que a região será 
centralizada horizontalmente. 
 
-ccount --columns = count 
Especifique a largura da região (em colunas). Se esse valor não for 
fornecido, então um valor padrão, com base na coluna inicial 
especificado, é selecionado de modo que a região será centralizada 
horizontalmente.

-trow --top = row  
Especifique a linha (de cima) partida (origem zero) da região. Se esse 
valor não for fornecido, então um valor padrão, com base na altura 
especificada, é selecionado de modo que a região está centrada 
verticalmente. 
 
-rcount --rows = count 
Especifique a altura da região (em linhas). Se esse valor não for 
fornecido, então um valor padrão, com base na linha especificada de 
partida, é selecionado de modo que a região está centrada verticalmente. 
 
-h help
mostrar um resumo das opções de linha de comando, e depois sair. 
 
Notas:

· Se nenhuma coluna de partida, nem uma largura região é especificado, 
então a região é centrada na horizontal e começa na coluna 5.

· Se nenhuma linha de partida, nem a altura da região é especificado, 
então a região é verticalmente centrado e começa na linha 5.
 
A seguir o padrão de saída:

 1. Uma linha detalhando as dimensões da tela.

        Screen: widthxheight

 2. Uma linha que detalha a posição (origem zero) do cursor.

        Cursor: [column, row]

 3. Uma linha que detalha o tamanho da região da tela selecionada, e a 
posição (origem zero), do seu canto superior esquerdo.
 
       Region: widthxheight@[column, row]

 4. O conteúdo da região da tela selecionada. Não são impressos os 
caracteres com espaços em branco.
 
3.8.6 ttbtest 
 
Este utilitário testa uma tabela de texto (ver Tabela de Texto).

      ttbtest -option ... input-table output-table
 
input-table  
O caminho do sistema de arquivo com a tabela de entrada de texto. Se 
isso é relativo, então é suportado no diretório configurado através --
with-data-directory. 
 
output-table  
O caminho do sistema de arquivos para a tabela de texto de saída. Se 
isso é relativo, então ele está apoiado no diretório de trabalho atual. 
Se este parâmetro não é fornecido, em seguida, tabela de saída está 
escrito. 
 
-iformat --input-format = format 
Especifique o formato da tabela de entrada. Se esta opção não é 
fornecida, em seguida, o formato da tabela de entrada é deduzida a 
partir da extensão do nome da tabela de entrada do arquivo. 
 
-oformat --output-format = format  
Especifique o formato da tabela de saída. Se esta opção não é fornecida, 
o formato da tabela de saída, que decorre da extensão do nome da tabela 
de saída do arquivo. 
 
-ccharset --charset = charset 
Especifique o nome do caractere de 8 bits para usar quando interpretar 
as tabelas. Se esta opção não é fornecida, definir o caractere de host 
que está sendo usado. 
 
-e --edit  
Chamar o editor de tabela de texto. Se a tabela de saída for 
especificado, as alterações são escritas para ele. Se não, então a 
tabela de entrada é reescrita. 
 
-h --help  
Mostrar um resumo das opções de linha de comando, e depois sair. 
 
Se nenhuma ação especial é requerida, a tabela de saída é facultativa. 
Se não for especificada, a tabela de entrada está marcada. Se for 
especificado, a tabela de entrada é convertido. 
 
Os formatos de tabela a seguir são suportados:

ttb
    BRLTTY
sbl
    SuSE blinux
a2b
    Gnopernicus
gnb
    Gnome Braille
 
3.8.7 ctbtest 
 
Este utilitário testa uma tabela de contração (ver Tabela de Contração). 
O texto lido a partir dos arquivos de entrada (ou Standard input) é 
reescrita para a saída padrão como contratada braille.
  
      ctbtest -option ... input-file ...
 
input-file  
A lista de arquivos a serem processados. Qualquer número de arquivos 
pode ser especificado. Eles são processados da esquerda para a direita. 
O nome de arquivo especial - é interpretada para significar a entrada 
padrão. Se nenhum arquivo for especificado, entrada padrão é processado. 
 
-cfile --contraction-table = file
O caminho do sistema de arquivos para o quadro de contração. Se isso é 
relativo, então é suportado no diretório configurado --with-data-
directory. A extensão do .ctb é opcional. Se esta opção não é fornecida, 
em seguida, en-us-g2 é assumido. 
 
-tfile |auto text-table = file|auto
Especificar a tabela de texto (ver Text Tables). Se um caminho relativo 
for fornecido, então ele está apoiado em /etc/brltty (ver --with-data- 
directory e o --with-execute-root). A extensão .ttb é opcional. Veja a 
tabela de texto do arquivo de configuração para a configuração de tempo 
de execução padrão. Esta configuração pode ser alterada com a 
preferência Text Table. 
 
-wcolumns --output-width =columns 
O comprimento máximo de uma linha de saída. Cada linha de entrada 
contratada está envolvida dentro de linhas de saida quantas forem 
necessárias. Se essa opção não for especificada, não há limite, e há uma 
correspondência um-para-um entre as linhas de entrada e saída. 
 
-h -help
Mostrar um resumo das opções de linha de comando, e depois sair. 
 
A tabela de texto é usado:

?	Para definir o caractere de saída de forma que o braille contratado 
será exibida corretamente. A mesma tabela que será usada pelo 
BRLTTY quando a saída é lido deve ser especificado.
?	Para definir as representações braille dos caracteres definidos na 
tabela de contração como = (ver secção Tradução de Caracteres).
 
 
A tabela brf.ttb texto é fornecido para uso com este utilitário. Ele 
define o formato usado nos arquivos .brf. Este também é o formato 
preferido usado pela maioria das impressoras em braille e dentro 
distribuída eletronicamente documentos em braille. Esta tabela efetiva 
permite que este utilitário para ser usado como um tradutor de texto 
braille. 
 
3.8.8 tunetest 
 
Este utilitário testa músicas de alerta, e também fornece uma maneira 
fácil de compor novas melodias. Pode precisar de ser executado como 
root.

      tunetest -option ... {note duration} ...

note  
Um padrão MIDI de número de nota. Deve ser um número inteiro de 1 a 127, 
com 60 representantes Middle C. Cada valor representa um padrão 
cromático semi-tom, com os próximos valores inferiores e superiores que 
representam, respectivamente, as notas imediatamente inferior e 
superior. 
 
duration  
A duração da nota em milissegundos. Deve ser um número inteiro de 1 a 
255. 
 
-ddevice --device = device  
O dispositivo no qual a tocar a música.

  Beeper
  o apito interno (console gerador de tom).

  Pcm
  a interface digital de áudio na placa de som.
  
  Midi
  o Musical Instrument Digital Interface na placa de som.
  
  Fm
  o sintetizador de FM em um cartão de AdLib, OPL3, Sound Blaster, ou o 
  equivalente de som.
 
O nome do dispositivo pode ser abreviada. Veja Dispositivo de Tune para 
obter detalhes sobre o dispositivo padrão e as restrições da plataforma. 
 
-vloudness --volume=loudness 
Especificar o volume da produção (volume) como uma porcentagem do 
máximo. O volume de saída padrão é 50. 
 
-pdevice --pcm-device = device  
Especifique o dispositivo a ser usado para o áudio digital (ver 
Especificação do Dispositivo PCM). Esta opção não estará disponível se a 
opção --disable-pcm-support for especificada. 
 
-mdevice --midi-device = device
Especifique o dispositivo a ser usado para o Musical Instrument Digital 
Interface (ver Especificação do Dispositivo MIDI). Esta opção não estará 
disponível se a opção --disable-midi-support build option foi 
especificado. 
 
-iinstrument --instrument = instrument  
O instrumento a ser usado se o dispositivo selecionado para midi. O 
instrumento padrão é um acoustic grand piano. As palavras que compõem o 
nome do instrumento deve ser separados um do outro por um único sinal de 
menos em vez de espaços, e qualquer uma das palavras pode ser abreviada. 
Um piano acústico, por exemplo, pode ser especificado como a-gra-pi.

-h help  
Mostrar um resumo das opções de linha de comando, e depois sair. 
 
4 - Usando o BRLTTY

Antes de iniciar o BRLTTY, você precisa configurar a sua linha Braille. 
Na maioria dos casos isso é feito simplesmente conectando-o a uma porta 
serial disponível, e depois ligá-lo. Depois de configurado o display 
execute BRLTTY simplesmente digitando o comando brltty no shell prompt 
(isto deve ser feito como root). Verifique a opção -d de linha de 
comando, as diretivas de arquivo de configuração do  dispositivo 
braille, e a opção de construção --with-braille-device para alternativas 
sobre como dizer ao  BRLTTY qual dispositivo que o display está 
conectado. Verifique a opção -b de linha de comando, as diretivas de 
arquivo de configuração do dispositivo braille, e a opção de construção 
--with-braille-device  para alternativas sobre como dizer ao  BRLTTY que 
tipo de display braille você tem. Verifique a opção -B de linha de 
comando, e o braille-parameters  das diretiva de arquivo de configuração 
sobre como passar parâmetros para o driver do seu display braille.

Uma mensagem indicando o nome do programa (BRLTTY) e seu número de 
versão aparecerá brevemente (ver a opção -M de linha de comando) no 
display braille. A display mostrará então uma pequena área da tela, 
incluindo o cursor. Por padrão o cursor é representado com os pontos 7 e 
8 sobreposto ao caracter que ele está.

Qualquer atividade de tela será refletida na tela em Braille. O display 
também irá acompanhar o andamento do cursor na tela. Esse recurso é 
conhecido como o cursor tracking.

Basta digitar no teclado e ler o display, no entanto, não é suficiente. 
Tente digitar um comando que causará um erro, e pressionar enter. O erro 
aparece na tela, mas, a menos que tenha um display multi-linha, as 
chances são de que não é visível no display braille. Tudo que você vê 
nela é outra janela de comandos. O que é necessário, então, é uma 
maneira de mover a janela braille em torno da tela. As teclas no display 
braille em si pode ser usado para enviar comandos para BRLTTY que, além 
de um monte de outras coisas, também pode fazer exatamente isso.
  

4.1  Comandos

Infelizmente, os vários display braille não oferecem um conjunto de 
controles. Alguns têm o padrão de seis pontos chaves, alguns têm oito, e 
outros não têm nenhum. Alguns têm as teclas do polegar, mas não há um 
número padrão deles. Alguns possuem um botão acima de cada célula 
braille. Alguns têm interruptores liga/desliga(rocker switches). Alguns 
têm uma barra fácil de alcançar, que funciona como um joystick. Alguns 
têm as combinações dos anteriores. Porque a natureza e a disposição de 
cada display é tão diferente, consulte o documentação para o display 
específico, a fim de descobrir exatamente o que suas teclas fazem.

Comandos BRLTTY são referidos pelo nome neste manual. Se você esquecer 
qual é a tecla(s) no seu display braille para usar um comando 
particular, em seguida, consulte a sua página de ajuda dos drivers. A 
tecla principal você deve imediatamente guardar na memória, portanto, é 
único para o comando HELP. Use as teclas de movimento regular (conforme 
descrito abaixo) para navegar na página de ajuda, e pressione a help 
novamente para sair.
 
4.1.1 Deslocamento Vertical

Veja também as PRINDENT/NXINDENT e o PRDIFCHAR/NXDIFCHAR teclas  de 
roteamento de comandos.
 
LNUP/LNDN
Ir para cima/baixo em uma linha. Se o comando pular linha idêntica foi 
ativado (veja o comando SKPIDLNS), então esses comandos, ao invés de 
mover exatamente uma linha, serão associados os comandos 
PRDIFLN/NXDIFLN.
 
WINUP/WINDN
Ir para cima/baixo em uma janela. Se a janela é apenas uma linha alta 
move 5 linhas. 
 
PRDIFLN/NXDIFLN
Ir para cima/baixo para a linha mais próxima com conteúdo diferente. Se 
o comando pular linha idêntica foi ativado (veja o comando SKPIDLNS), 
então esses comandos, ao invés de pular linhas idênticas, serão 
associados os comandos LNUP/LNDN. 
 
ATTRUP/ATTRDN
Ir para cima/baixo para a linha mais próxima com diferentes atributos 
(caracter em destaque). 
 
TOP/BOT
Vá para a linha superior/inferior. 
 
TOP_LEFT/BOT_LEFT
Vá para o canto top-left/bottom-left. 
 
PRPGRPH/NXPGRPH
Ir para a próxima linha do parágrafo anterior/seguinte (a primeira linha 
não-branco para além do próximo linha em branco). A linha atual é 
incluída na pesquisa para o espaço inter-paragráfo. 
 
PRPROMPT/NXPROMPT
Ir para o prompet comando anterior/seguinte. 
 
PRSEARCH/NXSEARCH
Procura para trás/frente para a próxima ocorrência da cadeia de 
caracteres no buffer de corte (ver Recortar e Colar) que não estiver 
dentro da janela braille. Os recursos de pesquisa para a 
esquerda/direita, começando imediatamente no caracter à direita/esquerda 
da janela, e envolvendo a borda da tela. A pesquisa não diferencia 
maiúsculas de minúsculas. 
 
4.1.2 Deslocamento Horizontal

Veja também as SETLEFT teclas de encaminhamento de comando.
 
CHRLT/CHRRT
Vá para a esquerda/direita de um caracter. 
 
HWINLT/HWINRT
Vá para a esquerda/direita da metade de uma janela. 
 
FWINLT/FWINRT
Vá para a esquerda/direita de uma janela. Estes comandos são 
particularmente úteis porque quebram automaticamente quando atingir a 
borda da tela. Outros recursos, como a sua capacidade de pular janelas 
em branco (veja o comando SKPBLNKWINS), reforçar a sua utilidade. 
 
FWINLTSKIP/FWINRTSKIP
Vá para a esquerda/direita para a janela mais próxima não-branca. 
 
LNBEG/LNEND
Ir para o início/fim da linha. 

4.1.3 Deslocamento Implícito

Veja também GOTOMARK teclas de encaminhamento de comando.
 
HOME
Vai para onde está o cursor. 
 
BACK
Volte para onde o comando de movimento mais recente colocado no display 
braille. Esta é uma maneira fácil de voltar para onde você estava lendo, 
após um evento inesperado (como acompanhamento do cursor) movendo a 
janela braille em um momento inoportuno. 
 
RETURN
?	Se o movimento mais recente da janela do braille foi automático, 
por exemplo, como resultado do monitoramento de cursor, então volta 
para onde o comando de movimento mais recente colocá-lo (veja o 
comando BACK).
?	Se o cursor não estiver dentro da janela do braille, em seguida, 
vai para onde está o cursor (veja o comando HOME). 

4.1.4	 Caracteristica de Ativação

Cada um desses comandos tem três formas: activate (ativar o recurso), 
desactivate (desativar o recurso), e toggle (se estiver desligado então 
irá ligar, e se estiver ligado irá desligar). Exceto conforme indicado, 
cada um desses recursos está inicialmente off, e, quando on, afeta a 
operação BRLTTY como um todo. A configuração inicial de algumas dessas 
características podem ser alteradas através do menu de preferências.
 
FREEZE
Congela a imagem da tela. BRLTTY faz uma cópia da tela (conteúdo e 
atributos) a partir do momento em que a imagem da tela é congelada e em 
seguida, ignora todas as atualização da tela até que ela seja 
descongelada. Esta característica torna mais fácil, por exemplo, uma 
amostra da saída de uma aplicação que escreve muito, muito rapidamente. 
 
DISPMD
Mostrar o destaque (os atributos) de cada caracter dentro da display 
braille, em vez dos próprios caracteres(o conteúdo). Esse recurso é 
útil, por exemplo, quando você precisa localizar um item em destaque. Ao 
mostrar o conteúdo da tela, o quadro de texto é usado (veja a opção de 
linha de comando -t, o quadro de texto do arquivo de diretiva de 
configuração, e --with-text-table como opção de construção). Ao mostrar 
os atributos da tela, a tabela de atributos é usado (veja -a, os 
attributes-table diretiva de arquivo de configuração, e --with-
attributes-table opção de construção). Este recurso só afeta o terminal 
virtual atual.

SIXDOTS
Mostrar caracteres usando 6 pontos, ao invés de 8 pontos, em braille. Os 
pontos 7 e 8 ainda são usados por outras características como a 
representação do cursor e enfatizando o carácter realçado. Se uma tabela 
de contração foi selecionada (veja a opção -c e da tabela de contração 
das diretivas de configuração de arquivo), então ele é usado. Esta 
configuração também pode ser alterada com a preferência do estilo de 
texto.
 
SLIDEWIN
Se o controle de cursor (veja o comando CSRTRK) está on, então, sempre 
que o cursor move-se muito perto (ou mais) ou outra extremidade da 
janela do braille, reposicionar horizontalmente a janela de tal forma 
que o cursor, mantendo-se nesse lado, está mais próximo da centro. Se 
este recurso está off a janela braille está sempre posicionado de modo 
que sua extremidade esquerda é um múltiplo de sua largura da borda 
esquerda da tela. Esta configuração também pode ser alterada com a 
preferência Sliding Window.
 
SKPIDLNS
Ao invés de mover exatamente uma linha para cima ou para baixo, salta 
linhas anteriores, que têm o mesmo conteúdo da linha atual. Esta 
característica afeta o comandos LNUP/LNDN, bem como o recurso de linha 
de embalagem de FWINRT/FWINLT e o comando FWINLTSKIP/FWINRTSKIP. Esta 
configuração também pode ser alterada com a preferência Skip Identical 
Lines.
 
SKPBLNKWINS
Pular janelas em branco durante a leitura para frente ou para trás. Este 
recurso afeta os comandos FWINLT/FWINRT. Esta configuração também pode 
ser alterada com a preferência Skip Blank Windows.
 
CSRVIS
Mostrar o cursor pela superposição de um ponto padrão (veja o comando 
CSRSIZE) em cima do caracter onde ela está. Este recurso está 
inicialmente on. Esta configuração também pode ser alterada com a 
preferência do Mostrar Cursor. 
 
CSRHIDE
Ocultar o cursor (veja o comando CSRVIS), a fim de ler exatamente o 
caracter abaixo dela. Este recurso só afeta o terminal atual vi 
 
CSRTRK
Vestígio(seguir) do cursor. Se o cursor se move para um local que não 
seja dentro da janela do braille, então automaticamente move a janela de 
braille para a nova localização do cursor. Você geralmente quer este 
recurso ativado, uma vez que minimiza os efeitos de rolagem da tela, e 
uma vez que, durante a entrada, a região onde você está atualmente 
escrevendo sempre é visível. Se este recurso faz com que a janela de 
braille salte em um momento inoportuno, use o comando BACK para voltar 
para onde você estava lendo. Talvez seja necessário desativar esse 
recurso ao usar um aplicativo que atualiza continuamente a tela, 
mantendo um layout de dados fixo. Este recurso está inicialmente ligado. 
Este recurso só afeta o terminal virtual atual.
 
CSRSIZE
Representa o curso com os oito ponto(um bloco sólido), e não apenas com 
os pontos 7 e 8 (um sublinhado). Esta configuração também pode ser 
mudada com a preferência do Curso Style.
 
CSRBLINK
Pisca(liga e desliga de acordo com um intervalo pré-definido) o símbolo 
que representa o cursor(veja o comando CSRVIS). Esta configuração também 
pode ser mudada com a preferência do Blinking Cursor.
 
ATTRVIS
      Sublinhado(com combinações dos pontos 7 e 8) o caracter destacado.
      
Sem sublinhado
Branco sobre preto(normal),cinza sobre preto, branco sobre azul, 
preto sobre cinza.

      Pontos 7 ou 8
      Preto sobre branco (vídeo reverso).

      Pino 8
      Todo o resto.

Esta configuração também pode ser mudada com a preferência do 
Mostrar Atributos.

ATTRBLINK
Pisca(muda de ligado e desligado de acordo com o intervalo predefinido) 
o atributo sublinhado(veja o comando ATTRVIS). Este recurso esta 
inicialmente ligado. Esta configuração também pode ser mudada com a 
preferência do Blinking Attributes.

CAPBLINK
Pisca(liga e desliga de acordo com um intervalo pré-definido) a letra 
maiúscula. Esta configuração também pode ser mudada com a preferência do 
Blinking Capitals.

TUNES
Tocar uma melodia curta pré-definidas (ver Alert Tunes) sempre que 
ocorra um evento significativo. Este recurso esta inicialmente ligado. 
Esta configuração também pode ser alterada com a preferência Alerta de 
Tunes.

AutoRepeat
Automaticamente repete um comando em um intervalo regular após um atraso 
inicial enquanto a sua chave (combinação) continua pressionada. Apenas 
alguns drivers suportam esta funcionalidade, a principal limitação é que 
muitos display braille não sinalizam teclas apertadas e teclas liberadas 
como eventos separados distintamente. Este recurso esta inicialmente 
ligado. Esta configuração também pode ser alterada com a preferência de 
Autorepetição.

AUTOSPEAK
Automaticamente falar:

?	A nova linha quando a janela braille é movida verticalmente.
?	caracteres que são inseridos ou excluídos.
?	O caracter ao qual o cursor é movido.

Este recurso esta inicialmente desligado. Esta configuração também pode 
ser alterada com a preferência de Auto-Fala.
 
4.1.5 Modo de Seleção 
 
HELP
Alterne para a página de ajuda do display braille. Isto é onde você pode 
encontrar um resumo on-line das coisas que as teclas do seu display 
braille fazem, e como interpretar o status das células. Use os comandos 
regular de movimento vertical e horizontal para navegar pela página de 
ajuda. Chame o comando de ajuda novamente para voltar para a tela.
 
INFO
Alterne para a exibição de status (ver seção The Status Display para 
mais detalhes). Ele apresenta um resumo com a posição do cursor, a 
posição da janela braille, e os estados de uma série de características 
do BRLTTY. Chame este comando novamente para voltar para a tela.

LEARN
Alternar para o modo de comando aprender (ver seção Command Learn Mode 
para mais detalhes). Isto é como você pode aprender de forma interativa 
o que as teclas do seu display braille fazem. Chamar este comando 
novamente para voltar para a tela. Este comando não estará disponível se 
a opção --disable-learn-mode foi especificada na opção de construção.

4.1.6	Preferencias de Manutenção

PREFMENU
Escolha do menu de preferências (Ver Menu Preferências). Chama esse comando de 
novo para retornar as operações normais.

PREFSAVE
Salva as configurações de preferências atuais (Ver Preferências).

PREFLOAD
Armazena as configurações de preferências mais recentes (Ver Preferencias).
 
4.1.7 Menu de Navegação 
 
MENU_FIRST_ITEM/MENU_LAST_ITEM
Ir para o primeiro/último item no menu.
 
MENU_PREV_ITEM/MENU_NEXT_ITEM
Ir para o anterior/seguinte item no menu.
 
MENU_PREV_SETTING/MENU_NEXT_SETTING
Retroceder/Expandir o atual item do menu.
 
4.1.8 Controles de Fala 
 
SAY_LINE
Fala a linha atual. A preferência do Say-Line Mode determina se fala 
pendente é descartada em primeiro lugar.
 
SAY_ABOVE
Fale a parte superior da tela (termina com a linha atual).

SAY_BELOW
Fale a parte inferior da tela (começando com a linha atual).
 
MUTE
Pare de falar imediatamente.
 
SPKHOME
Vá para onde o cursor fala.
 
SAY_SLOWER/SAY_FASTER
Aumentar/diminuir a velocidade de leitura (ver também a preferência de 
Speech Rate). Este comando só está disponível se um driver que suporta 
ele está sendo usado.
 
SAY_SOFTER/SAY_LOUDER
Aumentar/diminuir o volume da voz (ver também a preferência de Speech 
Volume). Este comando só está disponível se um driver que suporta ele 
está sendo usado.
 
4.1.9 Comutação do Terminal Virtual 

Veja também SWITCHVT encaminhamento de teclas de comando. 
 
SWITCHVT_PREV/SWITCHVT_NEXT
Mude para o anterior/próximo terminal virtual.
 
4.1.10 Outros Comandos 
 
CSRJMP_VERT 
         
Encaminha (trazer) o cursor para qualquer lugar na linha de cima da 
janela do braille (ver Roteamento de Cursor). O cursor é movido por uma 
simulação vertical das teclas de seta pressionadas. Este comando nem 
sempre funciona, porque alguns aplicativos ou move o cursor um pouco 
imprevisível ou use as teclas de seta para outros fins que não o 
movimento do cursor. É um pouco mais seguro do que outros comandos de 
roteamento do cursor, porém, porque não faz nenhuma tentativa de simular 
as setas da esquerda e direita. 

PASTE 
 
Insira os caracteres no buffer de corte na posição atual do cursor (ver 
Copiar e Colar). 
 
RESTARTBRL 
 
Pare e reinicie o controlador de visualização em Braille. 
 
RESTARTSPEECH 
 
Pare e reinicie o controlador de sintetizador de voz. 
 
4.1.11 Comandos de Carácter 
 
ROUTE 
 
Encaminha (trazer) o cursor para o caractere associado a tecla de 
roteamento (ver Roteamento de Cursor). O cursor é movido por uma 
simulação das teclas de seta pressionadas. Este comando nem sempre 
funciona, porque alguns aplicativos ou move o cursor um pouco 
imprevisível ou use as teclas de seta para outros fins que não o 
movimento do cursor. 
 
CUTBEGIN
Apoia-se no início do bloco de corte para o caracter associado com a 
tecla de roteamento (ver Copiar e Colar). Este comando limpa o buffer de 
corte.
 
CUTAPPEND
Apoia-se no início do bloco de corte para o caráter associado com a 
tecla de roteamento (ver Copiar e Colar). Este comando não limpar o 
buffer de corte.
 
CUTRECT
Apoia-se no fim do bloco de corte para o caráter associado com a tecla 
de roteamento, e anexar a região retangular para o buffer de corte (ver 
Copiar e Colar).

CUTLINE
Apoia-se no fim do bloco de corte para o caráter associado com a tecla 
de roteamento, e anexar a região linear para o buffer de corte (ver 
Copiar e Colar).
 
COPYCHARS
Copie o bloco de caráter apoiado-se por duas tecla de roteamento para o 
buffer de corte (ver Copiar e Colar).
 
APNDCHARS 
    
Acrescente o bloco de caráter apoiand-se por duas teclas de roteamento 
para o buffer de corte (ver Copiar e Colar). 
 
PRINDENT/NXINDENT

Ir para cima/baixo para a próxima linha que não está mais avançado do 
que a coluna associada à tecla de roteamento.
 
DESCCHAR
Momentaneamente (veja a opção -M de linha de comando) exibi uma mensagem 
descrevendo o caráter associado com a tecla de roteamento. Ela revela os 
valores decimais e hexadecimais do caracter, as cores de primeiro plano 
e fundo, e, quando presentes, atributos especiais (bright e brink). A 
mensagem é assim:

char 65 (0x41): white on black bright blink
 
SETLEFT
Reposiciona horizontalmente a janela braille de modo que sua borda 
esquerda é a coluna associada à tecla de roteamento. Esta característica 
torna muito fácil colocar a janela exatamente onde ela é necessária, e, 
por conseguinte, para mostra o que tem as teclas de roteamento, quase 
elimina a necessidade de muito movimento fundamenta dajanela (como os 
comandos CHRLT/CHRRT e HWINLT/HWINRT).

PRDIFCHAR/NXDIFCHAR
Ir para cima/baixo para a próxima da linha que tem um caráter diferente 
na coluna associada à tecla de roteamento.
 
4.1.12 Comandos de Suporte 
 
SWITCHVT
Muda para o terminal virtual cujo número (contagem a partir de 1) 
corresponde ao da tecla de roteamento. Veja também os comandos de troca 
de terminal virtual SWITCHVT_PREV/SWITCHVT_NEXT.
 
SETMARK
Marcar (lembre-se), a posição atual da janela braille num registo 
associado com a telca de roteamento. Veja o comando GOTOMARK. Este 
recurso só afeta o terminal virtual atual.
 
GOTOMARK
Move a janela braille para a posição anteriormente marcada (veja o 
comando SETMARK) com a mesma tecla de roteamento. Este recurso só afeta 
o terminal virtual atual.

4.2 - Arquivos de configuração

Padrões do sistema para diversas configurações podem ser estabelecidas 
dentro de um arquivo de configuração. O nome padrão para este arquivo é 
/brltty.conf /etc, embora possa ser substituído com a opção de linha de 
comando -f. Ele não precisa existir. Um modelo para ele pode ser 
encontrado dentro do subdiretório DOCS.

As linhas em branco são ignoradas. Um comentário começa com um sinal 
numérico (#), e continua até o fim da linha. As seguintes diretivas são 
reconhecidas:

api-parameters name=value,...
Especifica os parâmetros para a Application Programming Interrface. Se o 
mesmo parâmetro for especificado mais de uma vez, a sua atribuição mais 
a direita é usada. Para obter uma descrição dos parâmetros aceitos pela 
interface, consulte o manual de referência BrlAPI. Veja as opções de 
construção --with-api-parameters para os padrões estabelecidos durante o 
processo de construção. Esta diretiva pode ser substituído com a opção 
de linha de comando -A.
 
attributes-table file
Especifica a tabela de atributos (ver Attributes Tables para obter 
detalhes). Se um caminho relativo for fornecido, então ele está ancorado 
em /etc /brltty (ver as opções de compilação --with-data-directory e --
with-execute-root para mais detalhes). A extensão .atb é opcional. O 
padrão é usar a tabela built-in (veja a opção de construção --with-
attributes-table). Esta diretiva pode ser substituída com a opção de 
linha de comando -a.
 
braille-device device,...
Especifica o dispositivo para o qual o display braille está ligado 
(consulte a seção Braille Device Specification). Veja a opção construção 
--with-braille-device para o padrão estabelecido durante o processo de 
construção. Esta diretiva pode ser substituída com a opção de linha de 
comando-d.
 
braille-driver driver,...|auto 
Especifica o driver do display braille (ver seção Driver Specification). 
O padrão é a realização de auto-detecção. Esta diretiva pode ser 
substituída com a opção de linha de comando -b. 
 
braille-parameters [driver:]name=value,...
Especifica os parâmetros para os drivers do display braille. Se o mesmo 
parâmetro for especificado mais de uma vez, a sua atribuição mais a 
direita é usada. Se um nome de parâmetro é qualificado por um driver 
(consulte a seção Driver Identification Codes), então essa configuração 
só se aplica ao driver, se não é, então se aplica a todos os drivers. 
Para obter uma descrição dos parâmetros aceitos por um driver 
específico, consulte a documentação desse drive. Veja a de opção 
construção --with-braille-parameters para os padrões estabelecidos 
durante o processo de construção. Esta diretiva pode ser substituída com 
a opção de linha de comando -B.

contraction-table file
Especifica a tabela de contração (ver seção Contraction Tables para mais 
detalhes). Se um caminho relativo for fornecido, então ele está ancorado 
em /etc/brltty (ver as opções de construção --with-data-directory e --
with-execute-root para mais detalhes). A extensão .ctb. é opcional. A 
tabela de contração é usado quando o recurso de 6-pontos braille é 
ativado (veja o comando SIXDOTS e a preferência Text Style). O padrão é 
mostrar descontracionada 6-pontos braille. Esta diretiva pode ser 
substituída com a opção de linha de comando -c. Não está disponível se a 
opção de construção --disable-contracted-braille foi especificada.
 
key-table file|auto
Especifica a tabela de tecla (ver Key Tables para detalhes). Se um 
caminho relativo for fornecido, então ele está ancorado em /etc/brltty 
(ver as opções de compilação --with-data-directory e --with-execute-root 
para mais detalhes). A extensão .ktb é opcional. O padrão é não usar uma 
tabela de teclas. Esta diretiva pode ser substituída com a opção de 
linha de comando -k.
 
keyboard-properties name=value,...
Especifica as propriedades dos teclado(s) a serem monitorados. Se a 
mesma propriedade for especificada mais de uma vez, a sua atribuição 
mais a direita é usada. Consulte a seção Keyboard Properties para obter 
uma lista das propriedades que podem ser especificadas. O padrão é 
monitorar todos os teclados. Esta diretiva pode ser substituída com a 
opção de linha de comando -K.
 
midi-device device
Especifica o dispositivo a ser usado para o Musical Instrument Digital 
Interface (ver seção MIDI Device Specification). Esta diretiva pode ser 
substituída com a opção de linha de comando -m. Não está disponível se a 
opção de construção --disable-midi-support foi especificada.
 
pcm-device device
Especifica o dispositivo a ser usado para o áudio digital (ver seção PCM 
Device Specification). Esta diretiva pode ser substituída com a opção 
linha de comando -p. Não está disponível se a opção de construção --
disable-pcm-support foi especificada.

preferences-file file
Especifica a localização do arquivo que sera usada para salvar e carregar as 
preferencias de usuario. Se um caminho relativo é fornecido, será anexado em 
/var/lib/brltty. O padrão é usado em brltty.prefs. O diretório pode ser reescrit 
com o comando -F.

release-device boolean
Querendo ou não, para liberar o dispositivo ao qual o display braille 
está ligado quando a tela ou janela atual não pode ser lido.
 
On(on)
      Libera o dispositivo.
       
      Off(off)
      Não liberar o dispositivo.

A configuração padrão é ligado em plataformas Windows e desligado em 
todas as outras plataformas. Esta diretiva pode ser substituída com a 
opção de linha de comando -r.
 
screen-driver driver
Especifica o driver da tela (ver seção Drivers de Tela Suportados). Veja 
a opção de construção --with-screen-driver para o padrão estabelecido 
durante o processo de compilação. Esta diretiva pode ser substituída com 
a opção de linha de comando -x.
 
screen-parameters [driver:]name=value,...
Especifica os parâmetros para os drivers de tela. Se o mesmo parâmetro 
for especificado mais de uma vez, a sua atribuição mais a direita é 
usada. Se um nome de parâmetro é qualificado por um driver (consulte a 
seção Drivers de Tela Suportados), em seguida, a definição só se aplica 
ao drive, se não é, então, se aplica a todos os drivers. Para obter uma 
descrição dos parâmetros aceitos por um driver específico, consulte a 
documentação do drive. Veja a opção de construção --with-screen-
parameters para os padrões estabelecidos durante o processo de 
construção. Esta diretiva pode ser substituída com a opção de linha de 
comando -X.
 
speech-driver driver,...|auto
Especifica o driver do sintetizador de voz (ver seção Especificação de 
Driver). O padrão é a realização de auto-detecção. Esta diretiva pode 
ser substituída com a opção de linha de comando -s. Não está disponível 
se a opção de construção --disable-speech-support foi especificada. 

speech-fifo file
Especifica a FIFO (um arquivo especial que funciona como um tubo) que é 
usado por outras aplicações que desejam ter acesso ao driver de fala 
BRLTTY. Esta diretiva pode ser substituída com a opção de linha de 
comando -F. Não está disponível se a opção de construção --disable-
speech-support  foi especificada.
 
speech-parameters [driver:]name=value,...
Especifica os parâmetros para os drives de sintetizador de voz. Se o 
mesmo parâmetro é especificado mais de uma vez, a sua atribuição mais a 
direita é usada. Se um nome de parâmetro é qualificado por um driver 
(consulte a seção Código de Identificação de Driver), então essa 
configuração só se aplica ao drive, senão se aplica a todos os drivers. 
Para obter uma descrição dos parâmetros aceitos por um driver 
específico, consulte a documentação do drive. Veja a opção de construção 
--with-speech-parameters para os padrões estabelecidos durante o 
processo de construção. Esta diretiva pode ser substituída com o opção 
de linha de comando -S.
 
text-table file|auto
Especifica a tabela de texto(veja a seção Tabelas de Texto para 
detalhes). Se um caminho relativo for fornecido, então ele está ancorado 
em /etc/brltty (veja as opções de compilação with-data-directory e 
with-execute-root para mais detalhes). A extensão .ttb é opcional. O 
padrão é executar auto-seleção do locale-based, com alternativa para a 
tabela build-in (veja a opção compilação --with-text-table). Esta 
diretiva pode ser subtituída com a opção de linha de comando t.

speech-input name
Especifica o nome do arquivo do objeto do sistema (FIFO, pipe name, socket name, 
etc) que pode ser usado com outras aplicações para conversão text-to-speech via 
driver de fala BRLTTY. Este diretório pode ser reescrito com o comando -i.
Não está disponivel se a opção na compilação não for especificada --disable-
speech-support.
     
4.3 - Opções de Linha de Comando

Muitas configurações podem ser explicitamente especificadas ao chamar 
BRLTTY. Os comandos brltty aceitam as seguintes opções:
 
-afile --attributes-table=file
Especifica a tabela de atributos (veja seção Tabelas de Atributos). Se 
um caminho relativo for fornecido, então ele está ancorado em 
/etc/brltty (veja as opções de compilação with-data-directory e with-
execute-root para mais detalhes). A extensão .atb não é necessária.Veja 
as configurações do arquivo attributes-table para a configuração padrão 
de run-time. Esta configuração pode ser alterada com a preferência 
Tabela de Atributos.    

-bdriver,...|auto --braille-driver=driver,...|auto
Especifica o drive do display braille (veja seção Especificação de 
Driver). Veja as configurações do arquivo braille-drive para a 
configuração padrão de run-time.
 
-cfile --contraction-table=file
Especifica a tabela de contração (veja seção Tabela de Contração). Se um 
caminho relativo for fornecido, então ele está ancorado em /etc/brltty 
(veja as opções de compilação --with-data-directory e --with-execute-
root para mais detalhes). A extensão .ctb é opcional. A tabela de 
contração é usado quando o recurso de 6-pontos braille é ativado (veja o 
comando SIXDOTS e a preferência Estilo de Texto). Veja as configurações 
do arquivo tabela de contração para a configuração padrão de run-time. 
Esta configuração pode ser alterada com a preferência Tabela de 
Contração. Esta opção não está disponível se a opção de construção --
disable-contracted-braille foi especificada.
 
-ddevice,... --braille-device=device,...
Especifica o dispositivo para o qual o display braille está ligado (ver 
seção Especificação Dispositivo Braille). Veja as configurações do 
arquivo braille-device para a configuração padrão de run-time.
 
-e --standard-error
Escreve mensagens de disgnóstico de erro padrão. O padrão é gravá-los 
via syslog
 
-ffile --configuration-file=file
Especifica o local do arquivo de configuração que será utilizado para a 
criação das configurações padrões de run-time.

-h -help
Mostra um resumo das opções de linha de comando aceitas pelo BRLTTY, e 
depois sai.
 
-kfile --key-table=file
Especifica a tabela de teclas (veja seção Key Tables pra detalhes). Se 
um caminho relativo for fornecido, então ele está ancorado em 
/etc/brltty (veja as opções de compilação --with-data-directory e --
with-execute-root para mais detalhes). A extensão .ktb é opcional. Esta 
configuração pode ser alterada com a preferência Tabela de Telas.
 
-llevel --log-level=level
Especifique o limite de gravidade para geração de mensagens de 
diagnóstico. Os seguintes níveis são reconhecidos.

0
      emergência
1
      alerta
2
      crítico
3
      erro
4
      aviso
5
      advertência
6
      informações
7
      debug

Ou o número ou o nome pode ser fornecido, bem como o nome pode ser 
abreviado. Se não for especificado, então o nível informação é assumido 
(veja a opção -q para mais detalhes).
 
-mdevice --midi-device=device
Especifica o dispositivo a ser usado para o Music Instrument Digital 
Interface (ver seção Especificação de Dispositivos MIDI). Veja as 
configurações do arquivo midi-device para a configuração padrão de run-
time. Esta opção não está disponível se a opção de construção --disable-
midi-support foi especificada.

-n --no-daemon
Especifica que BRLTTY irá ficar em primeiro plano. Se não for 
especificado, então BRLTTY torna-se um processo em background (daemon) 
após se inicialização, mas antes de iniciar qualquer um dos drivers 
selecionados.
 
-pdevice --pcm-device=device
Especifica o dispositivo a ser usado para o áudio digital (ver seção 
Especificação do Dispositivo PCM). Veja as configurações do arquivo pcm-
device para a configuração padrão de run-time. Esta opção não estará 
disponível se a opção a opção de compilação --disable-pcm-support foi 
especificado.
 
-q quiet
Log menos informação. Esta opção altera o nível de log (veja a opção -l) 
para notice se qualquer das opção -v ou -V seja especificado, e para 
warnig caso contrário.
 
-r --release-device
Libera o dispositivo para o qual o display braille está ligado quando a 
tela ou janela atual não pode ser lido. Veja as configurações do arquivo 
release-device para a configuração padrão de run-time.
 
-sdriver,...|auto --speech-driver=driver,...|auto
Especifica o driver do sintetizador de voz (ver seção Especificação de 
Driver). Veja as configurações do arquivo speech-driver para a 
configuração padrão de run-time. Esta opção não estará disponível se a 
opção de construção --disable-speech-support foi especificado.
 
-tfile --text-table=file
Especifica a tabela de texto (ver seção Tabela de Texto). Se um caminho 
relativo for fornecido, então ele está ancorado em /etc/brltty (ver as 
opções de construção --with-data-directory e --with-execute-root para 
mais detalhes). A extensão .ttb é opcional. Veja as configurações do 
arquivo text-table para a configuração padrão de run-time. Esta 
configuração pode ser alterada com a preferência Tabela Texto.
 
-v verify
Mostrar a versão atual do BRLTTY, do lado do servidor de sua interface 
de programação de aplicativo, do braille selecionado e drivers de fala, 
e depois sai. Se a opção-q não for especificado, então também exibir os 
valores das opções depois de todas as fontes serem consideradas. Se mais 
de um driver braille (veja a opção de linha de comando -b) e/ou mais de 
um dispositivo braile (veja a opção linha de comando -d) tenha sido 
especificado, então a autodetecção do display Braille é realizado. Se 
mais de um driver de fala(veja a opção de linha de comando -s) tenha 
sido especificado, então a autodetecção do sintetizador de voz é 
realizada.
 
-xdriver --screen-driver=driver
Especifica o driver da tela (ver seção Drivers Suportados de Tela). Veja 
as configurações do arquivo screen-driver para a configuração padrão de 
run-time.
 
-Aname=value,... --api-parameters=name=value,...
Especifica os parâmetros para a Application Programming Interface. Se o 
mesmo parâmetro é especificado mais de uma vez, a sua atribuição mais a 
direita é usada. Para obter uma descrição dos parâmetros aceitos pela 
interface, consulte o manual de referência BrlAPI. Veja as configurações 
do arquivo api-parameters para a configuração padrão de run-time.

-B[driver:]name=value,... --braille-parameters=[driver:]name=value,...
Especifica os parâmetros para os drivers do display braille. Se o mesmo 
parâmetro é especificado mais de uma vez, a sua atribuição mais a 
direita é usada. Se um nome de parâmetro é qualificado por um driver 
(consulte a seção Códigos de Identificação de Drivers), então essa 
configuração só se aplica ao drive, se não é, então se aplica a todos os 
drivers. Para obter uma descrição dos parâmetros aceitos por um driver 
específico, consulte a documentação do driver. Veja as configurações do 
arquivo braille-parameters para a configuração padrão de run-time.
 
-E --environment-variables
Reconhece as variáveis de ambiente para determinar as configurações 
padrão para as opções de linha de comando não especificada (ver seção 
Opções de Linha de Comando). Se esta opção for especificada, e se a 
variável de ambiente associados a uma opção não especificada é definida, 
então o valor da variável de ambiente é utilizado. Os nomes dessas 
variáveis de ambiente são baseados em nomes grandes das opções que 
correspondem a:

?	Todas as letras são em maiúsculas.
?	Os underscores (_) são utilizados em vez de sinais de menos (-).
?	O prefixo BRLTTY_ é adicionado.

Esta opção é particularmente útil no sistema operacional Linux, pois 
permite configuração padrão a ser passado para BRLTTY através de 
parâmetros de inicialização. As seguintes variáveis de ambiente são 
suportadas:
 
BRLTTY_API_PARAMETERS
Parâmetros para a Application Programming Interface (veja a opção de 
linha de comando -A).
 
BRLTTY_ATTRIBUTES_TABLE
A tabela de atributos (veja a opção de linha de comando -a).
      
BRLTTY_BRAILLE_DEVICE
O dispositivo do display braille (veja a opção de linha de comando -d).
 
BRLTTY_BRAILLE_DRIVER
O driver do display braille (veja a opção de linha de comando -b).
 
BRLTTY_BRAILLE_PARAMETERS
Parâmetros para o driver do display braille (veja a opção de linha de 
comando -B).
 
BRLTTY_CONFIGURATION_FILE
O arquivo de configuração (veja a opção de linha de comando -f).
 
BRLTTY_CONTRACTION_TABLE
A tabela de contração (veja a opção de linha de comando -c).
 
BRLTTY_KEY_TABLE
A tabela de teclas (veja a opção de linha de comando -k).
 
BRLTTY_KEYBOARD_PROPERTIES
As propriedades do teclado (veja a opção de linha de comando -K).
 
BRLTTY_MIDI_DEVICE
O dispositivo Musical Instrument Digital Interface (veja a opção de 
linha de comando -m).
 
BRLTTY_PCM_DEVICE
O dispositivo de audio digital (veja a opção de linha de comando -p).
 
BRLTTY_RELEASE_DEVICE
Querendo ou não libera o dispositivo para o qual o display braille está 
ligado quando a tela ou janela atual não pode ser lido (veja a opção de 
linha de comando -r).
 
BRLTTY_SCREEN_PARAMETERS
Parâmentros para o driver da tela (veja a opção de linha de comando -X).
 
BRLTTY_SPEECH_DRIVER
O driver do sintetizador de voz (veja a opção de linha de comando -s).
 
BRLTTY_SPEECH_FIFO
A passagem FIFO da voz ( veja a opção de linha de comando -F).
 
BRLTTY_SPEECH_PARAMETERS
Parâmetros para o driver do sintetizado de voz ( veja a opção de linha 
de comando -S).
 
BRLTTY_TEXT_TABLE
A tabela de texto ( veja a opção de linha de comando -t).
 
-Ffile --speech-fifo=file
Especifica a FIFO (um arquivo especial que funciona como um tubo) que é 
usado por outras aplicações que desejam ter acesso ao driver BRLTTY da 
fala. Se não é especificado, FIFO não é criado. Veja as configurações do 
arquivo speech-fifo para a configuração padrão de run-time. Esta opção 
não estará disponível se a opção de construção --disable-speech-support 
 foi especificada.
 
-i --install-service
Instala o BRLTTY como o serviço BrlAPI. Isso significa que:

      · BRLTTY será iniciado automaticamente quando o sistema é 
inicializado.

      · Aplicações podem saber que um servidor BrlAPI está sendo 
executado.

Esta opção só é suportado na plataforma Windows.
 
-Kname=value,... --keyboard-properties=name=value,...
Especifica as propriedades do teclado(s) a ser monitorado. Se a mesma 
propriedade for especificada mais de uma vez, a sua atribuição mais a 
direita é usada. Consulte a seção Keyboard Prperties para obter uma 
lista das propriedades que podem ser especificadas. Veja as 
configurações do arquivo keyboard-properties para a configuração padrão 
de run-time.
 
-Mcsecs --message-delay=csecs
Especifica a quantidade de tempo (em centésimos de segundo) que o BRLTTY 
mantém seu próprio gerador de mensagens internamente no display braille. 
Se não for especificado, então 400 (4 segundos) é assumida.

-N --no-api
Desativa a interface de programação de aplicativo.
 
-Pfile --pid-file=file
Especifica o arquivo onde o BRLTTY escreve o seu identificador de 
processo (PID). Se não especificado, BRLTTY não escreve o seu processo 
de identificação em qualquer lugar.
 
-R --remove-service
Remove o serviço BrlAPI. Isso significa que:

· BRLTTY não será iniciado automaticamente quando o sistema é 
inicializado.
· Aplicações podem saber que nenhum servidor BrlAPI está sendo 
executado.

Esta opção só é suportado na plataforma Windows.
 
-S[driver:]name=value,... --speech-parameters=[driver:]name=value,...
Especifica os parâmetros para os drivers do sintetizador de voz. Se o 
mesmo parâmetro é especificado mais de uma vez, a sua atribuição mais a 
direita é usada. Se um nome de parâmetro é qualificado por um driver 
(consulte a seção Código de Identificação de Drivers), então essa 
configuração só se aplica ao driver, se não se aplica a todos os 
drivers. Para obter uma descrição dos parâmetros aceitos por um driver 
específico, consulte a documentação do driver. Veja as configurações do 
arquivo speech-parameters para a configuração padrão de run-time.

-Ucsecs --update-interval=csecs
Especifica o intervalo (em centésimos de segundo) em que a janela do 
braille é atualizada com o novo conteúdo da tela. Se não for 
especificado, então, 4 (40 milisegundos) é assumido.
 
-V --version
Mostra a versão atual do BRLTTY, do lado do servidor de sua interface de 
programação de aplicativo, e dos drivers que foram ligados ao seu 
binário, e depois sai. Se a opção-q não for especificado, então também 
exibir informações de direitos autorais.
 
-X[driver:]name=value,... --screen-parameters=[driver:]name=value,...
Especifica os parâmetros para os drivers da tela. Se o mesmo parâmetro é 
especificado mais de uma vez, a sua atribuição mais a direita é usada. 
Se um nome de parâmetro é qualificado por um driver (consulte a seção 
Drivers Suportados de Tela), então essa configuração só se aplica a esse 
driver, se não é, então se aplica a todos os drivers. Para obter uma 
descrição dos parâmetros aceitos por um driver específico, consulte a 
documentação do driver. Veja as configurações do arquivo screen-
parameters para a configuração padrão de run-time.

5. Descrições das Características

5.1 Cursor de roteamento
 
Ao mover a janela de Braille em torno da tela, para análise do texto, 
por exemplo, em um editor, muitas vezes você precisa levar o cursor até 
um carácter especifico dentro da janela do braille. Você provavelmente 
vai achar que isso uma tarefa bastante difícil para um número de razões. 
Uma delas é que você pode não saber onde está o cursor, e que você pode 
perder seu lugar ao tentar encontrá-lo. Outra é que o cursor pode mover 
imprevisivelmente quando as setas forem pressionadas (alguns editores, 
por exemplo, não permitem que o cursor seja mais direito ao fim da 
linha). Cursor roteamento fornece apenas essa capacidade de saber onde 
está o cursor, através da simulação das prensas mesma seta-chave que 
você tem que digitar manualmente, e pelo acompanhamento do progresso do 
cursor que se move. 

Alguns displays braille têm um botão, conhecido como uma tecla de 
cursor, acima de cada célula. Essas chaves usam o comando ROUTE para 
encaminhar o cursor para o local desejado. 
 
Cursor de roteamento é muito conveniente e eficaz, porém não totalmente 
confiável. Uma razão para isso é que a sua implementação atual assume 
VT100 cursor seqüências de escape chave. Outra é que algumas aplicações 
fazem coisas fora do padrão em resposta ao detectar que uma tecla do 
cursor foi pressionado. Um pequeno problema encontrado dentro de alguns 
editores (como vi), como já mencionado acima, é que eles jogam em algum 
movimento imprevisível horizontal quando o movimento vertical é 
solicitado porque eles não permitem que o cursor fiquem à direita do 
final de uma linha . Um dos principais problemas encontrados dentro de 
alguns navegadores web (como o lynx) é que as teclas de seta para 
baixo/cima são usadas para mover entre os links (que podem saltar linhas 
e / ou mover o cursor horizontalmente, mas que raramente move o cursor 
uma linha na direção desejada), e que a esquerda e teclas de seta para a 
direita são usados para selecionar as ligações (que não tem 
absolutamente nada a ver com qualquer forma de movimento do cursor que 
seja, e que até muda totalmente o conteúdo da tela). 
 
Cursor de roteamento não funciona muito bem em um sistema muito 
carregado, e definitivamente não funciona muito bem ao trabalhar em um 
sistema remoto através de um link lento. Isto é assim porque de todas as 
verificações que devem ser feitos ao longo do caminho, a fim de lidar 
com o movimento do cursor imprevisível, a fim de assegurar que qualquer 
erro tem pelo menos uma chance de lutar para ser desfeito. Mesmo BRLTTY 
tenta ser bastante inteligente, ainda deve essencialmente esperar para 
ver o que acontece após cada pressionamento da seta-chave. 
 
Uma vez que uma solicitação de cursor de roteamento foi feita, BRLTTY 
continua tentando encaminhar o cursor para o local pretendido, até um 
tempo limite de expiração antes que o cursor alcança essa localização, o 
cursor parece estar se movendo na direção errada, ou se mudar para um 
terminal virtual diferente. Uma tentativa é feita para usar o movimento 
vertical para trazer o cursor para a linha direita, e, se essa for bem 
sucedida, essa tentativa é feita, então usa o movimento horizontal para 
trazer o cursor para a coluna da direita. Se outra solicitação é feita 
enquanto ainda se está em andamento, em seguida, a primeira é anulada e 
o segundo é iniciada. 
 
Um cursor mais seguro, porém menos potente de roteamento, CSRJMP_VERT, 
usa apenas o movimento vertical para trazer o cursor para qualquer lugar 
no top da linha da janela braille. É especialmente útil em um conjunto 
com as aplicações (como lynx) onde o movimento do cursor horizontal 
nunca deve ser tentado.

5.2 Copiar e Colar
 
Este recurso permite que você pegue algum texto que já está na tela e 
digitá-la na posição atual do cursor. Usando ele economiza tempo e evita 
erros quando uma peça longa e/ou complicadas do texto precisa ser 
copiado, e mesmo quando a mesma peça curta e simples do texto precisa 
ser copiado muitas vezes. É particularmente útil para coisas como nomes 
de arquivo longos, linhas de comandos complicados, os endereços de e-
mail e URL. Cortar e colar texto envolve três passos simples: 
 
  1. Marque o canto superior esquerdo da área retangular ou no início da 
área linear na tela, que deve ser agarrado (corte). Se o display tem 
chaves de roteamento, em seguida, move a janela braille, para que o 
primeiro carácter a ser cortado aparecer em qualquer lugar dentro dela 
e, em seguida:

  · Invocar o comando CUTBEGIN para iniciar um novo buffer de corte.
  · Invocar o comando CUTAPPEND para anexar ao buffer de corte 
existentes, pressionando as chave associadas a ele e depois pressionar a 
tecla de roteamento associado com o personagem.

2. Marque o canto inferior direito da área retangular ou o fim da área 
linear na tela, que deve ser agarrado (corte). Se o display tem chaves 
de roteamento, move a janela de braille para que o último caracter a ser 
cortado aparece em qualquer lugar dentro dela e, em seguida:

  · Invocar o comando CUTRECT para cortar uma área retangular.
  · Invocar o comando CUTLINE para cortar uma área linear pressionando 
as chave associadas a ele e depois pressionar a tecla de roteamento 
associado com o carácter. Marcando o fim da área de corte acrescenta o 
conteúdo da tela selecionada com o buffer de corte. O excesso de espaço 
em branco é removido no final de cada linha no buffer de corte de modo 
que os espaços indesejados no final não vão ser colado para trás do 
carácter de controle que serão substituídos por espaços em branco.
 
3. Inserir (colar) o texto onde ele é necessário. Coloque o cursor sobre 
o carácter onde o texto deve ser colado, e invocar o comando PASTE. Você 
pode colar o mesmo texto varias vezes sem recortar. Esta descrição 
assume que você já está em algum tipo de modo de entrada. Se você colar 
quando você estiver em algum outro tipo de modalidade (como comando vi), 
então é melhor você estar ciente de que os caracteres no buffer de corte 
vão fazer. 
 
O buffer de corte também é usado pelos comandos PRSEARCH/NXSEARCH.

5.3 Suporte do Ponteiro (Mouse) via GPM
 
Se BRLTTY é configurado com a opção de compilação --enable-gpm no 
sistema onde a aplicação gpm foi instalada, em seguida, ele vai 
interagir com o cursor (mouse). 
 
Mover o ponteiro e arrastar a janela braille (veja Window Follows 
Pointer). Sempre que o ponteiro é movido para além da borda da janela do 
braille, a janela do braille é arrastada (um carácter por vez). Isto dá 
ao usuário braille outra forma bidimensional para inspecionar o conteúdo 
da tela ou mover-se rapidamente a janela braille para o local desejado. 
Ele também dá uma visão de observador de maneira fácil para mover a 
janela de braille para algo que ele gostaria que o usuário Braille possa 
ler. 
 
O gpm usa vídeo reverso para mostrar onde o cursor está. Sublinhando os 
caracteres em destaque (veja o comando ATTRVIS) deve ser ativado, 
portanto, quando o usuário braille pretende usar o ponteiro. 
 
Esse recurso também permite o acesso do usuário em Braille para gpm é 
cortado e colado. Embora você deve ler a documentação própria gpm, aqui 
estão algumas notas sobre a forma como ele funciona.

   · Cópia do carácter atual para o buffer cortado por um único clique 
com o botão esquerdo.
   · Cópia da palavra atual (espaço delimitado) para o buffer de corte 
com um duplo clique com o botão esquerdo.
   · Cópia da linha atual para o buffer de corte de triplo-clique com o 
botão esquerdo.
   · Cópia de uma região linear para o buffer de corte da seguinte 
forma:

     1. Coloque o ponteiro do mouse sobre o primeiro carácter da região.
     2. Pressione (e mantenha pressionado) o botão esquerdo.
     3. Mova o ponteiro para o último carácter da região (todos os 
caracteres selecionados são destacados).
     4. Solte o botão esquerdo.

   · Cole (entrada) o conteúdo atual do buffer de corte clicando o botão 
do meio do mouse de três botões, ou clicando com o botão direito do 
mouse de dois botões.
   · Aparece para o buffer de corte usando o botão direito do mouse de 
três botões.

5.4 Alerta de Tunes
 
BRLTTY alerta para a ocorrência de eventos significativos, tocando 
melodias curtas predefinidas. Este recurso pode ser ativado e desativado 
com um comando TUNES ou o Alert Tunes. As músicas são tocadas através do 
apito interno, por padrão, mas outras alternativas podem ser 
selecionadas com a preferência de Tune Device. 
 
Cada evento significativo está associado, do maior para a menor 
prioridade, com um ou mais dos seguintes procedimentos: 
 
a tune
Se uma música tem sido associado com o evento, se o Alert Tunes (veja 
também o comando TUNES) está ativo e se o dispositivo de ajuste for 
selecionado (veja a preferência de Dispositivos Tune) pode ser aberto, 
então a música é tocada.
 
a dot pattern
Se um padrão de pontos tem sido associado com o evento, e se a 
preferência do Alert Dots está ativo, então o padrão de pontos é exibido 
rapidamente em cada célula braille. Alguns displays braille não 
respondem com rapidez suficiente para que este mecanismo funcione de 
forma eficaz.
 
a message
Se a mensagem tem sido associada com o evento, e se a preferência Alert 
Messages estiver ativa, ela é exibido por alguns segundos (veja a opção 
-m de linha de comando).
 
Estes eventos incluem:

      · Quando o driver do display Braille começa ou pára.
       
      · Quando um comando demorado concluí.
       
      · Quando um comando não pode ser executado.
       
      · Quando uma marca é definida.
       
      · Quando o início ou o fim do bloco de corte é definida.
       
      · Quando um recurso é ativado ou desativado.
       
      · Quando o controle de cursor é ligado ou desligado.
       
      · Quando a imagem da tela é congelada ou descongelada.
       
· Quando a janela braille envolvida ou até o início da próxima    
linha ou até o fim da linha anterior.
       
      · Quando as linhas idênticas são ignorados.
       
      · Quando uma solicitação não pode ser executada.
       
      · Quando o cursor começa o roteamento, termina, ou falha.
       
5.5 Configurações de Preferências
 
Quando BRLTTY é iniciado, ele carrega um arquivo que contém as 
definições de preferências. O arquivo não precisa existir, ele é criado 
pela primeira vez, as configurações são salvas com o comando PREFSAVE. 
As configurações mais recentemente salvas podem ser restauradas a 
qualquer momento com o comando PREFLOAD. 
 
O nome para este arquivo é /etc/brltty-driver.prefs. Onde driver tem 
duas letras do código de identificação de driver. 
 
5.5.1 Menu de Preferências 
 
As configurações de preferências são salvos como dados binários que, 
portanto, não pode ser editado manualmente. BRLTTY, no entanto, tem um 
menu simples do que você pode facilmente mudá-los. 
 
O menu é ativado pelo comando PREFMENU. O display braille (ver -m) 
mostra o título do menu, e em seguida, apresenta o item atual e sua 
configuração atual. 
 
5.5.1.1 Menu de Navegação 
 
Consulte o Comandos do Menu de Navegação para a lista completa dos 
comandos que permitem que você selecione os itens e altere as 
configurações dentro do menu. Para compatibilidade com drivers antigos, 
os comandos de janela do movimento, que alteraram os significados, neste 
contexto, também pode ser usado. 
 
 	TOP/ BOT, TOP_LEFT/BOT_LEFT, PAGE_UP/PAGE_DOWN 
      Ir para o primeiro item / último no menu (o mesmo como
      MENU_FIRST_ITEM/MENU_LAST_ITEM).
 
LNUP/LNDN, PRDIFLN/NXDIFLN, CURSOR_UP/CURSOR_DOWN
Ir para o item anterior / seguinte no menu (o mesmo que 
MENU_PREV_ITEM/MENU_NEXT_ITEM). 
 
WINUP/WINDN, CHRLT/CHRRT, CURSOR_LEFT/CURSOR_RIGHT, BACK/HOME 
Diminuir aumentar / definir o item de menu atual (o mesmo que 
MENU_PREV_SETTING/MENU_NEXT_SETTING). 

Notas:

· As chaves de roteamento também pode ser usado para selecionar uma 
opção para o item atual. Se o item tem ajustes numéricos, em seguida, 
toda a linha de chaves de roteamento atua como uma barra de rolagem, que 
abrange toda a gama de valores válidos. Se o item tem chamado 
configurações, então as chaves de roteamento correspondem com as 
configurações.

· Use o comando PREFLOAD desfazer todas as alterações que foram feitas 
desde a sua entrada no menu.

· Use o comando PREFMENU (novamente) para deixar as novas configurações 
de fato, sair do menu, e retomar a operação normal. Se a opção "Save 
Settings on Exit" é definido, então, além disso, as novas configurações 
são gravadas no arquivo de configurações de preferências. Qualquer 
comando não é reconhecido pelo sistema de menu também faz essas coisas 
mesmo. 
 
5.5.1.2 Itens de Menu 
 
Salvar ao sair 
 
   Ao sair do menu de preferências: 
 
   No
   Não salvar automaticamente as configurações de preferências.
 
   Yes
   Salvar automaticamente as configurações de preferências. 
 
   A configuração inicial é No. 
 
Text Style

   Ao exibir o conteúdo da tela (veja o comando DISPMD), os caracteres 
mostram:

   8-dot
   Com os oito pontos.

   6-dot
   Com apenas pontos de 1 a 6. Se uma tabela de contração foi 
selecionada(veja a opção -c da linha de comando e da tabela de contração 
do arquivo de configuração), então ele é usado.

Esta configuração também pode ser alterado com o comando SIXDOTS.
 
Skip Identical Lines

Quando se deslocam para cima ou para baixo exatamente uma linha com os 
comandos LNUP/LNDN, bem como o recurso de FWINRT/FWINLT e comandos 
FWINLTSKIP/FWINRTSKIP:

   No
   Não pule linhas passadas, que têm o mesmo conteúdo da linha atual.

   Yes
   Pula linhas passadas, que têm o mesmo conteúdo da linha atual.
 
   Esta configuração também pode ser alterado com o comando SKPIDLNS. 
 
Skip Blank Windows 
 
Quando se deslocam para a esquerda ou direita, com os comandos 
FWINLT/FWINRT:
 
       No
   Não pular janelas em branco.
 
       Yes
   Pular janelas em branco. 
 
Esta configuração também pode ser alterado com o comando SKPBLNKWINS. 
 
Which Blank Windows 
 
Se as janelas em branco devem ser ignorados: 
 
       All
   passar todos eles.
   
   Fim da Linha
   apenas ignorar aqueles que estão no final (do lado direito) de uma 
linha.

   Resto da Linha
   apenas ignorar aqueles que estão no final (do lado direito) de uma 
linha durante a leitura para a frente, e no início (do lado esquerdo) de 
uma linha durante a leitura para trás. 
 
Sliding Window 
 
Se o cursor está a ser controlado (veja o comando CSRTRK), e o cursor 
move-se demasiado perto (ou mais) uma das janela do Braille: 
 
       No
   Reposicionar horizontalmente a janela de modo que sua extremidade 
esquerda é um múltiplo de sua largura da borda esquerda da tela.
 
       Yes
   Horizontalmente reposicionar a janela de tal forma que o cursor, 
mantendo-se nesse lado da janela, está mais próximo do centro. 
 
Esta configuração também pode ser alterado com o comando SLIDEWIN. 
 
Eager Sliding Window 
 
Se a janela de braille é slide: 
 
       No
   Reposicioná-lo sempre que o cursor se move para além de uma ou outra 
extremidade.
 
       Yes
   Reposicioná-lo sempre que o cursor move-se muito perto de uma das 
extremidades. 
 
A configuração inicial é No. 
 
Window Overlap 
 
Quando se deslocam para a esquerda ou direita com os comandos 
FWINLT/FWINRT, esta configuração especifica quantos caracteres 
horizontalmente adjacente janelas braille devem sobrepor-se uns aos 
outros por. O ajuste inicial é 0. 

AutoRepeat 
 
Enquanto a chave (combinação) para um comando permanece pressionado: 
 
       No
   Não repita automaticamente o comando.
 
       Yes
   Automaticamente repetir o comando em um intervalo regular, após um 
atraso inicial.

Os seguintes comandos são elegíveis para auto reply:
      · O comando LNUP/LNDN.
      · O comando PRDIFLN/NXDIFLN.
      · O comando CHRLT/CHRRT.
      · Operações panorâmica da janela Braille (ver AutoRepeat Panning).
      · Operações de Page-Up e Page-Down.
      · Operações de cursor-up e cursor-down.
      · Operações de cursor esquerda e cursor direita.
      · Operações de Backspace e Delete.
      · Carácter de entrada.
 
Apenas alguns drivers suportam esta funcionalidade, a principal 
limitação é que muitos display braille não sinalizam tanto teclas 
pressionadas e chaves  como eventos separados distintamente. Esta 
configuração também pode ser alterado com o comando AutoRepeat. A 
configuração inicial é YES. 
 
AutoRepeat Panning 
 
Quando a preferência Autorepeat está habilitada: 
 
       No
   Não há operações de autorepeat da janela panorâmica em braille. 

       Yes
   Operações de AutoRepeat para janela panorâmica em braille. 
 
Esta preferência atinge os comandos FWINLT/FWINRT. A configuração 
inicial é No. 
 
AutoRepeat Delay 
 
Quando um carácter é a auto repetitivo, esta configuração especifica a 
quantidade de tempo (veja Configurações de Tempo), que deve passar antes 
auto repetição começa. A configuração inicial é 50. 
 
AutoRepeat Interval
 
Quando um carácter está sendo auto repetitivo, esta configuração 
especifica a quantidade de tempo (veja Configurações de Tempo) entre 
cada reexecução. A configuração inicial é 10. 

Show Cursor
 
Ao exibir o conteúdo da tela (veja o comando DISPMD): 
 
       No
   Não mostrar o cursor.
 
       Yes
   Mostrar o cursor. 
 
Esta configuração também pode ser alterado com o comando CSRVIS. A 
configuração inicial é Yes. 
 
Cursor Style 
 
Ao mostrar o cursor, representá-lo:

   Underline
   Com pontos 7 e 8.
   
   Block
   Com os oito pontos.
 
Esta configuração também pode ser alterado com o comando CSRSIZE. 
 
Blinking Cursor 
 
Quando o cursor está a ser mostrado:
   
   No
   Deixar-se visível o tempo todo.
   
   Yes
   Torná-lo alternadamente, visíveis e invisíveis de acordo com um     
   intervalo predefinido.

Esta configuração também pode ser alterado com o comando CSRBLINK. 
 
Cursor Visible Time 
 
Quando o cursor está a ser piscou, esta configuração especifica o 
período de tempo (veja time settings) durante cada ciclo que está a ser 
visível. A configuração inicial é de 40. 
 
Cursor Invisible Time
 
Quando o cursor está a ser piscou, esta configuração especifica o 
período de tempo (veja time settings) durante cada ciclo que é ser 
invisível. A configuração inicial é de 40. 

Show Cursor
 
Ao exibir o conteúdo da tela (veja o comando DISPMD): 
 
       No
   Não mostrar o cursor. 

       Yes
   Mostrar o cursor. 
 
Esta configuração também pode ser alterado com o comando CSRVIS. A 
configuração inicial é Yes. 
 
Cursor Style 
 
Ao mostrar o cursor, representá-lo:

   Underline
   Com pontos 7 e 8.
   
   Block
   Com os oito pontos.
 
Esta configuração também pode ser alterado com o comando CSRSIZE. 
 
Blinking Cursor 
 
Quando o cursor está a ser mostrado:
   No
   Deixar-se visível o tempo todo.
   
   Yes
   Torná-lo alternadamente, visíveis e invisíveis de acordo com um     
   intervalo predefinido.

Esta configuração também pode ser alterado com o comando CSRBLINK. 
 
Cursor Visible Time 
 
Quando o cursor está a ser piscou, esta configuração especifica o 
período de tempo (veja time settings) durante cada ciclo que está a ser 
visível. A configuração inicial é de 40. 
 
Cursor Invisible Time 
Quando o cursor está a ser piscou, esta configuração especifica o 
período de tempo (veja time settings) durante cada ciclo que é ser 
invisível. A configuração inicial é de 40. 

Show Attributes 
 
Ao exibir o conteúdo da tela (veja o comando DISPMD):
   No
   Não sublinhar os caracteres em destaque.
   
   Yes
   Sublinhar caracteres em destaque.
 
Esta configuração também pode ser alterado com o comando ATTRVIS. 
 
Blinking Attributes 
 
Quando os caracteres em destaque são sublinhados:
   
   No
   Deixe o indicador visível o tempo todo.
   
   Yes
   Faça o indicador alternadamente visíveis e invisíveis de acordo com 
um intervalo predefinido.
 
Esta configuração também pode ser alterado com o comando ATTRBLINK. 
 
Attributes Visible Time
 
Quando o carácter sublinhado em destaque piscar, esta configuração 
especifica o período de tempo (veja time settings) durante cada ciclo 
que está a ser visível. A configuração inicial é de 20. 
 
Attributes Invisible Time
 
Quando o carácter sublinhado em destaque piscar, esta configuração 
especifica o período de tempo (veja time settings) durante cada ciclo 
que é ser invisível. A configuração inicial é de 60. 
 
Blinking Capitals 
 
Ao exibir o conteúdo da tela (veja o comando DISPMD):

   No
   Deixar maiúsculas visível o tempo todo.
   
   Yes
   Faça letras maiúsculas alternadamente visíveis e invisíveis de acordo 
com um intervalo predefinido.
 
Esta configuração também pode ser alterado com o comando CAPBLINK. 
 
Capitals Visible Time 
 
Quando as letras maiúsculas são destacadas, esta configuração especifica 
o período de tempo (veja time settings) durante cada ciclo que estão a 
ser visíveis. A configuração inicial é de 60. 
 
Capitals Invisible Time  
Quando as letras maiúsculas são destacadas, esta configuração especifica 
o período de tempo (veja time settings) durante cada ciclo que estão a 
ser invisível. A configuração inicial é de 20. 
 
Braille Firmness 
 
Ajuste a consistência (ou rigidez) dos pontos braille. Pode ser definido 
como:

      · Máximo
      · Alta
      · Média
      · Baixo
      · Mínimo
       
Essa preferência está disponível somente se um driver que suporta ele 
está sendo usado. A configuração inicial é média. 
 
Window Follows Pointer 
 
Ajuste a sensibilidade dos pontos braille para tocar. Pode ser definido 
como:
      · Máximo
      · Alta
      · Média
      · Baixo
      · Mínimo
       
Essa preferência está disponível somente se um driver que suporta ele 
está sendo usado. A configuração inicial é média. 
 
Window Follows Pointer 
 
Ao mover o dispositivo de cursor (mouse):

   No
   Não arrastar a janela braille.
   
   Yes
   Arraste a janela braille.
 
Esta preferência é apenas apresentada se a opção de compilação --enable-
gpm foi especificada. 
 
Highlight Window 
 
Ao mover a janela do Braille:

   No
   Não dar destaque a área da tela nova.

   Yes
   Destaque da área nova tela.
 
Este recurso permite que um observador com visão para ver onde está a 
janela braille e, portanto, saber o que o usuário está lendo em braille. 
Qualquer movimento da janela em braille (manual, controle do cursor, 
etc), exceto quando se move em resposta ao ponteiro (mouse) movimento 
(veja Windows Follows Pointer), faz com que a área da tela 
correspondente ao novo local da janela Braille ser destacada. Se a 
preferência Show Attributes está habilitada, somente o caractere 
correspondente ao canto superior esquerdo da janela do braille é 
destacado. 
 
Alert Tunes 
 
Sempre que um evento significativo, com uma melodia associada ocorre 
(ver Alerta de Tunes):

  No
  Não tocar a música.

  Yes
  Tocar a música.
 
Esta configuração também pode ser alterado com o comando TUNES. A 
configuração inicial é Yes. 
 
Tune Device 
 
Tocar músicas de alerta através de:

Beeper

O apito interno (console gerador de tom). Esta configuração é suportada 
em Linux, no OpenBSD, no FreeBSD e no NetBSD. É sempre seguro para usar, 
embora possa ser um pouco fraco. Este dispositivo não está disponível se 
a opção de compilação --disable-bipper-suport foi especificada.
  
PCM

A interface digital de áudio na placa de som. Esta configuração é 
suportada no Linux (via /dev/dsp), no Solaris (via /dev/audio), no 
OpenBSD (via /dev/audio0), sobre FreeBSD (via /dev/dsp), e no NetBSD 
(via /dev/audio0). Ele não funciona quando este dispositivo já está 
sendo usado por outro aplicativo. Este dispositivo não está disponível 
se a opção de compilação --disable-pcm-support foi especificada.
   
MIDI

O Musical Instrument Digital Interface na placa de som que está definida 
é compatível com Linux (através do /dev/sequencer). Ele não funciona 
quando este dispositivo já está sendo usado por outro aplicativo. Este 
dispositivo não está disponível se a opção de compilação --disable-midi-
support foi especificada.
   
FM

O sintetizador de FM em um cartão de AdLib, OPL3, Sound Blaster, ou o 
equivalente de som. Esta configuração é suportada em Linux. Os 
resultados são imprevisíveis e potencialmente não muito bons, se for 
usado com uma placa de som que não suporta esse recurso. Este 
dispositivo não está disponível se a opção de compilação --disable-fm-
support foi especificada.

A configuração inicial é Beeper sobre as plataformas que suportam, e PCM 
sobre as plataformas que não o fazem.
 
PCM Volume
 
Se a interface de áudio digital da placa de som está sendo usado para 
tocar as músicas alerta, esta configuração especifica o volume (como uma 
porcentagem do máximo) em que estão a ser tocado. A configuração inicial 
é de 70.

MIDI Volume
 
Se o Musical Instrument Digital Interface (MIDI) da placa de som está 
sendo usado para tocar as músicas alerta, esta configuração especifica o 
volume (como uma porcentagem do máximo) em que estão a ser tocado. A 
configuração inicial é de 70. 
 
MIDI Instrument
 
Se o Musical Instrument Digital Interface (MIDI) da placa de som está 
sendo usada para tocar as músicas alerta, esta configuração especifica 
qual o instrumento a ser utilizado (ver MIDI Table Instrument). A 
configuração inicial é Acoustic Grand Piano. 
 
FM Volume
 
Se o sintetizador FM da placa de som está sendo usado para tocar as 
músicas alerta, esta configuração especifica o volume (como uma 
porcentagem do máximo) em que estão a ser tocado. A configuração inicial 
é de 70. 

Alert Dots
 
Sempre que um evento significativo associado com um padrão de pontos 
ocorre (ver Alerta de Tunes):

   No
   Não exibir o padrão de pontos.

   Yes
   Resumidamente exibir o padrão de pontos.
 
Se melodias de alerta são para ser jogado (veja o comando TUNES e o 
Alerta de Tunes), se uma música tem sido associado com o evento, e se o 
dispositivo da canção selecionado pode ser aberto, então, 
independentemente da configuração dessa preferência, o padrão de pontos 
não será exibido. 
 
Alert Messages 
 
Sempre que um evento significativo, com uma mensagem associada ocorre 
(ver Alerta de Tunes):

   No
   Não mostrar a mensagem.

   Yes
   Mostrar a mensagem.
 
Se as mensagens de alerta são tocadas (veja o comando TUNES e a 
preferência Alerta de Tunes), se uma música tem sido associado com o 
evento, e se o dispositivo de ajuste selecionado pode ser aberto, ou se 
o alerta padrões de pontos que devem ser exibidas (consulte Alert Dots) 
e se um padrão de pontos tem sido associado com o evento, então, 
independentemente da configuração dessa preferência, a mensagem não é 
exibida. 
 
Say-Line Mode 
 
Ao usar o comando SAY_LINE:

   Immediate
   Descartar discurso pendentes.

   Enqueue
   Não descartar pendentes discurso.
 
A configuração inicial é immediate. 
 
Autospeak 

   No
   Só falar quando for solicitado a fazê-lo.

   Yes
   Automaticamente falar:

      · A nova linha quando a janela é movida verticalmente braille.
      · Caracteres que são inseridos ou excluídos.
      · O carácter ao qual o cursor é movido.
 
Esta configuração também pode ser alterado com o comando AUTOSPEAK. A 
configuração inicial é No. 
 
Speech Rate
 
Ajustar a velocidade de fala (0 é o mais lento, 20 é o mais rápido). 
Essa preferência está disponível somente se um driver que suporta ele 
está sendo usado. Esta configuração também pode ser alterado pelos 
comandos SAY_SLOWER/SAY_FASTER. A configuração inicial é 10. 
 
Speech Pitch
 
Ajuste o volume da voz (0 é o mais baixo, 20 é o mais alto). Essa 
preferência está disponível somente se um driver que suporta ele está 
sendo usado. Esta configuração também pode ser alterado com os comandos 
SAY_SOFTER/SAY_LOUDER. A configuração inicial é 10. 
 
Speech Pitch
 
Ajustar o tom de voz (0 é o menor e o 20 é o mais alto). Essa 
preferência está disponível somente se um driver que suporta ele está 
sendo usado. A configuração inicial é 10. 
 
Speech Punctuation 
 
Ajuste a quantidade de pontuação que é falado. Pode ser definido como:

      · All
      · Some
      · All

Essa preferência está disponível somente se um driver que suporta ele 
está sendo usado. A configuração inicial é some. 
 
Status Style
 
Esta configuração especifica o caminho que as células de estado estão a 
ser utilizados. Você não deveria precisam de tocar com nelas. Isso 
permite que os desenvolvedores BRLTTY para testar as configurações de 
status da pilha para display braille que eles realmente não têm. 
 
None
 
Não use as células de status. Essa configuração é sempre seguro, mas 
também é completamente inútil. 
 
Alva

As células status conter:

      1 - A localização do cursor (veja abaixo).
      2 - A localização do canto superior esquerdo da janela do braille 
(ver abaixo).
      3 - Uma carta indicando o estado de BRLTTY. 

Na ordem de precedência:

      a
      Tela atributos estão a ser mostrados (veja o comando DISPMD).
      
      f
      A imagem da tela é congelada (veja o comando FREEZE).
      
      f
      O cursor está sendo controlado (veja o comando CSRTRK).
      
      blank
      Nada de especial.
 
A localização do cursor e a janela braille são apresentados de uma 
maneira interessante. Os pontos 1 a 6 representam o número da linha com 
uma carta de a (para 1) por y (para 25). Os pontos 7 e 8 (os dois extra 
na parte inferior) representam o número janela horizontal braille como 
segue:

      No Dots
A primeira janela (à esquerda).
      
      Dot 7
      A segunda janela.
      
      Dot 8
      A terceira janela.
      
      Dots 7 e 8
      A quarta janela.

Em ambos os casos, os indicadores guardados: a linha 26 é representado 
pela letra A, e a quinta janela horizontal braille é representado por 
nenhum ponto, na parte inferior.  
 
Tieman 
 
As células de status devem conter:

      1-2: As colunas (contando a partir 1) do cursor (como mostrado na 
metade superior das células) e no canto superior esquerdo da janela do 
braille (mostrado na metade inferior das células).
       
      3-4: As linhas (contando a partir 1) do cursor (como mostrado na 
metade superior das células) e no canto superior esquerdo da janela do 
braille (mostrado na metade inferior das células).
       
      5: Cada ponto indica se um recurso é ativado como se segue:

      Dot 1: A imagem da tela é congelada (veja o comando FREEZE).
       
      Dot 2: atributos da tela estão sendo exibidos (veja o comando 
DISPMD).
       
      Dot 3: Alerta músicas estão sendo tocadas (veja o comando TUNES).
       
      Dot 4: O cursor está sendo mostrado (veja o comando CSRVIS).
       
      Dot 5: O cursor é um bloco sólido (veja o comando CSRSIZE).
       
      Dot 6: O cursor está piscando (veja o comando CSRBLINK).
       
      Dot 7: O cursor está a ser controlado (veja o comando CSRTRK).
       
      Dot 8: A janela vai deslizar braille (veja o comando SLIDEWIN).
 
PowerBraille 80 
 
As células status conter:

1: A linha (contando a partir de 1) correspondente à parte superior 
da janela em braille. Os dígitos das dezenas é mostrado na metade 
superior da pilha, e os dígitos das unidades é apresentada na 
metade inferior da célula.
 
Generic
 
Esta definição passa um monte de informações para o driver braille, e o 
driver decide forma de apresentá-lo.
   
MDV 
 
As células de status devem conter:

      1-2: A localização do canto superior esquerdo da janela do braille.
      A linha (contando a partir de 1) é mostrado na metade superior das
      células, e na coluna (contando a partir de 1) é mostrado na metade
      inferior das células.
 
Voyager
 
As células de status devem conter:

1: A linha (contando a partir de 1) correspondente à parte superior 
da janela braille (ver below).

2: A linha (contando a partir de 1) onde o cursor está (veja 
below).
3: Se a tela está congelada (veja o comando FREEZE), depois a letra 
F. Se não for, então a coluna (contando a partir de 1) onde está o 
cursor (veja below).

Os números de linhas e colunas são mostrados os números de dois dígitos 
em uma única célula. Os dígitos das dezenas são mostrados na metade 
superior da pilha, e os dígitos das unidades são apresentadas na metade 
inferior da célula.

A configuração inicial do driver de display Braille é dependente.
 
Text Table
 
Selecione a tabela de texto. Ver seção de Tabelas de Texto para mais 
detalhes. Veja a opção -t para a configuração inicial. Esta preferência 
não é salvo. 
 
Attributes Table
 
Selecione a tabela de atributos. Ver Tabela de Atributos. Veja a opção 
de linha de comando -t para a configuração inicial. Esta preferência não 
é salvo. 
 
Contraction Table
 
Selecione a tabela de contração. Ver Tabela de Contração. Consulte a 
linha de comando -c para a configuração inicial. Esta preferência não é 
salvo. 
 
Key Table 
Selecione a tabela chave. Ver Tabelas de Teclas. Consulte a linha de 
comando -k para a configuração inicial. Esta preferência não é salvo. 
 
Notas:

      · Todos os parâmetros de tempo em centésimos de segundo. Eles são
      múltiplos do intervalo da janela de atualização braille (veja a
      linha de comando -u) dentro da faixa de 1 a 100.
       
5.6 Status do Display
 
O status do display é um resumo do estado atual BRLTTY, que se encaixa 
totalmente dentro da janela do braille. Alguns displays braille têm um 
conjunto de células de status que são usados para exibir permanentemente 
algumas dessas informações, bem como (consulte a documentação para o 
driver do display). Os dados apresentados por este display não são 
estáticos, e podem ser alteradas a qualquer momento, em resposta a tela 
de atualizações e/ou comandos BRLTTY. 
 
Use o comando INFO para alternar para a exibição de status, e usá-lo 
novamente para retornar para a tela. O layout das informações contidas 
está dependente do tamanho da janela do braille. 
 
5.6.1 Display com 21 células ou mais 
 
Pneumáticos curta têm sido utilizados, apesar de serem um tanto 
enigmática, a fim de mostrar o layout da coluna precisa.
      wx:wy cx:cy vt tcmfdu

wx:wy 
A coluna e linha (contando a partir de 1) na tela correspondente ao 
canto superior esquerdo da janela do braille. 
 
cx:cy 
A coluna e linha (contando a partir de 1) sobre a tela 
correspondente à posição do cursor. 
 
vt 
O número (contando a partir 1) do terminal virtual atual. 
 
t 
O estado do recurso de controle de cursor (veja o comando CSRTRK).

      blank
      controle de cursor está off.
       
      t
      controle de cursor está on.
 
c 
O estado dos recursos visibilidade do cursor (ver o CSRVIS e 
CSRBLINK).

      blank
      O cursor não estiver visível, e não piscar quando se faz visível.
   
      b
      O cursor não é visível, e começa a piscar quando se faz visível.
   
      v
      O cursor é visível, e não está piscando.
   
      B
      O cursor é visível e está piscando.
 
m 
O modo de exibição atual (veja o comando DISPMD).

      t
      Tela de conteúdo (texto) está sendo exibido.
  
      a
      Tela de realce (atributos) está sendo exibido.
 
f 
O estado do recurso de tela congelada (veja o comando FREEZE).

      blank
      A tela não está congelada.

d 
O número de pontos braille sendo usado para exibir cada caracter 
(veja o comando SIXDOTS).

      8
      Todos os oito pontos estão sendo usados.
       
      6
      Somente pontos 1 a 6 estão sendo usados.
 
u 
O estado da maiúscula (letra maiúscula) apresentam características 
(veja o comando CAPBLINK).

      blank
      Letras maiúsculas não piscar.

      B
      Piscar letras maiúsculas.

5.6.2 Display com 20 células ou menos 
 
Pneumático curto têm sido utilizados, apesar de serem um tanto 
enigmática, a fim de mostrar o layout da coluna precisa.

      xxyys vt tcmfdu
 
xx 
As colunas (contando a partir de 1) sobre a tela correspondente à 
posição do cursor (como mostrado na metade superior das células) e 
para o canto superior esquerdo da janela do braille (mostrado na 
metade inferior das células). 
 
yy 
As linhas (contando a partir de 1) sobre a tela correspondente à 
posição do cursor (como mostrado na metade superior das células) e 
para o canto superior esquerdo da janela do braille (mostrado na 
metade inferior das células). 
 
s 
As definições de algumas das características do BRLTTY. Um recurso 
é ativado se o ponto correspondente é gerado.

      Dot 1: Congela a imagem da tela (veja o comando FREEZE).
       
      Dot 2: Mostrar atributos (veja o comando DISPMD).
       
      Dot 3: Tunes de alerta (veja o comando TUNES).
       
      Dot 4: Cursor visível (veja o comando CSRVIS).
       
      Dot 5: Bloco de cursor (veja o comando CSRSIZE).
       
      Dot 6: Cursor piscando (veja o comando CSRBLINK).
      
      Dot 7: Cursor de monitoramento (veja o comando CSRTRK).
       
      Dot 8: Janela deslizante (veja o comando SLIDEWIN).
 
vt 
O número (contando a partir 1) do terminal virtual atual. 
 
t 
O estado do recurso de controle de cursor (veja o comando CSRTRK).

      blank
      Controle de cursor está off.

      t
      Controle cursor está on.
 
c
O estado dos recursos visibilidade do cursor (ver o CSRVIS e 
CSRBLINK).

      blank
      O cursor não estiver visível, e não piscar quando se faz visível.
	
      b
      O cursor não é visível, e começa a piscar quando se faz visível.
   
      v
      O cursor é visível, e não está piscando.
   
      B
      O cursor é visível e está piscando.
 
m 
O modo de exibição atual (veja o comando DISPMD).

      t
      Tela de conteúdo (texto) está sendo exibido.
   
      a
      Tela de realce (atributos) está sendo exibido.
 
f 
O estado do recurso de tela congelada (veja o comando FREEZE).

      blank
      A tela não está congelada.

      f
      A tela está congelada.
 
d 
O número de pontos braille sendo usado para exibir cada caracter 
(veja o comando SIXDOTS).

      8
      Todos os oito pontos estão sendo usados.

      6
      Somente pontos 1 a 6 estão sendo usados.
 
u 
O estado da maiúscula (letra maiúscula) apresentam características 
(veja o comando CAPBLINK).

      blank
      Letras maiúsculas não piscar.
   
      B
      Piscar letras maiúsculas.
       
5.7 Comando de Modo de Aprendizagem
 
Comando modo de aprendizagem é uma forma interativa de aprender o que as 
teclas no visor do Braille faz. Pode ser acessado tanto pelo comando 
LEARN ou através do utilitário brltest. Esse recurso não estará 
disponível se a opção de compilação --disable-learn-mode foi 
especificado. 
 
Quando este modo está inscrito, a mensagem command learn mode é escrita 
no display braille. Então, cada tecla (ou combinação de teclas) sobre a 
tela é pressionada, uma mensagem curta que descreva a sua função BRLTTY 
está escrito. Este modo sai imediatamente se a tecla (ou combinação de 
teclas) para o comando LEARN é pressionado. Ele sai automaticamente, e a 
mensagem done é escrita, se dez segundos transcorrer sem qualquer tecla 
no display sendo pressionado. Observe que alguns displays não têm sinal 
ao display e/ou alguns drivers não sinalizam BRLTTY até que todas as 
teclas são liberadas.
 
Se uma mensagem for maior que o display Braille, então é exibida em 
segmentos. O comprimento de cada segmento, mas o último é um a menos do 
que a largura do display, com o caracter mais à direita no visor a ser 
definida como um sinal de menos. Cada segmento se mantenha no visor seja 
por alguns segundos (veja a opção-M) ou até que qualquer tecla na tela é 
pressionada.

6  Tabelas

6.1 - Tabelas de Texto

Os arquivos com nomes no formato *. ttb são tabelas de texto, e com 
nomes no formato *.tti são textos subtabelados. Eles são usados pelo 
BRLTTY para traduzir os caracteres na tela em suas respectivas 
representações de 8 pontos no computador braille.

BRLTTY é inicialmente configurado para usar a tabela de texto North 
American Braille Computer Code(NABCC). Além desse padrão, as 
alternativas a seguir são fornecidas:

      Auto
      auto-seleção da localidade-base
       
      ar	Árabe (genérico)
       
      as	Assamês
       
      awa	Awadhi
       
      bg	Búlgaro

      bh	Bihari

      bn	Bengali

      bo	Tibetano

      bra	Braj (?Braj Bhasha )

brf	para visualização de arquivos. brf dentro de um editor ou 
pager

      cs	Checo
       
      cy	Galês
      
      da	Dinamarquês
      
      de	Alemão
      
      dra	Dravidianas
      
      el	Grego
      
      em	Inglês
      
      en_CA	Inglês (Canadá)

      en_UK	Inglês (Reino Unido)

      en_US	Inglês (Estados Unidos)

      en-nabcc	Inglês (North American Braille Computer Code)

      eo	Esperanto

      es	Espanhol
      
      et	Estoniano

      fi	Finlandes
      
      fr	Francês

      fr_CA	Francês (Canadá)

      fr_FR	Francês (França)

      fr_2007	Francês (unificado)

      fr-cbifs	Francês (Code Braille Informatique Français Standard)
      ga	Irlandês

      gd	Gaélico

      gon	Gondi

      gu	Guzerate

      he	Hebraico

      hi	Hindi

      hr	Croata

      hu	Húngaro
      
      hy	Armênio

      is	Islandes

      it	Italiano

      kha	Khasi

      kn	Canará

      kok	Concanis

      kru	Kurukh

      lt	Lituana

      lv	Letã

      mg	Malgaxe

      mi	Maori

      ml	Malaiala

      mni	Manipuri
      
      mr	Marati

      mt	Maltês

      mun	Mundari

      mwr	Marwari

      ne	Nepali

      new	Newari

      nl	Holandês

      nl_BE	Holandês (Bélgica)

      nl_NL	Holandês (Países Baixos)

      no	Norueguês

      no-generic	Norueguês (com suporte para outros idiomas)

      no-oub	Norueguês (Utvalg Offentlig para Blindeskrift)

      nwc	Antigo Newari

      or	Oriá

      pa	Panjabi

      pi	Páli

      pl	Polonês

      pt	Português

      ro	Romeno

      ru	Russo

      sa	Sânscrito

      sat	Santali

      sd	Sindi

      sk	Eslovaco

      sv	Sueco

      sw	Suaíli

      ta	Tâmil

      te	Telugu

      tr	Turco

      vi	Vietnamita

Veja a opção de linha de comando -t, a configuração text-table do 
arquivo de directiva, e a opção de construção --with-text-table para 
obter detalhes sobre como usar uma tabela de texto alternativo.
 
6.1.1	Tabela de Formato de Texto

A tabela de texto consiste em uma seqüência de directivas, um por linha, 
que definem como cada character é representado em braille. UTF-8 
caracter encoding deve ser usado. O espaço em branco (espaços, tabs) no 
início de uma linha, assim como antes e/ou após qualquer operando de 
qualquer directiva, é ignorado. Linhas que contêm apenas espaço em 
branco são ignoradas. Se o primeiro caráter não-espaço em branco antes 
de uma linha é "#" então essa linha é um comentário e é ignorado.
 
6.1.2	Tabela de Diretivas de Texto

As seguintes diretivas são fornecidas:
 
char character dots # comentários

Use a diretiva char para especificar como um caracter Unicode será 
representado em braille.
 
character

Os caracteres Unicode a serem definidos. Podem ser:

      · Qualquer caracter único que não seja uma barra-invertida ou um 
carácter de espaço em branco.

      · Um caracter especial prefixado de barra-invertida. São eles:

      \b
      Carácter de retrocesso.

      \f
      Carácter formfeed (quebra de página).

      \n
      Carácter de nova linha.

      \o###
      Representação de um carácter de três dígitos octal.

      \r
      Carácter de retorno de transporte.

      \s
      Carácter de espaço.

      \t
      Carácter de tab horizontal.

      \u####
      Representação de um carácter hexadecimal de quatro dígito.

      \U########
      Representação de um carácter hexadecimal de oito dígito.

      \v
      Carácter de tab horizontal.

      \x##
      Representação de um carácter hexadecimal de dois dígitos.

      \X##
      (o caso do X e dos dígitos não é significativa).
      
      f
      A tela está congelada.

      \#
      Um sinal de número literal.

      \<name>
      O nome Unicode de um carácter(use _ para espaço).

      \\
      Uma barra-invertida literal.
 
dots
A representação braille dos caracteres Unicode. É uma seqüência de 1-8 
números dos pontos. Se o número do ponto de seqüência é colocado entre 
parênteses, em seguida, os números dos pontos podem ser separados um do 
outro por espaço em branco. Um número de ponto é um dígito dentro do 
intervalo de 1-8, tal como definido pela Standard Braille Dot Numbering 
Convention. O ponto especial de número 0 não é reconhecido quando entre 
parênteses, e significa que não há pontos, não podendo ser usado em 
conjunto com qualquer outro número de pontos.
 
Exemplos
      · char a 1

      · char b (12)

      · char c ( 4 1 )

      · char \\ 12567

      · char \s 0

      · char \x20 ()

      · char \<LATIN_SMALL_LETTER_D> 145
 
byte byte dots # comment
Use a diretiva de byte para especificar como um carácter no conjunto de 
caracteres local está sendo representado em braille. Foi mantido para 
compatibilidade com versões anteriores, mas não deve ser usado. 
Carácteres Unicode devem ser definidos (através da diretiva char) para 
que a tabela de texto permanece válida, independentemente do qual 
conjunto de caracteres local usado.
 
byte
O caráter local a ser definido. Pode ser especificado da mesma forma 
como um operador character da diretiva char exceto que as formas 
específicas de Unicode (\u,\U,\<) não podem ser utilizados.
 
dots
A representação braille do carácter local. Pode ser especificado da 
mesma forma como operando dots da directiva char.
 
include file # comment
Use a diretiva include para incluir o conteúdo de um texto subtabelado. 
Ele é recursivo, o que significa que qualquer texto subtabelado pode-se 
incluir ainda em outro texto subtabela. Cuidados devem ser tomados para 
garantir que "include loop" não seja criado.
 
file
O arquivo a ser incluído. Pode ser um relativo ou um caminho absoluto. 
Se relativo, ele está ancorada no diretório contendo o arquivo incluido.

6.2 Tabela de Atributos

Os arquivos com nomes no formato *.atb são tabelas de atributos, e com 
nomes no formato *.ati são atributos subtabelas. Eles são usados quando 
BRLTTY é mostrado na tela de atributos e não o conteúdo da tela (veja o 
comando DISPMD). Cada um dos oito pontos braille representa um dos oito 
bits de atributo VGA.

Os seguintes atributos são fornecidas: 
 
attributes

A coluna da esquerda representa as cores de primeiro plano:

      Dot 1		Red

      Dot 2		Green

      Dot 3		Blue

      Dot 7		Bright

A coluna do lado direito representa as cores de fundo:

      Dot 4		Red

      Dot 5		Green

      Dot 6		Blue

      Dot 8		Blink

Um ponto é levantado quando o bit de atributo correspondente está 
ligado. Este é o padrão da tabela de atributos, pois é a mais intuitiva. 
Um dos seus problemas, porém, é que é difícil discernir a diferença 
entre normal (branco sobre fundo preto) e inversa (preto sobre fundo 
branco) vídeo.
 
attrib
A coluna da esquerda representa as cores de primeiro plano:

      Dot 1		Red

      Dot 2		Green
      Dot 3		Blue

      Dot 7		Bright

A coluna do lado direito representa as cores de fundo:

      Dot 4		Red

      Dot 5		Green

      Dot 6		Blue

      Dot 8		Blink

Um bit de fundo desencadeará seus pontos correspondentes, enquanto que 
um bit de primeiro plano desencadeará seus correspondentes pontos. Essa 
lógica intuitiva realmente torna mais fácil de ler as combinações de 
atributos mais comumente usados.

Veja a opção de linha de comando -a, a diretiva de arquivo de 
configuração attributes-tables, e a opção de criação --with-attributes-
table para obter detalhes sobre como usar uma tabela de atributos 
alternativos.
 
6.2.1	Tabela de Formatos dos Atributos

Uma tabela de atributos consiste em uma seqüência de diretivas, um por 
linha, que definem como as combinações de atributos VGA estão sendo 
representados em braile. Caracteres UTF-8 devem ser utilizados. O espaço 
em branco (espaços, tabs) no início de uma linha, assim como antes e/ou 
após qualquer operando de qualquer diretiva, é ignorado. Linhas que 
contêm apenas espaço em branco são ignoradas. Se o caráter não-espaço em 
branco antes de uma linha for "#" então essa linha é um comentário e é 
ignorado.
 
6.2.2	Tabela de Diretórios dos Atributos

As seguintes diretivas são fornecidas:
 
dot dot state # comment
Use a diretiva dot para especificar o que um determinado ponto 
representa.

dot
O ponto a ser definido. É um único dígito no intervalo 1-8, tal como 
definido pela Standard Braille Dot Numbering Convention.

state
O que o ponto representa. Pode ser:

      =attribute
      O ponto é levantado se o atributo nome está on.

      ~attribute
      O ponto é levantado se o atributo nome está off.

Os nomes dos bits de atributo são:

      0X01		fg-blue

      0X02		fg-green

      0x04		fg-red

      0x08		fg-bright

      0X10		bg-blue

      0x20		bg-green

      0x40		bg-red

      0x80		blink
 
Exemplos:

      · dot 1 =fg-red
      · dot 2 ~bg-blue
 
include file # comment
Use a diretiva include para incluir o conteúdo de um atributos 
subtabela. Ele é recursivo, o que significa que os atributos subtabela 
pode-se incluir ainda em outros atributos subtabela. Cuidados devem ser 
tomados para garantir que "include loop" não seja criado.

file
O arquivo a ser incluído. Pode ser um relativo ou um caminho absoluto. 
Se relativo, ela está ancorada no diretório contendo o arquivo 
incluindo.

6.3 Tabela de Contração

Os arquivos com nomes no formato *.ctb são tabelas de contração, e com 
nomes no formato *.cti são subtabelas de contração. Eles são usados pelo 
BRLTTY para traduzir as seqüências de caracteres na tela em suas 
respectivas representações contração em braille.

BRLTTY apresenta contração em braille se:

      · A tabela de contração foi selecionada. Consulte a opção de linha 
de comando -c e as diretivas do arquivo de configuração contraction-
table para obter mais detalhes.
      · O recurso 6-dot braille foi ativado. Veja o comando SIXDOTS e o 
Text Style para mais detalhes.

Esse recurso não estará disponível se a opção de construção --disable-
contracted-braille foi especificada.

As seguintes tabelas de contração são fornecidas:

      af	Afrikaans (contracionado)

      am	Amharic (não-contracionado)

      de-basis			German (não-contracionado)

      de-kurzschrift    	German (contracionado - padrão1998)

      de-vollschrift    	German (contrações básicas)

      en-ueb-g2			Unified English Braille (grau 2)

      en-us-g2			American English (grau 2)

      es				Spanish (grau 2)

      fr-abrege			French (contracionado)

fr-integral		French (não-contracionado) 

ha				Hausa (contracionado)

      id				Indonesian (contracionado)

      já			     Japanese (não-contracionado)

      ko-g1				Korean (grau 1)

      ko-g2				Korean (grau 2)

      ko				Korean (não-contracionado)

      mg				Malagasy (contracionado)

      mun				Munda (contracionado)

      nl				Dutch (contracionado)

      ny				Chichewa (contracionado)

      ipa				International Phonetic Alphabet

      pt				Portuguese (grau 2)

      si				Sinhalese (não-contracionado)

      sw				Swahili (contracionado)

      th				Thai (contracionado)

      zh-tw				Taiwanese Chinese (não-contracionado)

      zh-tw-ucb			Taiwanese Chinese (Unique Chinese Braille)

      zu				Zulu (contracionado)

Veja a opção de linha de comando -c, e as diretivas do arquivo de 
configuração contraction-table para obter detalhes sobre como usar uma 
tabela de contração.
 
6.3.1 Tabela de Formato de Contração

Uma tabela de contração consiste de uma seqüência de entradas, uma por 
linha, que define como as seqüências de caracteres devem ser 
representadas em Braille. Caracteres UTF-8 devem ser usados. O espaço em 
branco (espaços, tabs) no início de uma linha, assim como antes e/ou 
depois de qualquer operando, é ignorado. Linhas que contêm apenas espaço 
em branco são ignoradas. Se o caráter não-espaço em branco antes de uma 
linha é "#" então essa linha é um comentário e é ignorado.

O formato de uma entrada na tabela de contração é:

      directive operand ... [comment]

Cada diretiva tem um número específico de operandos. Qualquer texto além 
do último operando de uma diretiva é interpretado como um comentário. A 
ordem das entradas dentro de uma tabela de contração é, em geral, tudo o 
que é conveniente para seu mantenedor (s). Uma entrada que define uma 
entidade, e.g. class, deve preceder todas as referências a essa 
entidade.

Entradas que combinam sequências de caracteres são automaticamente 
rearranjadas do maior para o menor, de modo que o maior sempre é 
preferível. Se mais uma entrada corresponde a seqüência de caracteres, 
então a sua tabela original de ordenação é mantida. Assim, a mesma 
seqüência pode ser traduzida de forma diferente em circunstâncias 
diferentes.
 
6.3.2	Tabela de Operandos de Contração 
 

characters
O primeiro operando de uma seqüência de caracteres correspondente as 
diretivas e a seqüência de caracteres a ser correspondida. Cada carácter 
dentro da seqüência pode ser:

      · Qualquer caracter único que não seja uma barra-invertida ou um 
carácter de espaço em branco.

      · Um caracter especial prefixado de barra-invertida. São eles:

      \b
      Carácter de retrocesso.

      \f
      Carácter formfeed (quebra de página).

      \n
      Carácter de nova linha.

      \o###
      Representação de um carácter de três dígitos octal.

      \r
      Carácter de retorno de transporte.

      \s
      Carácter de espaço.

      \t
      Carácter de tab horizontal.

      \u####
      Representação de um carácter hexadecimal de quatro dígito.

      \U########
      Representação de um carácter hexadecimal de oito dígito.

      \v
      Carácter de tab horizontal.

      \x##
      Representação de um carácter hexadecimal de dois dígitos.

      \X##
      (o caso do X e dos dígitos não é significativa).

      \#
      Um sinal de número literal.

      \<name>
      O nome Unicode de um carácter(use _ para espaço).

      \\
      Uma barra-invertida literal.
 


representation
O segundo operando dessa seqüência de caracteres correspondentes a 
diretivas que tem uma representação braille da seqüência. Cada célula 
braille é especificada como uma seqüência de 1-8 números de pontos. Um 
número de ponto é um dígito dentro do intervalo 1-8, tal como definido 
pela Standard Braille Dot Numbering Convention. O número de ponto 
especial 0, que não pode ser usado em conjunto com qualquer outro número 
de pontos, significa que não há pontos.
 
6.3.3 Opcodes

Um opcode é uma palavra-chave que diz o tradutor como interpretar os 
operandos. Os opcodes são agrupados aqui por função.
 
6.3.3.1 Administração de Tabela

Estes opcodes torna mais fácil de escrever as tabelas contração. Eles 
não têm nenhum efeito direto sobre a tradução de caracteres.

include path

Incluir o conteúdo de outro arquivo. Codificação pode ser em qualquer 
profundidade. Os caminhos relativos são ancorados no diretório do 
arquivo incluído.

locale locale

Define a localidade para a interpretação de carácteres (letras 
minúsculas, maiúsculas, números, etc.) O local pode ser especificado 
como:

language[_country][.charset][@modifier]

O componente language é necessário e deverá ser um código de duas letras 
para línguas no padrão ISO-639. O componente country é opcional e deverá 
ser um código de duas letras no padrão ISO-3166. O componente charset é 
opcional e deve ser um nome de conjunto de caracteres, e.g. ISO-8859-1.

C
7-bit ASCII.

-
Sem localidade.

A última especificação de localidade se aplica à tabela inteira. Se este 
opcode não for usado, a localidade C é assumida.
 
6.3.3.2 Definição de símbolo especial

Estes opcodes definem símbolos especiais que devem ser inseridos no 
texto em braile, a fim de esclarecê-lo.

      capsign dots
      O símbolo que capitaliza uma única letra.

      begcaps dots
O símbolo que se inicia um bloco de letras maiúsculas em uma 
palavra.

      endcaps dots
      O símbolo que termina um bloco de letras maiúsculas em uma palavra.

      letsign dots
      O símbolo que marca uma carta que não faz parte de uma palavra.

      numsign dots
      O símbolo que marca o início de um número.
 
6.3.3.3 Tradução de Carácter

Estes opcodes definem as representações braille para sequências de 
carácteres. Cada um deles define uma entrada na tabela de contração. 
Essas entradas podem ser definidas em qualquer ordem, exceto, como 
indicado abaixo, quando definem representações alternativas para a 
seqüência da mesma natureza.

Cada um desses opcodes possui um carácter operando (que deve ser 
especificado como uma string), e uma condição embutida que regem a sua 
elegibilidade para o uso. O texto é processado estritamente de esquerda 
para a direita, caractere por caractere, com a entrada mais elegível 
para cada posição a ser utilizada. Se houver mais de uma entrada 
elegível para uma determinada posição, então aquele com a maior cadeia 
de caractere é usado. Se houver mais de uma entrada elegível para a 
mesma string de caracteres, então a uma definição mais próxima do início 
da tabela é usada (isso é a dependência de ordem única).

Muitos desses opcodes têm um dot operando que define a representação 
braille para seu operando characters. Também pode ser especificado como 
um sinal de igual (=), caso em que significa uma de duas coisas. Se a 
entrada é para um único carácter, então isso significa que a atual 
representação braille selecionada no computador (ver a opção de linha de 
comando -t e a diretiva text-table do arquivo de configuração) para que 
o caráter é para ser usado. Se é para uma seqüência de multi-caráteres, 
então a representação padrão para cada caracter (veja always) dentro da 
seqüência deve ser usada.

Alguns termos especiais são usados nas descrições desses opcodes.

      word
      Uma seqüência máxima de uma ou mais letras consecutivas.

Agora, finalmente, aqui está a descrição opcode:

      literal characters
Traduz toda a seqüência de caracteres delimitada por espaço em 
branco no braille do computador (ver a opção de linha de comando -t 
e a diretiva text-table do arquivo de configuração).

      replace characters characters
Substitui o primeiro conjunto de caracteres, não importa onde eles 
aparecem, com a segunda. Os carácteres substituídos não são 
reprocessado.

      always characters dots
Traduz os carácteres, não importa onde eles aparecem. Se há apenas 
um carácter, então, além disso, defini a representação padrão para 
esse carácter.

      repeatable characters dots
Traduz os carácteres, não importa onde eles aparecem. Ignora 
quaisquer repetições consecutivas da mesma sequência.

      largesign characters dots
Traduz os personagens, não importa onde eles aparecem. Retira os 
espaço em branco entre as palavras consecutivas acompanhado por 
este opcode.

      lastlargesign characters dots
Traduz os carácteres, não importa onde eles aparecem. Remove o 
espaço em branco anterior se a palavra anterior foi acompanhado 
pelo opcode largesign.

      word characters dots
      Traduz os carácteres se eles são uma palavra.

      joinword characters dots
Traduz os carácteres se eles são uma palavra. Remove o seguinte 
espaço em branco se o primeiro caractere depois é uma letra.

      lowword characters dots
Traduz os carácteres se eles são uma palavra delimitada branco-
espaço.

      contraction characters
Prefixa os carácteres com um sinal de letra (veja letsign) se eles 
são uma palavra.

      sufword characters dots
Traduz os carácteres se eles são uma palavra ou no início de uma 
palavra.

      prfword characters dots
Traduz os carácteres se eles são uma palavra ou no final de uma 
palavra.

      begword characters dots
	Traduz os carácteres se eles estão no início de uma palavra.

	begmidword characters dots
Traduz os carácteres se eles estão ou no início ou no meio de uma 
palavra.

      midword characters dots
      Traduz os carácteres se eles estão no meio de uma palavra.

      midendword characters dots
Traduz os carácteres se eles estão ou no meio ou no final de uma 
palavra.

      endword characters dots
      Traduz os carácteres se eles estão no final de uma palavra.

      prepunc characters dots
Traduz os carácteres se eles são parte da pontuação no início de 
uma palavra.

      postpunc characters dots
Traduz os carácteres se eles são parte da pontuação no final de uma 
palavra.

      begnum characters dots
	Traduz os carácteres se eles estão no início de um número.

      midnum characters dots
	Traduz os carácteres se eles estão no meio de um número.

      endnum characters dots
	Traduz os carácteres se eles estão no final de um número.
 
6.3.3.4 Classes de Caracteres

Estes opcodes definem e usam classes de carácteres. Uma classe de 
caracteres associa um conjunto de carácteres com um nome. O nome, em 
seguida, refere-se a qualquer carácter dentro da classe. Um carácter 
pode pertencer a mais de uma classe.

As classes de carácteres a seguir são automaticamente pré-definicadas 
com base na localidade selecionada:

      digit
      Carácteres numéricos.

      letter
Ambas os caracteres maiúsculos e minúsculos do alfabeto. Algumas 
localidades têm letras adicionais que não são nem maiúsculas nem 
minúsculas.

      lowercase
	Carácteres do alfabeto em minúsculo.

      punctuation
Carácteres impresso que não são nem espaço em branco e nem 
alfanuméricos.

      space
Caracteres espaço em branco. Na localidade padrão, esses são: 
espaço, tabulações horizontal e vertical, de retorno de carro, a 
nova linha, formfeed(quebra de página).

      uppercase
      Carácteres do alfabeto em maiúsculo.

Os opcodes que definem e usam as classes de carácteres são:

      class name characters

Defini uma nova classe de carácter. Os carácteres operando devem 
ser especificados como uma string. Uma classe de caracter não pode 
ser utilizada até que ela seja definida.

      after class opcode ...
O opcode especificado é mais restrito na seqüência de caracteres 
correspondente e deve ser imediatamente precedido por um carácter 
que pertence à classe especificada. Se este opcode é usado mais de 
uma vez na mesma linha, então a união dos caracteres em todas as 
classes é usada.

      before class opcode ...
O opcode especificado é mais restrito na seqüência de caracteres 
correspondente e deve ser imediatamente seguido por um carácter que 
pertence à classe especificada. Se este opcode é usado mais de uma 
vez na mesma linha, então a união dos caracteres em todas as 
classes é usada.

       6.4 Tabelas de Teclas

Os arquivos com nomes no formato *. ktb são tabelas chaves, e com nomes 
no formato *. kti são subtabelas chaves. Eles são usados por BRLTTY para 
vincular ao display braille e ao teclado combinações de teclas para 
comandos do BRLTTY.

Os nomes dos display braille nos arquivos de tabela chaves começam com 
brl-xx-, onde xx é o código de duas letras de identificação do 
driver(driver identification code). O resto do nome identifica o modelo 
(s) para os quais a tabela chave é usada.

Os nomes dos teclados nos arquivos de tabela chaves começam com kbd-. O 
resto do nome descreve o tipo de teclado para qual a tabela chaves foi 
concebido.

Os seguintes teclados de tabela chaves são fornecidos:

      kbd-desktop
      ligações para teclado completo

      kbd-keypad
      ligações para navegação baseado em teclado numérico

      kbd-laptop
      ligações para teclados sem um teclado númerico

Consulte a opção de linha de comando -k e a directiva do arquivo de 
configuração key-table para obter detalhes sobre como selecionar uma 
tabela chaves do teclado.
 
6.4.1 Tabela de Diretivas de Teclas

Uma tabela chaves consiste em uma seqüência de diretivas, uma por linha, 
que definem como as teclas e combinações de teclas devem ser 
interpretadas. UTF-8 caracter encoding deve ser usado. O espaço em 
branco (espaços, tabs) no início de uma linha, assim como antes e/ou 
depois de qualquer operando, é ignorado. Linhas que contêm apenas espaço 
em branco são ignoradas. Se o caráter não-espaço em branco antes de uma 
linha é um sinal de número (#) então essa linha é um comentário e é 
ignorada.

A prioridade para a resolução de cada evento da tecla 
pressionada/liberada é a seguinte:

1. Uma hotkey pressionada ou liberação definida dentro do contexto 
atual. Veja a diretiva hotkey para mais detalhes.

2. A combinação de teclas definida dentro do contexto atual. 
Consulte a diretiva bind para detalhes.

3. Um comando do teclado braille definido dentro do contexto atual. 
Veja as directivas map e superimpose para mais detalhes.

4. A combinação de teclas definida dentro do contexto padrão. 
Consulte a diretiva bind para detalhes.

As diretrizes a seguir são fornecidas:

6.4.1.1 Atribuir Diretiva

Criar ou atualizar uma variável associada com o atual nível de incluir. 
A variável é visível para o atual e incluem os níveis mais baixos, mas 
não incluem os níveis mais elevados.

assign variable [value]

      variable
O nome da variável. Se a variável não existir no atual nível de 
incluir então ela é criada.

      value
O valor que será atribuído à variável. Se não for fornecido, então 
um valor de comprimento zero (nulo) é atribuído.

A seqüência de escape \{variable} é substituída com o valor da variável 
chamada dentro das chaves. A variável deve ter sido definida no atual ou 
um nível de incluir superior.

Exemplos:

      · assign nullValue

      · assign ReturnKey Key1

      · bind \{ReturnKey} RETURN
 
6.4.1.2 Diretiva de vínculo

Define quais comandos BRLTTY é executado quando uma combinação 
específica de uma ou mais teclas é pressionada. A ligação é definida 
dentro do contexto atual.

bind keys command


keys
A combinação de teclas que será vinculada. É uma seqüência de um ou mais 
nomes de chaves separadas pelo sinal de mais (+). O nome da chave 
final(ou única) pode ser opcionalmente prefixado com um ponto de 
exclamação (!). As chaves podem ser pressionadas em qualquer ordem, com 
a ressalva de que se o nome da chave final é prefixado com um ponto de 
exclamação em seguida, ele deve ser pressionado por último. O prefixo do 
ponto de exclamação significa que o comando é executado assim que a 
tecla é pressionada. Se não for utilizado, o comando é executado assim 
que qualquer uma das teclas é liberada.

command
O nome de um comando BRLTTY. Um ou mais modificadores podem ser 
opcionalmente anexado ao nome do comando, usando um sinal positivo (+) 
como separador.

Para comandos que ativa/desativa o recurso:

?	Se o modificador +on for especificado, o recurso está habilitado.
?	Se o modificador +off é especificada, o recurso está desativado.
?	Se nem +on ou +off é especificado, o estado do recurso é 
ativado/desativado.

Para comandos que mover a janela braille:

?	Se o modificador +route é especificado, então, se necessário, o 
cursor é automaticamente encaminhado para que fique sempre visível 
no display braille.

Para comandos que move a janela braille para uma linha específica na 
tela:

?	Se o modificador +toleft for especificado, a janela de braile 
também é movida para o início dessa linha.
?	Se o modificador +scaled é especificado, o conjunto de chaves 
vinculadas ao comando é interpretado como se fosse uma barra de 
rolagem. Se não for, então não há uma correspondência de um-para-um 
entre as teclas e linhas.

Para comandos que exigem um deslocamento:

O modificador +offset, onde offset é um número inteiro não negativo, 
pode ser especificado. Se não for fornecido, então +0 é assumido.

Exemplos:

?	bind Key1 CSRTRK

?	bind Key1+Key2 CSRTRK+off

?	bind Key1+Key3 CSRTRK+on

?	bind Key4 TOP

?	bind Key5 TOP+route

?	bind VerticalSensor GOTOLINE+toleft+scaled

?	bind Key6 CONTEXT+1
 
6.4.1.3 Diretiva de Contexto

Definir formas alternativas de interpretar certos acontecimentos-chave 
e/ou combinações. Um contexto contém as definições criadas pelas 
directivas bind, hotkey, map, e superimpose.
 
context identifier [title]
      identifier

Qual a definição posterior do contexto deve ser criada dentro. Podem 
ser:

      · Um desses nomes especiais:

default
O contexto padrão. Se a combinação de teclas não foi definida dentro do 
contexto atual, então a sua definição no contexto padrão é usado. Isso 
só se aplica as definições criadas pela diretiva de vinculo.

menu
Esse contexto é utilizado quando dentro do menu de preferências do 
BRLTTY.

· Um número inteiro no intervalo de 0 a 252. Contexto 0 é uma 
maneira alternativa para se referir ao contexto padrão. Os números 
mais altos de contexto devem ser evitados porque o maior número 
permitido está sujeito a alteração sem aviso prévio, se, por 
exemplo, os contextos mais nomeados são adicionados.

title
Uma descrição person-readable do contexto. Ele pode conter espaços, e as 
convenções de capitalização padrão deve ser usado. Este operando é 
opcional. Se for fornecido ao selecionar um contexto que já tem um 
título, então os dois devem coincidir.Contextos nomeado já tem títulos 
internamente atribuídos. Contextos numéricos são inicialmente criados 
sem títulos.

Um contexto é criado a primeira vez que ele é selecionado. Pode ser re-
selecionado qualquer número de vezes depois disso.

Todas as definições subseqüentes até a próxima diretiva context ou no 
final do corrente nível de incluir são criadas dentro do contexto 
selecionado. O contexto inicial de nível superior da tabela chave é 
padrão. O contexto inicial incluído em uma subtabela chave é o contexto 
que foi selecionado quando ele foi incluído. Contextos de mudanças 
incluídos dentro de subtabelas chaves não afetam o contexto da mesa, 
incluindo tabela chave ou subtabela.

Se um contexto tem um título (todos os contextos nomeados e os contextos 
numérico para o qual o operando title foi fornecido), então é 
persistente*. Quando um evento-chave faz com um contexto de persistência 
ser ativado, esse contexto atual permanece até que um evento posterior 
chave faz um contexto diferente persistente ser ativado.

Se um contexto não tem um título (os contextos numéricos para os quais o 
operando title não foi fornecido), então ele é temporário. Quando um 
evento chave provoca um contexto temporário a ser ativado, esse contexto 
só é usado para interpretar o evento chave mais próximo.

Exemplos:

      · context menu

      · context 1 Braille Input

      · context 2
 
6.4.1.4 Directiva de Ocultar

Especifica se deseja ou não certas definições (ver as diretivas, hotkey, 
map, e superimpose) e notas (ver a diretiva note) serão incluídas no 
texto da tabela de chave de ajuda.

      hide state

      state
      Uma dessas palavras-chaves:
       
on
      Estão excluídos.

      off
      Eles estão incluídos.

O estado especificado se aplica as todas as definições e notas 
subseqüentes até a próxima diretiva hide ou o fim do atual nível de 
incluir. O estado inicial da tabela chave de nível superior é off. O 
estado inicial incluído em uma subtabela chave é o estado que foi 
selecionado quando ele foi incluído. Mudanças de estado incluídos dentro 
de uma subtabelas chave não afetam o estado incluindo na tabela chave ou 
subtabela.

Exemplo:

      ·  hide on
 
6.4.1.5 Diretiva de Hotkey

Vincula os eventos press e release de uma tecla específica para dois 
comandos separados BRLTTY. Os vinculos são definidas dentro do contexto 
atual.
 
hotkey key press release

      key
      O nome da tecla que será limitada.

      press
O nome do comando BRLTTY que deve ser executado sempre que a tecla 
é pressionada.

      release
O nome do comando BRLTTY que deve ser executado sempre que a tecla 
é liberada.

Modificadores podem ser acrescentados aos nomes de comando. Veja o 
operando command da diretiva bind para mais detalhes.

Especifique NOOP se nenhum comando será executado. Especificando NOOP 
para ambos os comandos efetivamente desativa a chave.
 
Exemplos:

      · hotkey Key1 CSRVIS+off CSRVIS+on

      · hotkey Key2 NOOP NOOP
 
6.4.1.6 Diretiva IfKey

Condicionalmente processo uma diretiva da tabela chave somente se o 
aparelho tem uma chave particular.
 
ifkey key directive
      
key
      O nome da chave, cuja disponibilidade está a ser testado.
      directive

A diretiva da tabela chave que deve ser condicionalmente processado.
 
Exemplos:

      · ifkey Key1 ifkey Key2 bind Key1+Key2 HOME
 
6.4.1.7 Diretiva Include

Processa as diretivas dentro de uma subtabela chave. É recursiva, o que 
significa que qualquer subtabela chave pode ser incluir ainda em outra 
subtabela chave. Cuidados devem ser tomados para garantir que "incluem 
loop" não seja criado.

      include file

      file
A subtabela chave que será incluída. Pode ser um caminho relativo 
ou absoluto. Se relativo está ancorado no diretório que contém a 
incluindo a tabela chave ou subtabela.

Exemplos:

?	include common.kti

?	include /path/to/my/keys.kti
 
6.4.1.8 Diretiva de Mapa

Mapeia uma tecla para uma função do teclado em braille. O mapeamento é 
definido dentro do contexto atual.
 
map key function
      
      key
O nome da tecla que será mapeada. Mais de uma tecla pode ser 
mapeada para a mesma função teclado em braille.

      function
O nome da função do teclado em braille. Pode ser uma das seguintes 
palavras:

      DOT1
      O padrão braille do ponto superior esquerdo.

      DOT2
      O padrão braille do ponto do meio esquerdo.

      DOT3
      O padrão braille do ponto inferior esquerdo.

      DOT4
	O padrão braille do ponto superior direito.

      DOT5
	O padrão braille do ponto do meio direito.

      DOT6
	O padrão braille do ponto inferior direito.

      DOT7
	O ponto braille do computador inferior esquerdo.

      DOT8
	O ponto braille do computador inferior direito.

      SPACE
	A barra de espaço.

      SHIFT
      A tecla shift.

      UPPERCASE
Se uma letra minúscula está sendo inserido então traduzi para seu 
equivalente em maiúsculas.

      CONTROLE
	A chave de controle.

      META
	A tecla Alt esquerda.

Se a combinação de teclas consiste apenas de chaves que foram mapeadas 
para funções do teclado em braile, e se essas funções quando combinadas 
formam um comando de teclado braille válido, então o comando é executado 
logo que qualquer uma das teclas é liberado. Um comando de teclado 
braille válido deve incluir ou qualquer combinação dos pontos chaves ou 
a barra de espaço (mas não ambos). Se pelo menos um ponto chave é 
incluído, então as funções do teclado em braille especificados pelas 
diretivas superimpose dentro do mesmo contexto também estão 
implicitamente incluídos.

Exemplos:

      · map Key1 DOT1
 
6.4.1.9 Diretiva Note

Adiciona uma explicação person-readable para o texto de ajuda da tabela 
chaves. As notas são usadas, por exemplo, para descrever o 
posicionamento, tamanhos e formas das teclas do dispositivo.

      note text
      text
A explicação que será adicionada. Ele pode conter espaços, e deve 
ser gramaticalmente correta.

Cada nota especifica exatamente uma linha de texto explicativo. espaço à 
esquerda é tão ignorado recuo não pode ser especificado.

Não há limite para o número de notas que podem ser especificadas. Todos 
eles estão reunidos e apresentados em um único bloco no início do texto 
de ajuda da tabela chaves.
 
Exemplo:
note Key1 is the round key at the far left on the front surface.
 
6.4.1.10 Diretiva de sobreposição

Inclui implicitamente uma função do teclado sempre que um comando de 
teclado braille consiste em pelo menos um dot é executado. A inclusão 
implícita é definida dentro do contexto atual. Qualquer número deles 
pode ser especificado.
 
superimpose function
      function
O nome da função do teclado braille. Veja o operando function da 
diretiva map para detalhes.
 
Exemplo:
superimpose DOT7
 
6.4.1.11 Diretiva Title

Apresenta um resumo person-readable do propósito das tabelas chaves
 
title text
      text
Um resumo de uma linha de como a tabela chave é usado. Ele pode 
conter espaço, e as convenções de capitalização padrão deve ser 
usado.

O título da tabela chave pode ser especificado apenas uma vez.
 
Exemplo:
title Bindings for Keypad-based Navigation
 
6.4.2 Propriedades do Teclado

O padrão é que todos os teclados são monitorados. Um subconjunto de 
teclados pode ser selecionado por uma ou mais propriedades seguintes 
(veja a opção de linha de comando K, e a diretiva do arquivo de 
configuração keyboard-properties).

type
O tipo de barramento, especificado com uma das seguintes palavras-
chaves: any, ps2, usb, Bluetooth

vendor
Identificação do vendedor, especificado com um inteiro de 16-bits não 
sinalizado.

product
Identificação do produto, especificado com um inteiro de 16-bits não 
sinalizado.

Os identificadores vendor e product podem ser especificados em notação 
decimal (sem prefixo), octal( prefixado por 0), ou hexadecimal 
(prefixado por 0x). Especificando 0 significa corresponder a qualquer 
valor (como se a propriedade não foi especificada). 

7. Tópicos Avançados

7.1 Instalação de múltiplas versões
 
É fácil ter mais de uma versão do BRLTTY instalado no mesmo sistema ao 
mesmo tempo. Esse recurso permite que você teste uma nova versão antes 
de remover o antigo. 
 
A opção de compilação --with-execute-root permite que você instale a 
hierarquia de arquivo em qualquer lugar que você deseja. Lembrando que é 
melhor para manter todos os componentes BRLTTY dentro do sistema de 
arquivos root, você pode compila-los assim: 
 
. /configure --with-execute-root =/brltty-3.1 
make install 
 
Você pode executá-lo assim: 
 
   /brltty-3.1/bin/brltty 
 
Quando a versão 3.2 é liberado, basta instalá-lo em um local diferente e 
executar o novo arquivo executável a partir daí. 
 
  . /configure --with-execute-root =/brltty-3.2 
  make install 
  /brltty-3.2/bin/brltty 
 
Até agora, este paradigma é um pouco estranho, pelo menos, duas razões. 
Uma desses nomes é muito difícil de escrever, e o outro é que você não 
quer mexer com a seqüência de inicialização do sistema cada vez que você 
quiser mudar para uma versão diferente do BRLTTY. Estes problemas são 
facilmente resolvidos adicionando um link simbólico para o executável. 
 
   ln-s /brltty-3.1/bin/brltty /bin/brltty 
 
Quando é hora de mudar para a nova versão, apenas o link repoint 
symbolc. 
 
   ln-s /brltty-3.2/bin/brltty /bin/brltty 
 
Se você quiser ficar realmente, então inicie um outro nível de indireção 
para fazer todos os arquivos BRLTTY para qualquer versão que eles estão 
em todos os locais padrão. Primeiro, crie um link simbólico através de 
um local comum repointable de cada uma das localizações padrão de 
BRLTTY. 
 
       ln -s /brltty/bin/brltty /bin/brltty 
       ln -s /brltty/etc/brltty /etc/brltty 
       ln -s brltty /lib/brltty /lib/brltty 
 
Então, tudo que você precisa fazer é apontar /brltty a versão desejada. 
 
       ln -s /brltty-3.1 /brltty

7.2 Instalação/Ajuda dos Discos de root para o Linux
 
BRLTTY pode funcionar como um executável autônomo. Tudo o que ele 
precisa saber pode ser explicitamente configurado em tempo de compilação 
(veja Opções de Compilação). Se o diretório de dados (ver na opção de 
compilação --with-data-directory e --with-execute-root) não existir, 
então BRLTTY olha em /etc para os arquivos que ele necessita. Mesmo que 
nenhum destes arquivos não existem, BRLTTY ainda funciona! 
 
Se, por alguma razão, você já criou o diretório de dados (normalmente 
/etc/brltty), é importante definir suas permissões para que somente o 
root possa criar arquivos dentro dela. 
 
       chmod 755 /etc/brltty 
 
A tela do aparelho de inspeção de conteúdo (normalmente /dev/vcsa) é 
necessária. Ela já deve existir a menos que sua distribuição do Linux é 
bastante antiga. Se necessário, você pode criá-lo com: 
 
       mknod /dev/vcsa c 7 128 
       chmod 660 /dev/vcsa 
       chown root.tty /dev/vcsa 
 
Um problema freqüentemente encontrado ao tentar usar BRLTTY em um 
ambiente incerto como um disco de root ou de um sistema incompleto é que 
ela não pôde encontrar as bibliotecas compartilhadas (ou partes) de que 
necessita. Discos de root costumam usar subconjunto e/ou versões 
desatualizadas das bibliotecas que podem ser inadequados. A solução é 
configurar BRLTTY com a opção --enable-standalone-programs. Isso remove 
todas as dependências de bibliotecas compartilhadas, mas, infelizmente, 
também cria um arquivo executável maior. Há uma série de opções de 
compilação que pode ser usado para remover de recursos desnecessários do 
BRLTTY, a fim de atenuar um pouco esse problema (ver Build Features). 
 
O executável é eliminado durante o make install. Isto reduz 
significativamente o seu tamanho retirando sua tabela de símbolo. Você 
receberá um executável muito menor, portanto, se você concluir o 
processo de compilação completo, e depois copiá-lo de seu local 
instalado. Se, no entanto, copiá-lo do diretório de compilação, vai ser 
muito grande. Não se esqueça de tira-lo. 
 
 	strip brltty

7.3 - Melhorias futuras
 
Além de corrigir os erros e dar suporte a mais tipos de displays 
braille, esperamos, se o tempo permitir, trabalhar sobre o seguinte: 
 
Better Attribute Handling 

       * Acompanhamento de Atributo. 
       * Misto de texto e modo de atributo. 
 
Scroll Tracking 
Bloquear a janela de uma linha braille já que rola na tela. 
 
Better Speech Support
 
       * Braille mistos e de fala para leitura mais rápida do texto. 
       * Melhor navegação de speech. 
       * Mais sintetizadores de voz. 
 
Screen Subregions 
Ignorar o movimento do cursor fora da região, e definir limites de 
navegação suave nas bordas da região. 
 
Veja o arquivo TODO para uma lista mais completa.

7.4 Bugs conhecidos
 
No momento da escrita (dezembro 2001), os seguintes problemas são 
conhecidos: 
 
Cursor de roteamento é implementado como um looping do sub-processo que 
corre na prioridade reduzida para evitar o uso de muito tempo de CPU. Os 
diferentes sistemas que é carregado requer diferentes configurações de 
seus parâmetros. Os padrões funcionam muito bem em um editor de Unix 
típico de um sistema bastante leve, mas muito pobre em algumas outras 
situações, por exemplo, em um link lento de série para um host remoto. 

Apêndice:

A. Display Braille Suportados

       BRLTTY suporta os seguintes displays braille:

B. Sintetizadores de Fala Suportados:

       BRLTTY suporta os seguintes sintetizadores de fala:

      Nome             Modelos
  ____________________________________________________________
      Alva             Delphi (4nn)
      BrailleLite
      CombiBraille
      eSpeak           text to speech engine
      ExternalSpeech   runs /usr/local/bin/externalspeech
      Festival         text to speech engine
      FestivalLite     text to speech engine
      GenericSay       pipes to /usr/local/bin/say
      Mikropuhe        text to speech engine
      Swift            text to speech engine
      Theta            text to speech engine
      ViaVoice         text to speech engine

C  Código de Identificação de Driver
Código 
Nome
al
Alva
at
Albatross
ba
BrlAPI
bl
BrailleLite
bm
Baum (Native, HT, PB1, PB2)
bn
BrailleNote
cb
CombiBraille
ec
EcoBraille
es
eSpeak
eu
EuroBraille
fl
FestivalLite
fs
FreedomScientific
fv
Festival
gs
GenericSay
hm
HIMS
ht
HandyTech
il
IrisLinux
lb
Libbraille
lt
LogText
mb
MultiBraille
md
MDV
mn
MiniBraille
mp
Mikropuhe
mt
Metec
no
no driver
pg
Pegasus
pm
Papenmeier
sd
SpeechDispatcher
sk
Seika
sw
Swift
th
Theta
ts
Telesensory Systems Inc.
tt
TTY
vd
VideoBraille
vo
Voyager
vr
Virtual
vs
VisioBraille
vv
ViaVoice
xs
ExternalSpeech
xw
XWindow



D. Drivers de Tela Suportados

       BRLTTY suporta os seguintes drivers de tela:

       as AT-SPI

     	hd 
Este driver fornece um acesso direto para a tela do console Hurd. É só 
selecionar a opção padrão do sistema Hurd.

      Name                Models
    _____________________________________________________________
      Albatross           46/80
      Alva                ABT (3nn)
                          Delphi (4nn)
                          Satellite (5nn)
                          Braille System 40
                          Braille Controller 640/680
      Baum                Inka
                          Vario/RBT
                          SuperVario/Brailliant
                          PocketVario
                          VarioPro
                          EcoVario
                          VarioConnect/BrailleConnect
                          Refreshabraille
      BrailComm           III
      BrailleLite         18/40/M20/M40
      BrailleNote         18/32
      BrlAPI
      CombiBraille        25/45/85
      EcoBraille          20/40/80
      EuroBraille         AzerBraille
                          Clio
                          Iris
                          NoteBraille
                          Scriba
                          Esys 12/40
      FreedomScientific   Focus 1 44/70/84
                          Focus 2 40/80
                          Focus Blue 40
                          PAC Mate 20/40
      HandyTech           Modular 20/40/80
                          Modular Evolution 64/88
                          Active Braille
                          Braille Wave
                          Easy Braille
                          Braille Star 40/80
                          Bookworm
                          Braillino
      HIMS                Braille Sense
                          SyncBraille
      Libbraille
      LogText             32
      MDV                 MB208/MB408L/MB408S (protocol 5)
      Metec               BD-40
      MiniBraille         20
      MultiBraille        MB125CR/MB145CR/MB185CR
      Papenmeier          Compact 486
                          Compact/Tiny
                          IB 80 CR Soft
                          2D Lite (plus)
                          2D Screen Soft
                          EL 80
                          EL 2D 40/66/80
                          EL 40/66/70/80 S
                          EL 2D 80 S
                          EL 40 P
                          EL 80 II
                          Elba 20/32
                          Trio 40/Elba20/Elba32
      Pegasus             20/27/40/80
      Seika               40
      TSI                 Navigator 20/40/80
                          PowerBraille 40/65/80
      TTY                 terminfo
      VideoBraille        40
      Virtual             TCP/Unix, client/server
      VisioBraille        20/40
      Voyager             44/70
                          Part232 (serial adapter)
                          BraillePen/EasyLink
      XWindow             X11
                          Windows


      Code   Name
    ____________________________________________________
      al     Alva
      at     Albatross
      ba     BrlAPI
      bc     BrailComm
      bl     BrailleLite
      bm     Baum (Native, HT, PB1, PB2)
      bn     BrailleNote
      cb     CombiBraille
      ec     EcoBraille
      es     eSpeak
      eu     EuroBraille
      fl     FestivalLite
      fs     FreedomScientific
      fv     Festival
      gs     GenericSay
      hm     HIMS
      ht     HandyTech
      il     IrisLinux
      lb     Libbraille
      lt     LogText
      mb     MultiBraille
      md     MDV
      mn     MiniBraille
      mp     Mikropuhe
      mt     Metec
      no     no driver
      pg     Pegasus
      pm     Papenmeier
      sd     SpeechDispatcher
      sk     Seika
      sw     Swift
      th     Theta
      ts     Telesensory Systems Inc.
      tt     TTY
      vd     VideoBraille
      vo     Voyager
      vr     Virtual
      vs     VisioBraille
      vv     ViaVoice
      xs     ExternalSpeech
      xw     XWindow

lx 	 Este driver fornece um acesso direto no console do Linux. É só
       selecionar a opção padrão do sistema Linux.
      sc     Este driver fornece um acesso direto na tela do programa. Selecione
        todos os sistemas, na opção padrão se o driver de tela nativo é
        disponível. O caminho da tela que nós fornecemos (ver Subdiretório
        de Caminhos) deverá ser aplicado. Usado neste driver junto com o
        fato da tela deverá ser rodada concorrentemente, o BRLTTY faz o uso
        efetivo apenas depois do usuário ter logado.
      wn	Este driver fornece um acesso direto com o console do Windows. É só
            selecionado a opção padrão em Windows/Cygwin systems.

E. Sintaxe de Operação

E.1. Especificação do Driver

Um display braille ou um driver sintetizador de fala deverá ser especificado com 
duas letras código de identificação de driver.

Uma virgula delimita a lista de drivers especificada. Se isto está feito então a 
autodetecção é feita usando cada lista de drivers em seqüência. Você deverá 
precisar experimentar na ordem determinada como mais confiável quando alguns 
drivers autodetectados forem melhores que os outros.

Se uma única palavra auto é especificada quando a autodetecção é fornecida 
usando apenas aqueles drivers que são conhecidos é confiável nesse propósito.

E.2. Especificação do Dispositivo Braille

Em geral, a especificação do dispositivo Braille (ver linha de comando d, o 
arquivo de configuração braille-device, e na compilação a opção with-
braille-device) é qualificada: dado. Para ser compatível com versões 
anteriores, se a serial é assumida.

A seguir os tipos de dispositivos são suportados: 

	Bluetooth
Para o dispositivo bluetooth, especifica bluetooth:address (bt : pode ser 
usado). O endereço deverá ser seis pares de dígitos de hexadecimal 
separados por dois pontos, e.g. 01:23:45:67:89:AB.

	Serial
Para o dispositivo serial, especificado: /path/to/device. A serial é 
opcional (para compatibilidade anterior). Se um caminho relativo é dado 
enquanto o caminho é anexado em /dev (a localização onde os dispositivos 
são definidos no sistema unix). As especificações do dispositivo a seguir 
todas se referem para o primeiro dispositivo serial no Linux:

?	serial:/dev/ttyS0
?	serial:ttyS0
?	/dev/ttyS0
?	ttyS0

USB
Para o dispositivo USB, especificado USB: o BRLTTY será procurado pelo 
primeiro dispositivo USB que foi marcado pelo driver do display braille 
que está sendo usado. Se isto é inadequado, e.g. se você tem mais de um 
display braille USB que requer um mesmo driver, então você pode refinar a 
especificação do dispositivo por numero de serial visível no display, e.g. 
usb:12345. N.B.: A característica de identificação do numero serial não 
funciona em alguns modelos por causa de alguns fabricantes não setarem o 
numero serial USB em todos ou setam mais não com um único valor.

A virgula delimita a lista de dispositivos braille especificados. Se isso é 
feito enquanto a autodeteção é feita em cada lista de dispositivo em seqüência.
Este característica é particularmente usual se você tem um display braille com 
mais de uma interface, e.g. ambos uma serial e uma porta USB. No caso é 
usualmente melhor a lista de portas USB primeiro, e.g. usb:serial:/dev/ttyS0, de 

port.  In this case it's usually better to list the USB port first, desde que a 
autodeteção tende ser confiavel do que o esperado.

E.3. Especificação do Dispositivo PCM

Na maioria dos casos os dispositivos PCM é um caminho cheio e apropriado para o 
dispositivo do sistema. Exceções são: 

ALSA

O nome dos argumentos são dispositivos físicos e lógicos i.e. 
name[:argument,...].

O dispositivo PCM padrão é:

      Plataforma     Dispositivo
    _______________________________________________________
      FreeBSD        /dev/dsp
      Linux/ALSA     hw:0,0
      Linux/OSS      /dev/dsp
      NetBSD         /dev/audio
      OpenBSD        /dev/audio
      Qnx            preferred PCM output device
      Solaris        /dev/audio

E.4. Especificação do Dispositivo MIDI

Na maioria dos casos de dispositivos MIDI é um caminho completo e apropriado do 
para o dispositivo do sistema. Exceções são:

ALSA

O cliente e porta são separadas por uma virgula, i.e. client:port. Cada um deve 
ser especificado como um numero ou como um caso especial de substring do nome.

O dispositivo padrão MIDI é:

      Plataforma     Dispositivo
    ____________________________________________________________
      Linux/ALSA     the first available MIDI output port
      Linux/OSS      /dev/sequencer

F. Convenção do Padrão Braille para numeração

Um padrão braille de celulas consiste em 6 pontos para alinhados em 3 linhas e 2 
colunas. Cada ponto pode ser identificado por os números abaixo:

       1 Topo-esquerda (linha 1, coluna 1).

     	2 Meio-esquerda (linha 2, coluna 1).

     	3 Fim-esquerda (linha 3, coluna 1).

     	4 Topo-direita (linha 1, coluna 2).

      5 Meio-direita (linha 2, coluna 2).

      6 Fim-direita (linha 3, coluna 2).

  Display braille tem introduzido 40 linhas no fim.

     	7 Abaixo-esquerda (linha 4, coluna 1).

     	8 Abaixo-direita (linha 4, coluna 2).

  Talvez a imagem ficará mais facil de entender.

       1 o o 4
       2 o o 5
       3 o o 6
       7 o o 8

G. Código Norte-Americano do Padrão Braille

    Num Hex     Pontos     Descrição
  +-----------------------------------------------------------------+
  |   0  00  [7   4  8]  NUL (vazio)                                |
  |   1  01  [7  1   8]  SOH (inicio do cabeçalho)                  |
  |   2  02  [7 21   8]  STX (inicio do texto)                      |
  |   3  03  [7  14  8]  ETX (fim do texto)                         |
  |   4  04  [7  145 8]  EOT (fim da transmissão)                   |
  |   5  05  [7  1 5 8]  ENQ (pesquisa)                             |
  |   6  06  [7 214  8]  ACK (reconhecimento)                       |
  |   7  07  [7 2145 8]  BEL (campainha)                            |
  |   8  08  [7 21 5 8]  BS (back space)                            |
  |   9  09  [7 2 4  8]  HT (tab horizontal)                        |
  |  10  0A  [7 2 45 8]  LF (linha de avanço)                       |
  |  11  0B  [73 1   8]  VT (tab vertical)                          |
  |  12  0C  [7321   8]  FF (forma de avançar)                      |
  |  13  0D  [73 14  8]  CR (retorno)                               |
  |  14  0E  [73 145 8]  SO (shift out)                             |
  |  15  0F  [73 1 5 8]  SI (shift in)                              |
  |  16  10  [73214  8]  DLE (data link escape)                     |
  |  17  11  [732145 8]  DC1 (direct control 1)                     |
  |  18  12  [7321 5 8]  DC2 (direct control 2)                     |
  |  19  13  [732 4  8]  DC3 (direct control 3)                     |
  |  20  14  [732 45 8]  DC4 (direct control 4)                     |
  |  21  15  [73 1  68]  NAK (não reconhecimento)                   |
  |  22  16  [7321  68]  SYN (sincronização)                        |
  |  23  17  [7 2 4568]  ETB (fim do bloco de texto)                |
  |  24  18  [73 14 68]  CAN (cancela)                              |
  |  25  19  [73 14568]  EM (fim do meio)                           |
  |  26  1A  [73 1 568]  SUB (substituto)                           |
  |  27  1B  [7 2 4 68]  ESC (escape)                               |
  |  28  1C  [7 21 568]  FS (arquivo separador)                     |
  |  29  1D  [7 214568]  GS (grupo separador)                       |
  |  30  1E  [7   45 8]  RS (gravador separador)                    |
  |  31  1F  [7   4568]  US (unidade separador)                     |
  |  32  20  [        ]  espaço                                     |
  |  33  21  [ 32 4 6 ]  ponto de exclamação                        |
  |  34  22  [     5  ]  marcação de texto                          |
  |  35  23  [ 3  456 ]  simbolo do numero                          |
  |  36  24  [  214 6 ]  simbolo de dolar                           |
  |  37  25  [   14 6 ]  simbolo de porcento                        |
  |  38  26  [ 3214 6 ]  ampersand                                  |
  |  39  27  [ 3      ]  acento agudo                               |
  |  40  28  [ 321 56 ]  parenteses esquerdo                        |
  |   4  291  [ 32 456 ) parenteses direito                         |
  |  42  2A  [   1  6 ]  asterisco                                  |
  |  43  2B  [ 3  4 6 ]  sinal de mais                              |
  |  44  2C  [      6 ]  virgula                                    |
  |  45  2D  [ 3    6 ]  sinal de menos                             |
  |  46  2E  [    4 6 ]  ponto                                      |
  |  47  2F  [ 3  4   ]  contra barra                               |
  |  48  30  [ 3   56 ]  zero                                       |
  |  49  31  [  2     ]  um                                         |
  |  50  32  [ 32     ]  dois                                       |
  |  51  33  [  2  5  ]  três                                       |
  |  52  34  [  2  56 ]  quatro                                     |
  |  53  35  [  2   6 ]  cinco                                      |
  |  54  36  [ 32  5  ]  seis                                       |
  |  55  37  [ 32  56 ]  sete                                       |
  |  56  38  [ 32   6 ]  oito                                       |
  |  57  39  [ 3   5  ]  nove                                       |
  |  58  3A  [   1 56 ]  ponto e virgula                            |
  |  59  3B  [     56 ]  dois pontos                                |
  |  60  3C  [  21  6 ]  jacaré menos                               |
  |  61  3D  [ 321456 ]  igual                                      |
  |  62  3E  [ 3  45  ]  jacaré mais                                |
  |  63  3F  [   1456 ]  interrogação                               |
  |  64  40  [7   4   ]  e comercial                                |
  |  65  41  [7  1    ]  maiusculo a                                |
  |  66  42  [7 21    ]  maiusculo b                                |
  |  67  43  [7  14   ]  maiusculo c                                |
  |  68  44  [7  145  ]  maiusculo d                                |
  |  69  45  [7  1 5  ]  maiusculo e                                |
  |  70  46  [7 214   ]  maiusculo f                                |
  |  71  47  [7 2145  ]  maiusculo g                                |
  |  72  48  [7 21 5  ]  maiusculo h                                |
  |  73  49  [7 2 4   ]  maiusculo i                                |
  |  74  4A  [7 2 45  ]  maiusculo j                                |
  |  75  4B  [73 1    ]  maiusculo k                                |
  |  76  4C  [7321    ]  maiusculo l                                |
  |  77  4D  [73 14   ]  maiusculo m                                |
  |  78  4E  [73 145  ]  maiusculo n                                |
  |  79  4F  [73 1 5  ]  maiusculo o                                |
  |  80  50  [73214   ]  maiusculo p                                |
  |  81  51  [732145  ]  maiusculo q                                |
  |  82  52  [7321 5  ]  maiusculo r                                |
  |  83  53  [732 4   ]  maiusculo s                                |
  |  84  54  [732 45  ]  maiusculo t                                |
  |  85  55  [73 1  6 ]  maiusculo u                                |
  |  86  56  [7321  6 ]  maiusculo v                                |
  |  87  57  [7 2 456 ]  maiusculo w                                |
  |  88  58  [73 14 6 ]  maiusculo x                                |
  |  89  59  [73 1456 ]  maiusculo y                                |
  |  90  5A  [73 1 56 ]  maiusculo z                                |
  |  91  5B  [7 2 4 6 ]  colchete esquerdo                          |
  |  92  5C  [7 21 56 ]  barra invertida                            |
  |  93  5D  [7 21456 ]  colchete direito                           |
  |  94  5E  [7   45  ]  acento circunflexo                         |
  |  95  5F  [    456 ]  sobretraço                                 |
  |  96  60  [    4   ]  acento grave                               |
  |  97  61  [   1    ]  minusculo a                                |
  |  98  62  [  21    ]  minusculo b                                |
  |  99  63  [   14   ]  minusculo c                                |
  | 100  64  [   145  ]  minusculo d                                |
  | 101  65  [   1 5  ]  minusculo e                                |
  | 102  66  [  214   ]  minusculo f                                |
  | 103  67  [  2145  ]  minusculo g                                |
  | 104  68  [  21 5  ]  minusculo h                                |
  | 105  69  [  2 4   ]  minusculo i                                |
  | 106  6A  [  2 45  ]  minusculo j                                |
  | 107  6B  [ 3 1    ]  minusculo k                                |
  | 108  6C  [ 321    ]  minusculo l                                |
  | 109  6D  [ 3 14   ]  minusculo m                                |
  | 110  6E  [ 3 145  ]  minusculo n                                |
  | 111  6F  [ 3 1 5  ]  minusculo o                                |
  | 112  70  [ 3214   ]  minusculo p                                |
  | 113  71  [ 32145  ]  minusculo q                                |
  | 114  72  [ 321 5  ]  minusculo r                                |
  | 115  73  [ 32 4   ]  minusculo s                                |
  | 116  74  [ 32 45  ]  minusculo t                                |
  | 117  75  [ 3 1  6 ]  minusculo u                                |
  | 118  76  [ 321  6 ]  minusculo v                                |
  | 119  77  [  2 456 ]  minusculo w                                |
  | 120  78  [ 3 14 6 ]  minusculo x                                |
  | 121  79  [ 3 1456 ]  minusculo y                                |
  | 122  7A  [ 3 1 56 ]  minusculo z                                |
  | 123  7B  [  2 4 6 ]  chave esquerda                             |
  | 124  7C  [  21 56 ]  barra vertical                             |
  | 125  7D  [  21456 ]  chave direita                              |
  | 126  7E  [    45  ]  acento til                                 |
  | 127  7F  [7   456 ]  DEL (delete)                               |
  | 128  80  [    4  8]  <control>                                  |
  | 129  81  [   1   8]  <control>                                  |
  | 130  82  [  21   8]  BPH (break permitted here)                 |
  | 131  83  [   14  8]  NBH (no break here)                        |
  | 132  84  [   145 8]  <control>                                  |
  | 133  85  [   1 5 8]  NL (proxima linha)                         |
  | 134  86  [  214  8]  SSA (começa a seleção de area)             |
  | 135  87  [  2145 8]  ESA (fim de seleção de area)               |
  | 136  88  [  21 5 8]  CTS (seta tabulação de caracter)           |
  | 137  89  [  2 4  8]  CTJ (justifica tabulação de caracter)      |
  | 138  8A  [  2 45 8]  LTS (seta a tabulação de linha)            |
  | 139  8B  [ 3 1   8]  PLD (linha parcial para baixo)             |
  | 140  8C  [ 321   8]  PLU (linha parcial para cima)              |
  | 141  8D  [ 3 14  8]  RLF (reverse line feed)                    |
  | 142  8E  [ 3 145 8]  SS2 (single shift two)                     |
  | 143  8F  [ 3 1 5 8]  SS3 (single shift three)                   |
  | 144  90  [ 3214  8]  DCS (controle de dispositivo de string)    |
  | 145  91  [ 32145 8]  PU1 (uso privado um)                       |
  | 146  92  [ 321 5 8]  PU2 (uso privado dois)                     |
  | 147  93  [ 32 4  8]  STS (seta estado de transmissão)           |
  | 148  94  [ 32 45 8]  CC (cancela caracter)                      |
  | 149  95  [ 3 1  68]  MW (message waiting)                       |
  | 150  96  [ 321  68]  SGA (inicio da area protegida)             |
  | 151  97  [  2 4568]  EGA (fim da area protegida)                |
  | 152  98  [ 3 14 68]  SS (inicio da string)                      |
  | 153  99  [ 3 14568]  <controle>                                 |
  | 154  9A  [ 3 1 568]  SCI (introdução do caracter unico)         |
  | 155  9B  [  2 4 68]  CSI (introdução de controle de sequencia)  |
  | 156  9C  [  21 568]  ST (terminador de string)                  |
  | 157  9D  [  214568]  OSC (comando de operação de sistema)       |
  | 158  9E  [    45 8]  PM (mensagem privada)                      |
  | 159  9F  [    4568]  APC (comando de programa de aplicação)     |
  | 160  A0  [7      8]  sem quebra de espaço                       |
  | 161  A1  [732 4 6 ]  ponto de exclamação invertido		   |
  | 162  A2  [7 214 6 ]  simbolo do centavo                         |
  | 163  A3  [73  456 ]  simbolo da libra                           |
  | 164  A4  [7  14 6 ]  símbolo da moeda                           |
  | 165  A5  [73214 6 ]  simbolo do yen                             |
  | 166  A6  [7  1 56 ]  broken bar                                 |
  | 167  A7  [73   5  ]  section sign                               |
  | 168  A8  [7    5  ]  trema                                      |
  | 169  A9  [732  56 ]  simbolo de copyright                       |
  | 170  AA  [       8]  feminine ordinal indicator                 |
  | 171  AB  [7 21  6 ]  left-pointing double angle quotation mark  |
  | 172  AC  [7 2  56 ]  not sign                                   |
  | 173  AD  [73    6 ]  soft hyphen                                |
  | 174  AE  [732   6 ]  registered sign                            |
  | 175  AF  [7 2   6 ]  macron                                     |
  | 176  B0  [73   56 ]  degree sign                                |
  | 177  B1  [73  4 6 ]  plus-minus sign                            |
  | 178  B2  [732     ]  superscript two                            |
  | 179  B3  [7 2  5  ]  superscript three                          |
  | 180  B4  [73      ]  acute accent                               |
  | 181  B5  [7    56 ]  micro sign                                 |
  | 182  B6  [732  5  ]  pilcrow sign                               |
  | 183  B7  [7   4 6 ]  middle dot                                 |
  | 184  B8  [7     6 ]  cedilha                                    |
  | 185  B9  [7 2     ]  superscript one                            |
  | 186  BA  [7       ]  masculine ordinal indicator                |
  | 187  BB  [73  45  ]  right-pointing double angle quotation mark |
  | 188  BC  [7321 56 ]  vulgar fraction one quarter                |
  | 189  BD  [7321456 ]  vulgar fraction one half                   |
  | 190  BE  [732 456 ]  vulgar fraction three quarters             |
  | 191  BF  [7  1456 ]  interrogação invertida                     |
  | 192  C0  [732  5 8]  capital a grave                            |
  | 193  C1  [7  1  68]  capital a acute                            |
  | 194  C2  [7 2    8]  capital a circumflex                       |
  | 195  C3  [7    5 8]  capital a tilde                            |
  | 196  C4  [73214 68]  capital a diaeresis                        |
  | 197  C5  [73  45 8]  capital a ring above                       |
  | 198  C6  [73     8]  capital ae                                 |
  | 199  C7  [73  4 68]  capital c cedilla                          |
  | 200  C8  [732  568]  capital e grave                            |
  | 201  C9  [7 21  68]  capital e acute                            |
  | 202  CA  [732    8]  capital e circumflex                       |
  | 203  CB  [73214568]  capital e diaeresis                        |
  | 204  CC  [732   68]  capital i grave                            |
  | 205  CD  [7  14 68]  capital i acute                            |
  | 206  CE  [7 2  5 8]  capital i circumflex                       |
  | 207  CF  [7321 568]  capital i diaeresis                        |
  | 208  D0  [7     68]  capital eth                                |
  | 209  D1  [7   4 68]  capital n tilde                            |
  | 210  D2  [73   5 8]  capital o grave                            |
  | 211  D3  [7  14568]  capital o acute                            |
  | 212  D4  [7 2  568]  capital o circumflex                       |
  | 213  D5  [7    568]  capital o tilde                            |
  | 214  D6  [732 4 68]  capital o diaeresis                        |
  | 215  D7  [7  1  6 ]  simbolo de multiplicação                   |
  | 216  D8  [73  4  8]  capital o stroke                           |
  | 217  D9  [73   568]  capital u grave                            |
  | 218  DA  [7  1 568]  capital u acute                            |
  | 219  DB  [7 2   68]  capital u circumflex                       |
  | 220  DC  [732 4568]  capital u diaeresis                        |
  | 221  DD  [7 214 68]  capital y acute                            |
  | 222  DE  [73    68]  capital thorn                              |
  | 223  DF  [73  4568]  small sharp s                              |
  | 224  E0  [ 32  5 8]  small a grave                              |
  | 225  E1  [   1  68]  small a acute                              |
  | 226  E2  [  2    8]  small a circumflex                         |
  | 227  E3  [     5 8]  small a tilde                              |
  | 228  E4  [ 3214 68]  small a diaeresis                          |
  | 229  E5  [ 3  45 8]  small a ring above                         |
  | 230  E6  [ 3     8]  small ae                                   |
  | 231  E7  [ 3  4 68]  small c cedilla                            |
  | 232  E8  [ 32  568]  small e grave                              |
  | 233  E9  [  21  68]  small e acute                              |
  | 234  EA  [ 32    8]  small e circumflex                         |
  | 235  EB  [ 3214568]  small e diaeresis                          |
  | 236  EC  [ 32   68]  small i grave                              |
  | 237  ED  [   14 68]  small i acute                              |
  | 238  EE  [  2  5 8]  small i circumflex                         |
  | 239  EF  [ 321 568]  small i diaeresis                          |
  | 240  F0  [      68]  small eth                                  |
  | 241  F1  [    4 68]  small n tilde                              |
  | 242  F2  [ 3   5 8]  small o grave                              |
  | 243  F3  [   14568]  small o acute                              |
  | 244  F4  [  2  568]  small o circumflex                         |
  | 245  F5  [     568]  small o tilde                              |
  | 246  F6  [ 32 4 68]  small o diaeresis                          |
  | 247  F7  [73  4   ]  simbolo de divisão                         |
  | 248  F8  [ 3  4  8]  small o stroke                             |
  | 249  F9  [ 3   568]  small u grave                              |
  | 250  FA  [   1 568]  small u acute                              |
  | 251  FB  [  2   68]  small u circumflex                         |
  | 252  FC  [ 32 4568]  small u diaeresis                          |
  | 253  FD  [  214 68]  small y acute                              |
  | 254  FE  [ 3    68]  small thorn                                |
  | 255  FF  [ 3  4568]  small y diaeresis                          |
  +-----------------------------------------------------------------+

H. Tabela de Instrumento MIDI

Piano
0
Acoustic Grand Piano

1
Bright Acoustic Piano

2
Electric Grand Piano

3
Honkytonk Piano

4
Electric Piano 1

5
Electric Piano 2

6
Harpsichord

7
Clavi
Chromatic Percussion
8
Celesta

9
Glockenspiel

10
Music Box

11
Vibraphone

12
Marimba

13
Xylophone

14
Tubular Bells

15
Dulcimer
Organ
16
Drawbar Organ

17
Percussive Organ

18
Rock Organ

19
Church Organ

20
Reed Organ

21
Accordion

22
Harmonica

23
Tango Accordion
Guitar
24
Nylon Acoustic Guitar

25
Steel Acoustic Guitar

26
Jazz Electric Guitar

27
Clean Electric Guitar

28
Muted Electric Guitar

29
Overdriven Guitar

30
Distortion Guitar

31
Guitar Harmonics
Bass
32
Acoustic Bass

33
Finger Electric Bass

34
Pick Electric Bass

35
Fretless Bass

36
Slap Bass 1

37
Slap Bass 2

38
Synth Bass 1

39
Synth Bass 2
Strings
40
Violin

41
Viola

42
Cello

43
Contrabass

44
Tremolo Strings

45
Pizzicato Strings

46
Orchestral Harp

47
Timpani
Ensemble
48
String Ensemble 1

49
String Ensemble 2

50
Synth Strings 1

51
Synth Strings 2

52
Choir Aahs

53
Voice Oohs

54
Synth Voice

55
Orchestra Hit
Brass
56
Trumpet

57
Trombone

58
Tuba

59
Muted Trumpet

60
French Horn

61
Brass Section

62
Synth Brass 1

63
Synth Brass 2
Reed
64
Soprano Saxophone

65
Alto Saxophone

66
Tenor Saxophone

67
Baritone Saxophone

68
Oboe

69
English Horn

70
Bassoon

71
Clarinet
Pipe
72
Piccolo

73
Flute

74
Recorder

75
Pan Flute

76
Blown Bottle

77
Shakuhachi

78
Whistle

79
Ocarina
Synth Lead
80
Lead 1 (square)

81
Lead 2 (sawtooth)

82
Lead 3 (calliope)

83
Lead 4 (chiff)

84
Lead 5 (charang)

85
Lead 6 (voice)

86
Lead 7 (fifths)

87
Lead 8 (bass + lead)
Synth Pad
88
Pad 1 (new age)

89
Pad 2 (warm)

90
Pad 3 (polysynth)

91
Pad 4 (choir)

92
Pad 5 (bowed)

93
Pad 6 (metallic)

94
Pad 7 (halo)

95
Pad 8 (sweep)
Synth FM
96
FX 1 (rain)

97
FX 2 (soundtrack)

98
FX 3 (crystal)

99
FX 4 (atmosphere)

100
FX 5 (brightness)

101
FX 6 (goblins)

102
FX 7 (echoes)

103
FX 8 (science-fiction)
Ethnic
104
Sitar

105
Banjo

106
Shamisen

107
Koto

108
Kalimba

109
Bag Pipe

110
Fiddle

111
Shanai
Percussive
112
Tinkle Bell

113
Agogo

114
Steel Drum

115
Wooden Block

116
Taiko Drum

117
Melodic Tom

118
Synth Drum

119
Reverse Cymbal
Sound Effects
120
Guitar Fret Noise

121
Breath Noise

122
Seashore

123
Bird Tweet

124
Telephone Ring

125
Helicopter

126
Applause

127
Gunshot









