Console Toolkit

  • Autor: Tony Malykh
  • Baixar a versão estável
  • Compatibilidade com o NVDA: 2019.3 e posteriores

O Console Toolkit é um extra para o NVDA, que fornece melhorias de acessibilidade para a consola Windows, também conhecida como Command prompt. Também funciona bem no Windows PowerShell. Algumas das funcionalidades podem funcionar em terminais alternativos, tais como Cygwin, PuTTY e Windows Terminal, no entanto, o add-on só foi cuidadosamente testado com a Consola padrão do Windows. Os utilizadores do SSH podem achar este add-on especialmente útil.

Algumas das funcionalidades já faziam parte do Tony's Enhancements.

Downloads

Console toolkit

Lê a consola em tempo real

Esta opção faz com que o NVDA fale as novas linhas imediatamente à medida que elas aparecem na saída da consola, em vez de enfileirar novas expressões de voz. Por exemplo, se o NVDA estiver ocupado a falar uma linha que apareceu no ecrã há 1 minuto atrás, e agora aparece uma nova linha, esta opção irá cancelar a leitura da linha antiga e começará a falar a nova linha imediatamente, fornecendo assim um feedback mais em tempo real sobre o que está a acontecer na janela da consola.

Emitir um beep nas actualizações da consola

emite um beep de tom baixo cada vez que o texto da consola é actualizado.

força o uso de Control+V nas consolas

Esta opção faz do Control+V um atalho para trabalhar dentro das sessões ssh.

Experimental: edição de comandos do prompt

Nota: esta funcionalidade é experimental. Por favor leia atentamente esta secção e certifique-se de que compreende como funciona, antes de colocar questões.

Pressione NVDA+E para identificar o prompt actual na janela da consola e editá-lo numa janela acessível de "Editar prompt". Depois de editar pode pressionar Escape' para actualizar a linha de comando actual, ouEnter' para actualizar e executar imediatamente o comando. Em alternativa, pode pressionar Alt+F4 para fechar a janela de comandos de edição sem actualizar a linha de comandos.

Esta funcionalidade foi testada no prompt de comando do Windows cmd.exe bem como em bash shell sobre conexões ssh, bem como em WSL e cygwin. Pode também funcionar em alternativas de shells Unix, mas não foi testada.

Eis como o add-on extrai o comando actual.

  1. Pressiona a tecla "End" e depois envia um caracter de controlo, que é um caracter Unicode raro não susceptível de ser utilizado em qualquer lugar.
  2. Depois pressiona a tecla "home" e envia outro caracter de controlo.
  3. Depois espera que os caracteres de controlo apareçam no ecrã, o que pode demorar algum tempo em ligações SSH lentas.
  4. O Comando é o que aparece entre os dois caracteres de controlo.
  5. Quando a opção "Use UI Automation para aceder à consola do windows, quando disponível " está activada nas definições do NVDA, envia mais um caracter de controlo no início da cadeia de caracteres. Isto é necessário para analisar correctamente os comandos de várias linhas: A implementação da UIA a para os espaços em branco no final de cada linha, por isso, para deduzir se existe um espaço entre duas linhas, precisamos de os deslocar por um carácter. Note-se, contudo, que desta forma não preservamos o número de espaços entre palavras, apenas garantimos a preservação da presença de espaços.
  6. Antes de editar o suplemento, certifique-se de remover caracteres de controlo colocando o cursor no início e no fim e simulando as teclas "Apagar" e "retrocesso".
  7. Apresenta o comando na janela "Editar prompt" para o utilizador ver ou editar.
  8. Após o utilizador pressionar Enter ou Escape, primeiro apaga a linha actual na consola. Isto é conseguido através de um de quatro métodos, a escolha do método é configurável. Actualmente, são suportados quatro métodos:

    • Control+C: funciona tanto em cmd.exe como em bash, mas deixa o prompt anterior visível no ecrã; não funciona em emacs; por vezes não é fiável em ligações SSH lentas
    • Escape: funciona apenas em cmd.exe"),
    • Controlo+a Controlo+K': funciona em bash' eemacs'; não funciona em `cmd.exe'
    • Backspace (recomendado): funciona em todos os ambientes; mas pode causar lentidão e corrupção se o comprimento da linha tiver mudado
  9. Em seguida, o add-on simula teclas para digitar o comando actualizado e, opcionalmente, simula o pressiomanento deEnter.

Resolução de problemas:

  • Verifique se as teclas 'Home', 'End', 'Delete' e 'Backspace' funcionam como esperado na sua consola.
  • Verifique se a sua consola suporta caracteres Unicode. Algumas ligações ssh não suportam Unicode.
  • Verifique se o método de apagamento seleccionado funciona na sua consola.

Experimental: capturar a saída do comando

Nota: esta funcionalidade é experimental. Por favor leia atentamente esta secção e certifique-se de que compreende como funciona, antes de colocar questões.

Enquanto estiver na linha de comando ou na janela "Editar prompt", prima Controlo+Enter para capturar a saída do comando. Este extra é capaz de captar grandes saídas que abranjam vários ecrãs, embora quando a saída é maior do que 10 ecrãs o processo de captura demore um tempo significativo a concluir. O extra toca um som de toque longo, que dura tanto tempo quanto o extra estiver a capturar a saída do comando actualmente em execução, ou até que o tempo limite tenha sido alcançado. Em alternativa, prima NVDA+E para interromper a captura.

Quando a função "Use UI Automation to access the Windows Console when available" estiver activa nas definições do NVDA, pode mudar para outras janelas enquanto a captura está a decorrer. Contudo, se esta opção estiver desactivada, então o NVDA está a utilizar um código de consola antigo, que só funciona quando a consola está focada, e portanto mudar para qualquer outra janela irá pausar a captura.

Comando de captura de trabalhos a redireccionar a saída do comando para o comando less. O sufixo predefinido que é anexado aos comandos é: |less -c 2>&1 Por favor, só o mude se souber o que está a fazer. Este extra sabe como interagir com a saída do comando less para recuperar a saída página por página.

No Windows less.exe, a ferramenta precisa de ser instalada separadamente. Pode instalá-la via cygwin, ou descarregar um binário do windows noutro local.

Se estiver a utilizar tmux ou screen no Linux, certifique-se por favor de que não é mostrada nenhuma linha de estado no fundo. Na execução do tmux tmux activou o estado para se ver livre da linha de estado, ou modificar o seu ficheiro tmux.conf.

Resolução de problemas:

  • Após uma tentativa falhada de captura de saída, prima 'UpArrow' na consola para verificar que comando foi realmente executado.
  • Voltar ao sufixo de captura por defeito, mencionado acima.
  • Tente solucionar problemas a partir da secção de "edição de comandos do prompt".