Werkzeug für die Konsole

Das Werkzeug für die Konsole ist eine NVDA-Erweiterung, das Verbesserungen für die Zugänglichkeit der Windows-Konsole, auch bekannt als Eingabeaufforderung, bietet. Es funktioniert auch gut in Windows PowerShell. Einige der Funktionen können auch in alternativen Terminals wie Cygwin, PuTTY und Windows Terminal funktionieren. Die NVDA-Erweiterung wurde jedoch nur mit der Standard-Windows-Konsole sorgfältig getestet. SSH-Benutzer könnten diese NVDA-Erweiterung besonders praktisch finden.

Einige der Funktionen waren zuvor Teil von der NVDA-Erweiterung Tonys Verbesserungen.

Downloads

Install from add-on store.

Jump to the first visible line

Console toolkit overrides shift+numpad7 command in UIA consoles: instead of reading the first line in the entire buffer it now reads the first visible line at the top of the window. Press shift+numpad7 twice to revert to the old behavior and read the first line of the buffer.

Sprachausgabe auf der Konsolen in Echtzeit

Mit dieser Option wird NVDA angewiesen, neue Zeilen sofort mitzuteilen, wenn sie in der Konsolenausgabe erscheinen, anstatt neue Meldungen der Sprachausgabe in die Warteschlange zu stellen. Wenn NVDA beispielsweise gerade eine Zeile mitteilt, die vor einer Minute auf dem Bildschirm erschienen ist, und nun eine neue Zeile erscheint, bricht diese Option das Mitteilen der alten Zeile ab und beginnt sofort mit dem Mitteilen der neuen Zeile, so dass ein Echtzeit-Feedback über das Geschehen im Konsolenfenster gegeben ist.

Signalton bei Konsolen-Aktualisierungen

Jedes Mal, sobald der Konsolentext aktualisiert wird, ertönt ein tiefer Signalton.

Strg+V in Konsolen erzwingen

Mit dieser Option funktioniert die Tastenkombination Strg+V innerhalb von SSH-Sitzungen.

Experimentell: Bearbeitung der Eingabeaufforderung

Hinweis: Diese Funktion ist experimentell. Bitte lesen Sie diesen Abschnitt sorgfältig durch und vergewissern Sie sich, dass Sie verstehen, wie sie funktioniert, bevor Sie Probleme melden.

Drücken Sie NVDA+E, um die aktuelle Eingabeaufforderung im Konsolenfenster zu erkennen und sie in einem zugänglichen Fenster "Eingabeaufforderung bearbeiten" zu bearbeiten. Nach der Bearbeitung können Sie entweder die Escape-Taste drücken, um die aktuelle Befehlszeile zu aktualisieren, oder Enter, um den Befehl zu aktualisieren und sofort auszuführen. Alternativ können Sie auch Alt+F4 drücken, um das Eingabeaufforderungsfenster zu schließen, ohne die Befehlszeile zu aktualisieren.

Diese Funktion wurde in der Windows-Eingabeaufforderung cmd.exe sowie in der Bash-Shell über ssh-Verbindungen, in WSL und cygwin getestet. Sie könnte auch in anderen Unix-Shells funktionieren, wurde aber nicht getestet.

So extrahiert die NVDA-Erweiterung den aktuellen Befehl.

  1. Es wird die "Ende"-Taste betätigt und es wird dann ein Steuerzeichen gesendet, ein seltenes Unicode-Zeichen, das wahrscheinlich nirgendwo verwendet wird.
  2. Dann wird die "Pos1"-Taste betätigt und es wird ein weiteres Steuerzeichen gesendet.
  3. Dann wird gewartet, bis das Steuerzeichen auf dem Bildschirm erscheinen, was bei langsamen SSH-Verbindungen ein bisschen dauern kann.
  4. Der Befehl ist das, was zwischen zwei Steuerzeichen erscheint.
  5. Wenn die Option "UIA verwenden beim Zugriff auf die Windows-Konsole, falls verfügbar" in den NVDA-Einstellungen aktiviert ist, wird ein weiteres Steuerzeichen am Anfang der Zeichenfolge gesendet. Dies ist erforderlich, um mehrzeilige Befehle korrekt zu parsen: Die UIA-Implementierung schneidet die Leerzeichen am Ende jeder Zeile ab. Um zu erkennen, ob sich zwischen zwei Zeilen ein Leerzeichen befindet, muss es also um ein Zeichen verschoben werden. Bitte beachten Sie jedoch, dass auf diese Weise nicht die Anzahl der Leerzeichen zwischen den Wörtern erhalten bleibt, sondern nur das Vorhandensein der Leerzeichen garantiert.
  6. Bevor Sie die NVDA-Erweiterung bearbeiten, müssen Sie die Steuerzeichen entfernen, indem Sie den Cursor an den Anfang und das Ende setzen und das Drücken der "Entf"- und "Rücktaste"-Taste simulieren.
  7. Der Befehl wird im Fenster "Eingabeaufforderung" angezeigt, das der Benutzer anzeigen oder bearbeiten kann.
  8. Nachdem der Benutzer die Eingabe- oder Escape-Taste betätigt hat, wird zuerst die aktuelle Zeile in der Konsole gelöscht. Dies wird durch eine von vier Methoden erreicht, die Wahl der Methode ist konfigurierbar. Derzeit werden vier Methoden unterstützt:

    • Strg+C: Funktioniert sowohl in "cmd.exe" als auch in "Bash", lässt aber die vorherige Eingabeaufforderung auf dem Bildschirm sichtbar; funktioniert nicht in Emacs; manchmal unzuverlässig bei langsamen SSH-Verbindungen
    • Escape-Taste: Funktioniert nur in cmd.exe
    • Strg+A, Strg+K: Funktioniert in bash und emacs; funktioniert nicht in cmd.exe
    • Rücktaste (empfohlen): Funktioniert in allen Umgebungen, ist jedoch langsamer und fehleranfälliger, wenn sich die Länge der Zeile geändert hat.
  9. Dann simuliert das Add-on die Tastenanschläge zur Eingabe des aktualisierten Befehls und simuliert optional das Drücken der Eingabetaste.

Probleme:

  • Überprüft, ob die Tasten "Pos1", "Ende", "Entf" und "Rücktaste" in der Konsole wie erwartet funktionieren.
  • Überprüft, ob die Konsole Unicode-Zeichen unterstützt. Einige SSH-Verbindungen unterstützen keine Unicode-Zeichen.
  • Überprüft, ob die gewählte Löschmethode in der Konsole funktioniert.

Experimentell: Aufzeichnung der Befehlsausgabe

Hinweis: Diese Funktion ist experimentell. Bitte lesen Sie diesen Abschnitt sorgfältig durch und vergewissern Sie sich, dass Sie verstehen, wie sie funktioniert, bevor Sie Probleme melden.

Drücken Sie in der Befehlszeile oder im Fenster "Eingabeaufforderung" die Tastenkombination "Strg+Eingabe", um die Befehlsausgabe zu erfassen. Dieses Add-on ist in der Lage, große Ausgaben, die sich über mehrere Bildschirme erstrecken, zu erfassen, obwohl der Erfassungsprozess bei Ausgaben, die größer als zehn Bildschirme sind, viel Zeit in Anspruch nimmt. Die NVDA-Erweiterung spielt einen langen Signalton ab, der so lange anhält, wie die Ausgabe des aktuell laufenden Befehls erfasst, oder bis eine Zeitüberschreitung erreicht ist. Alternativ können Sie die Taste NVDA+E drücken, um die Aufzeichnung zu unterbrechen.

Wenn die Funktion "UIA verwenden beim Zugriff auf die Windows-Konsole, falls verfügbar" in den NVDA-Einstellungen aktiviert ist, können Sie während der Aufzeichnung zu anderen Fenstern wechseln. Wenn diese Option jedoch deaktiviert ist, verwendet NVDA einen veralteten Konsolencode, der nur funktioniert, wenn die Konsole fokussiert ist, so dass ein Wechsel zu einem anderen Fenster die Aufzeichnung unterbricht.

Die Befehlsaufzeichnung funktioniert, indem die Befehlsausgabe auf den Befehl less umgeleitet wird. Das Standardsuffix, das an Befehle angehängt wird, ist: |less -c 2>&1 Bitte ändern Sie es nur, wenn Sie wissen, was Sie tun. Diese NVDA-Erweiterung weiß, wie man mit der Ausgabe des less-Befehls interagiert, um die Ausgabe Seite für Seite abzurufen.

Unter Windows muss das Tool less.exe separat installiert werden. Sie können es über Cygwin installieren oder anderswo eine Windows-Binärdatei herunterladen.

Wenn Sie tmux oder screen unter Linux verwenden, stellen Sie bitte sicher, dass keine Statuszeile am unteren Rand angezeigt wird. In tmux führen Sie tmux set status off um die Statuszeile loszuwerden, oder ändern Sie Ihre tmux.conf-Datei.

Probleme:

  • After a failed output capturing attempt, press UpArrow in the console to check what command has actually been executed.
  • Kehren Sie zum oben erwähnten Standard-Suffix für die Erfassung zurück.
  • Probieren Sie die Schritte zur Fehlerbehebung aus dem Abschnitt "Bearbeiten der Eingabeaufforderung".