Console Toolkit

Console Toolkit est une extension de NVDA, qui fournit des améliorations d'accessibilité pour la console Windows, également connue sous le nom d'invite de commande. Cela fonctionne également bien dans Windows PowerShell. Certaines fonctionnalités peuvent fonctionner dans des terminaux alternatifs, tels que Cygwin, PuTTY et Windows Terminal, cependant, l'extension n'a été soigneusement testée qu'avec la console Windows par défaut. Les utilisateurs de SSH pourraient trouver cette extension particulièrement pratique.

Certaines des fonctionnalités faisaient auparavant partie de [l'extension d'améliorations de Tony] (https://github.com/mltony/nvda-tonys'enhancements/).

Téléchargements

Installez à partir de l'add-on store.

Aller à la première ligne visible

Console Toolkit remplace la commande maj+pavnum7 dans les consoles UIA : au lieu de lire la première ligne de l'intégralité du tampon, elle lit désormais la première ligne visible en haut de la fenêtre. Appuyez deux fois sur maj+pavnum7 pour revenir à l'ancien comportement et lire la première ligne du tampon.

Parole de console en temps réel

Cette option permet à NVDA de prononcer les nouvelles lignes immédiatement lorsqu'elles apparaissent dans la sortie de la console, au lieu de mettre en file d'attente les nouvelles paroles. Par exemple, si NVDA est occupé à prononcer une ligne qui est apparue à l'écran il y a 1 minute et qu'une nouvelle ligne apparaît maintenant, cette option annulera la prononciation de l'ancienne ligne et commencera à prononcer la nouvelle ligne immédiatement, offrant ainsi une appréhension en temps réel sur ce qui se passe dans la fenêtre de la console.

Bip pour les mises à jour de la console

Émet un faible bip chaque fois que le texte de la console est mis à jour.

Appliquer Control+V dans les consoles

Cette option permet au raccourci Ctrl+V de fonctionner dans les sessions ssh.

Expérimental : édition de l'invite de commande

Remarque : cette fonctionnalité est expérimentale. Veuillez lire attentivement cette section et assurez-vous de comprendre son fonctionnement avant de signaler des problèmes.

Appuyez sur « NVDA+E » pour identifier l'invite actuelle dans la fenêtre de la console et modifiez-la dans une fenêtre « Modifier l'invite » accessible. Après l'édition, vous pouvez soit appuyer sur "Échap" pour mettre à jour la ligne de commande actuelle, soit sur "Entrée" pour mettre à jour et exécuter immédiatement la commande. Vous pouvez également appuyer sur Alt+F4 pour fermer la fenêtre d'invite d'édition sans mettre à jour la ligne de commande.

Cette fonctionnalité a été testée dans l'invite de commande Windows cmd.exe ainsi que dans le shell bash sur les connexions ssh, ainsi que dans WSL et cygwin. Elle pourrait également fonctionner dans des shells Unix alternatifs, mais elle n'a pas été testée.

Voici comment l'extension extrait la commande courante.

  1. Elle appuie sur la touche « Fin », puis envoie un caractère de contrôle, un caractère Unicode rare qui n'est susceptible d'être utilisé nulle part.
  2. Ensuite, elle appuie sur la touche début et envoie un autre caractère de contrôle.
  3. Ensuite, elle attend que les caractères de contrôle apparaissent à l'écran, ce qui peut prendre un certain temps sur les connexions SSH lentes.
  4. La commande est ce qui apparaît entre deux caractères de contrôle.
  5. Lorsque l'option "Utiliser UI Automation pour accéder à la console Windows lorsqu'elle est disponible" est activée dans les paramètres NVDA, elle envoie un caractère de contrôle supplémentaire au début de la chaîne. Ceci est nécessaire pour analyser correctement les commandes multilignes : l'implémentation UIA supprime les espaces à la fin de chaque ligne, donc afin de déduire s'il y a un espace entre deux lignes, nous devons les décaler d'un caractère. Veuillez noter cependant que de cette façon, nous ne préservons pas le nombre d'espaces entre les mots, nous garantissons uniquement la présence d'espaces.
  6. Avant d'éditer l'extension, assurez-vous de supprimer les caractères de contrôle en plaçant le curseur au début et à la fin et en simulant les pressions sur les touches « Supprimer » et « Retour arrière ».
  7. Elle présente la commande dans la fenêtre "Modifier l'invite" que l'utilisateur peut afficher ou modifier.
  8. Une fois que l'utilisateur a appuyé sur « Enter » ou « Échap », elle efface d'abord la ligne actuelle dans la console. Ceci est réalisé via l'une des quatre méthodes, le choix de la méthode est paramétrable. Actuellement, quatre méthodes sont prises en charge :

    • Contrôle+C : fonctionne à la fois dans cmd.exe et bash, mais laisse l'invite précédente visible à l'écran ; ne fonctionne pas dans emacs ; parfois peu fiable sur les connexions SSH lentes
    • Échap: ne fonctionne que dans cmd.exe"),
    • Contrôle+A Contrôle+K: fonctionne sous bash et emacs; ne fonctionne pas sous cmd.exe
    • « Retour arrière » (recommandé) : fonctionne dans tous les environnements ; cependant plus lent et peut provoquer une corruption si la longueur de la ligne a changé
  9. Ensuite, l'extension simule les frappes pour taper la commande mise à jour et simule éventuellement ll'appui sur la touche « Entrée ».

Dépannage:

  • Vérifiez que les touches « Début », « Fin », « Supprimer » et « Retour arrière » fonctionnent comme prévu dans votre console.
  • Vérifiez que votre console prend en charge les caractères Unicode. Certaines connexions ssh ne prennent pas en charge Unicode.
  • Vérifiez que la méthode de suppression sélectionnée fonctionne dans votre console.

Expérimental : capture de la sortie de la commande

Remarque : cette fonctionnalité est expérimentale. Veuillez lire attentivement cette section et assurez-vous de comprendre son fonctionnement avant de signaler des problèmes.

En ligne de commande ou dans la fenêtre « Modifier l'invite », appuyez sur « Ctrl+Entrée » pour capturer la sortie de la commande. Cette extension est capable de capturer une grande sortie qui s'étend sur plusieurs écrans, bien que lorsque la sortie est supérieure à 10 écrans, le processus de capture prend beaucoup de temps. L'extension jouera un long carillon, et il durera aussi longtemps que l'extension capture la sortie de la commande en cours d'exécution, ou jusqu'à ce que le délai d'attente soit atteint. Vous pouvez également appuyer sur NVDA+E pour interrompre la capture.

Lorsque la fonctionnalité « Utiliser UI Automation pour accéder à la console Windows lorsqu'elle est disponible » est activée dans les paramètres NVDA, vous pouvez basculer vers d'autres fenêtres pendant la capture. Cependant, si cette option est désactivée, alors NVDA utilise un code de console hérité, qui ne fonctionne que lorsque la console est focalisée, et donc passer à une autre fenêtre interrompra la capture.

La capture de commande fonctionne en redirigeant la sortie de la commande vers la commande « less ». Le suffixe par défaut ajouté aux commandes est : |less -c 2>&1 Veuillez le modifier uniquement si vous savez ce que vous faites. Cette extension sait comment interagir avec la sortie de la commande less pour récupérer la sortie page par page.

Sous Windows, l'outil less.exe doit être installé séparément. Vous pouvez l'installer via cygwin ou télécharger un binaire Windows ailleurs.

Si vous utilisez tmux ou screen sous Linux, assurez-vous qu'aucune ligne d'état ne s'affiche en bas. Dans tmux exécuter tmux set status off pour vous débarrasser de la ligne d'état, ou modifiez votre fichier tmux.conf.

Dépannage:

  • Après une tentative de capture de sortie infructueuse, appuyez sur FlècheHaut dans la console pour vérifier quelle commande a réellement été exécutée.
  • Revenez au suffixe de capture par défaut, mentionné ci-dessus.
  • Essayez les étapes de dépannage de la section "Modification de l'invite de commande".