Console Toolkit

  • Autor: Tony Malykh
  • Pobierz wersja stabilna
  • Zgodność z NVDA: 2019.3 i nowsze

Console Toolkit to dodatek NVDA, który zapewnia ulepszenia ułatwień dostępu dla konsoli systemu Windows, znany również jako wiersz polecenia. Działa również dobrze w programie Windows PowerShell. Niektóre funkcje mogą działać w alternatywnych terminalach, takich jak Cygwin, PuTTY i Windows Terminal, jednak dodatek został dokładnie przetestowany tylko z domyślną konsolą Windows. Użytkownicy SSH mogą uznać ten dodatek za szczególnie przydatny.

Niektóre funkcje były wcześniej częścią dodatku do ulepszeń Tony'ego.

Pliki

[Zestaw narzędzi konsoli] (https://github.com/mltony/nvda-console-toolkit/releases/latest/download/consoleToolkit.nvda-addon)

Mowa konsoli w czasie rzeczywistym

Ta opcja sprawia, że NVDA wymawia nowe linie natychmiast, gdy pojawiają się na wyjściu konsoli, zamiast kolejkować nowe wypowiedzi mowy. Na przykład, jeśli NVDA jest zajęta wypowiadaniem linii, która pojawiła się na ekranie 1 minutę temu, a teraz pojawia się nowa linia, ta opcja anuluje wypowiadanie starej linii i od razu zacznie mówić nową linię, zapewniając w ten sposób bardziej w czasie rzeczywistym informację zwrotną na temat tego, co dzieje się w oknie konsoli.

Sygnał dźwiękowy w aktualizacjach konsoli

Emituj sygnał dźwiękowy impulsu niskiego tonu za każdym razem, gdy aktualizowany jest tekst konsoli.

Wymuszanie kombinacji Control+V w konsolach

Ta opcja sprawia, że skrót Control+V działa wewnątrz sesji "ssh".

Eksperymentalne: edycja wiersza polecenia

Uwaga: ta funkcja jest eksperymentalna. Przeczytaj uważnie tę sekcję i upewnij się, że rozumiesz, jak to działa, zanim zgłosisz problemy.

Naciśnij "NVDA + E", aby zidentyfikować bieżący monit w oknie konsoli i edytować go w dostępnym oknie "Edytuj monit". Po edycji możesz nacisnąć "Escape", aby zaktualizować bieżący wiersz poleceń, lub "Enter", aby zaktualizować i natychmiast wykonać polecenie. Alternatywnie możesz nacisnąć "Alt + F4", aby zamknąć okno wiersza polecenia edycji bez aktualizowania wiersza poleceń.

Ta funkcja została przetestowana w wierszu polecenia systemu Windows "cmd.exe", a także w powłoce bash przez połączenia ssh, a także w WSL i cygwin. Może również działać w alternatywnych powłokach Uniksa, jednak nie został przetestowany.

Oto jak dodatek wyodrębnia bieżące polecenie.

  1. Naciska End, a następnie wysyła znak kontrolny, który jest rzadkim znakiem Unicode, który prawdopodobnie nie będzie nigdzie używany.
  2. Następnie naciska home i wysyła kolejny znak sterujący.
  3. Następnie czeka, aż znaki kontrolne pojawią się na ekranie, co może zająć trochę czasu w przypadku wolnych połączeń SSH.
  4. Polecenie pojawia się między dwoma znakami kontrolnymi.
  5. Gdy opcja "Użyj automatyzacji interfejsu użytkownika, aby uzyskać dostęp do konsoli systemu Windows, gdy jest dostępna" jest włączona w ustawieniach NVDA, wysyła jeszcze jeden znak kontrolny na początku ciągu. Jest to potrzebne do poprawnego analizowania poleceń wielowierszowych: implementacja UIA przycina białe spacje na końcu każdego wiersza, więc aby wywnioskować, czy między dwoma wierszami jest spacja, musimy przesunąć je o jeden znak. Należy jednak pamiętać, że w ten sposób nie zachowujemy liczby spacji między słowami, gwarantujemy jedynie zachowanie obecności spacji.
  6. Przed edycją dodatku należy usunąć znaki kontrolne, umieszczając kursor na początku i na końcu oraz symulując naciśnięcia Usuń i Backspace.
  7. Przedstawia polecenie w oknie "Edytuj monit", aby użytkownik mógł je wyświetlić lub edytować.
  8. Po naciśnięciu przez użytkownika Enter lub Escape najpierw usuwa bieżącą linię w konsoli. Osiąga się to za pomocą jednej z czterech metod, wybór metody jest konfigurowalny. Obecnie obsługiwane są cztery metody:

    • "Control+C": działa zarówno w "cmd.exe", jak i "bash", ale pozostawia poprzedni monit widoczny na ekranie; nie działa w emacs; czasami zawodne przy wolnych połączeniach SSH
    • 'Escape': działa tylko w 'cmd.exe'"),
    • "Control+A Control+K": działa w "bash" i "emacs"; nie działa w "cmd.exe
    • "Backspace" (zalecane): działa we wszystkich środowiskach; jednak wolniej i może powodować uszkodzenie, jeśli długość linii uległa zmianie
  9. Następnie dodatek symuluje naciśnięcia, aby wpisać zaktualizowane polecenie i opcjonalnie symuluje naciśnięcie Enter.

Rozwiązywanie problemów:

  • Sprawdź, czy Home, End, Delete i Backspace działają zgodnie z oczekiwaniami na konsoli.
  • Sprawdź, czy konsola obsługuje znaki Unicode. Niektóre połączenia ssh nie obsługują standardu Unicode.
  • Sprawdź, czy wybrana metoda usuwania działa w konsoli.

Eksperymentalne: przechwytywanie danych wyjściowych poleceń

Uwaga: ta funkcja jest eksperymentalna. Przeczytaj uważnie tę sekcję i upewnij się, że rozumiesz, jak to działa, zanim zgłosisz problemy.

W wierszu poleceń lub w oknie "Edytuj monit" naciśnij "Control + Enter", aby przechwycić dane wyjściowe polecenia. Ten dodatek jest w stanie przechwytywać duże dane wyjściowe, które obejmują wiele ekranów, chociaż gdy wyjście jest większe niż 10 ekranów, proces przechwytywania zajmuje dużo czasu. Dodatek będzie odtwarzał długi dźwięk dzwonka i będzie trwał tak długo, jak długo dodatek przechwytuje dane wyjściowe aktualnie uruchomionego polecenia lub do momentu osiągnięcia limitu czasu. Możesz też nacisnąć "NVDA+E", aby przerwać przechwytywanie.

Gdy funkcja "Użyj automatyzacji interfejsu użytkownika, aby uzyskać dostęp do konsoli Systemu Windows, gdy jest dostępna" jest włączona w ustawieniach NVDA, możesz przełączyć się do innych okien podczas przechwytywania. Jeśli jednak ta opcja jest wyłączona, NVDA używa starszego kodu konsoli, który działa tylko wtedy, gdy consoel jest skoncentrowany, a zatem przełączenie do dowolnego innego okna spowoduje wstrzymanie przechwytywania.

Przechwytywanie poleceń działa poprzez przekierowanie danych wyjściowych polecenia do polecenia "mniej". Domyślny sufiks dodawany do poleceń to: |less -c 2>&1 Zmień go tylko wtedy, gdy wiesz, co robisz. Ten dodatek wie, jak wchodzić w interakcje z wyjściem polecenia "less", aby pobrać dane wyjściowe strona po stronie.

W systemie Windows narzędzie "mniej.exe" należy zainstalować osobno. Możesz zainstalować go za pomocą cygwin lub pobrać plik binarny systemu Windows w innym miejscu.

Jeśli używasz "tmux" lub "screen" w linuksie, upewnij się, że na dole nie jest wyświetlana żadna linia stanu. W biegu 'tmux' tmux set status off , aby pozbyć się wiersza stanu lub zmodyfikować plik "tmux.conf".

Rozwiązywanie problemów:

  • Po nieudanej próbie przechwycenia danych wyjściowych naciśnij "UpArrow" w konsoli, aby sprawdzić, jakie polecenie zostało faktycznie wykonane.
  • Przywróć domyślny sufiks przechwytywania, wspomniany powyżej.
  • Spróbuj wykonać kroki rozwiązywania problemów z sekcji "Edycja wiersza polecenia".