- Autor: Tony Malykh
- Versión actual: 1.4 estable
- Compatibilidad con NVDA: de 2019.3 en adelante
- Ver este complemento en la web de la comunidad internacional
- Descargar versión estable
- Ver código fuente en GitHub
Console Toolkit es un complemento de NVDA que proporciona mejoras de
accesibilidad en la consola de Windows, también conocida como Símbolo del
sistema. También funciona bien en Windows PowerShell. Algunas de sus
características pueden funcionar en terminales alternativas, como Cygwin,
PuTTY y Windows Terminal. Sin embargo, el complemento sólo se ha probado
cuidadosamente en la consola predeterminada de Windows. Los usuarios de SSH
podrían encontrar especialmente útil este complemento.
Algunas de las características antes formaban parte del complemento Mejoras
de Tony.
Descargas
Verbalización de la consola en tiempo real
Esta opción hace que NVDA verbalice las nuevas líneas inmediatamente en
cuanto aparecen en la salida de la consola, en vez de poner en cola los
mensajes de voz. Por ejemplo, si NVDA está ocupado verbalizando una línea
que apareció en pantalla hace un minuto y aparece una nueva línea, esta
opción cancelará la verbalización de la línea anterior y comenzará a
verbalizar la nueva, proporcionando más retroalimentación en tiempo real de
lo que está sucediendo en la ventana de la consola.
Pitar cuando la consola se actualice
Emite un pitido grave cada vez que se actualiza el texto de la consola.
Reforzar control+v en las consolas
Esta opción permite que el atajo control+v funcione en sesiones SSH
.
Experimental: edición del símbolo del sistema
Nota: esta función es experimental. Por favor, lee atentamente esta sección
y asegúrate de entender cómo funciona antes de informar de problemas.
Pulsa NVDA+e
para identificar la orden actual de la ventana de la consola
y editarla en una ventana «Editar orden» accesible. Después de editar puedes
pulsar escape
para actualizar la línea de órdenes actual, o intro
para
actualizarla y ejecutarla de inmediato. Alternativamente, puedes pulsar
alt+f4
para cerrar la ventana de editar orden sin actualizar la línea de
órdenes.
Esta función se ha probado en el símbolo del sistema de Windows, cmd.exe
,
así como en la shell Bash sobre conexiones SSH, WSL y Cygwin. También podría
funcionar en shells de Unix alternativas, aunque no se ha probado.
A continuación se explica cómo extrae el complemento la orden actual.
- Pulsa la tecla
Fin
y envía un carácter de control, un extraño carácter
Unicode que probablemente no se use en ningún sitio. - Después pulsa la tecla
Inicio
y envía otro carácter de control. - Después espera a que los caracteres de control aparezcan en pantalla,
algo que puede tardar un poco en conexiones SSH lentas. - La orden es lo que se encuentra entre los dos caracteres.
- Cuando se habilita la opción «Utilizar UI Automation para acceder a la
Consola de Windows cuando esté disponible» en las preferencias de NVDA,
se envía un carácter de control adicional al principio de la cadena. Esto
es necesario para interpretar correctamente órdenes de varias líneas: la
implementación de UIA suprime los espacios en blanco al final de cada
línea, por lo que para deducir si hay un espacio entre dos líneas, hay
que rotarlas un carácter. Ten en cuenta, sin embargo, que puede que no se
preserven todos los espacios entre palabras, este mecanismo sólo preserva
la presencia de espacios. - Antes de editar, el complemento se asegura de eliminar los caracteres de
control situando el cursor al principio y al final y simulando
pulsaciones de las teclassuprimir
yretroceso
. - Presenta la orden en la ventana «Editar orden» para que el usuario la
visualice o la edite. -
Después de que el usuario pulse intro, se borra la línea actual de la
consola. Esto se logra mediante uno de estos cuatro métodos, la elección
del método es configurable. Los métodos soportados son:Control+c
: funciona encmd.exe
yBash
, pero deja la orden
anterior visible; no funciona en Emacs y a veces es poco fiable en
conexiones SSH lentasEscape
: sólo funciona encmd.exe
«),Control+a
ycontrol+k
: funciona enBash
yEmacs
, pero no
funciona encmd.exe
Retroceso
(recomendado): funciona en todos los entornos, pero es
lento y puede causar corrupción si la longitud de la línea ha cambiado
-
Finalmente, el complemento simula pulsaciones de teclas para teclear la
orden actualizada y, opcionalmente, simula una pulsación de la tecla
intro
.
Resolución de problemas:
- Comprueba que las teclas ‘Inicio’, ‘Fin’, ‘Retroceso’ y ‘Suprimir’
funcionan como se espera en tu consola. - Comprueba que tu consola soporta caracteres Unicode. Algunas conexiones
SSH no soportan Unicode. - Comprueba que el método de eliminación seleccionado funciona en tu
consola.
Experimental: captura de la salida de la orden
Nota: esta función es experimental. Por favor, lee atentamente esta sección
y asegúrate de entender cómo funciona antes de informar de problemas.
Mientras estés en la línea de órdenes o en la ventana «Editar orden», pulsa
control+intro
para capturar la salida de la orden. Este complemento es
capaz de capturar una enorme salida que ocupe varias pantallas, aunque si
dicha salida se extiende a lo largo de más de 10 pantallas, el proceso de
captura durará un tiempo considerable. El complemento reproducirá un sonido
de campanada, que durará mientras se capture la salida de la orden en
ejecución o hasta que el tiempo de espera se agote. Alternativamente, pulsa
NVDA+e
para interrumpir la captura.
Si la función «Utilizar UI Automation para acceder a la Consola de Windows
cuando esté disponible» está habilitada en las opciones de NVDA, puedes
cambiar a otras ventanas mientras la captura está en curso. Sin embargo, si
esta opción está desactivada, significa que NVDA está usando un código de
consola anticuado que sólo funciona cuando la consola tiene el foco, por lo
que cambiar a otra ventana hará que se pause la captura.
La captura de órdenes funciona redirigiendo la salida de la orden al
programa less
. El sufijo por defecto que se anexa a las órdenes es:
|less -c 2>&1
Cámbialo sólo si sabes lo que estás haciendo. Este complemento sabe cómo
interactuar con la salida de la orden less
para recuperar el resultado
página a página.
En Windows, es necesario instalar la herramienta less.exe
por
separado. Puedes instalarla mediante Cygwin, o descargar un binario para
Windows en cualquier otro sitio.
Si usas tmux
o screen
en Linux, asegúrate de que no se muestra la línea
de estado en la parte inferior. En tmux
, ejecuta
tmux set status off
para deshacerte de la línea de estado, o modifica tu archivo tmux.conf
.
Resolución de problemas:
- Después de un intento de captura fallido, pulsa
flecha arriba
en la
consola para comprobar qué orden se ha ejecutado en realidad. - Vuelve a usar el sufijo de captura predeterminado, mencionado
anteriormente. - Prueba los pasos de resolución de problemas de la sección «Edición del
símbolo del sistema».