Nawigacja za pomocą klawiatury

W tym przewodniku omawiamy, jak korzystać z domyślnej nawigacji za pomocą klawiatury, ponieważ jest ona obecnie zaimplementowana w Blockly.

Korzystanie z nawigacji za pomocą klawiatury

Aby nawigacja za pomocą klawiatury zakończyła się sukcesem, użytkownik musi być w stanie wykonywać te czynności:

  • Poruszanie się po obszarze roboczym
  • Łączenie bloków w obszarze roboczym
  • Dodaj blokadę do obszaru roboczego
  • Odłącz bloki
  • Poruszanie się po zestawach narzędzi
  • Poruszanie się po menu
  • Wstaw bloki z menu

Poniżej wyjaśniamy, jak działa domyślna nawigacja za pomocą klawiatury Blockly.

Włączanie nawigacji za pomocą klawiatury

Użytkownik może włączać i wyłączać nawigację przy użyciu klawiatury, naciskając Shift + Ctrl + K. Po pierwszym włączeniu nawigacji przy użyciu klawiatury w obszarze roboczym pojawi się migająca czerwona linia. To jest kursor. Pokazuje bieżącą lokalizację użytkownika i aktualizuje go w miarę, jak użytkownik porusza się po obszarze roboczym.
Gdy użytkownik wciśnie Shift Control K, na ekranie pojawi się migająca czerwona linia. To jest kursor.

Naciśnięcie Enter powoduje utworzenie w bieżącej lokalizacji niebieskiej linii przedstawiającej znacznik użytkownika. Znacznik wskazuje lokalizację docelową na potrzeby wstawiania blokady. Nie zmienia się, gdy przesuwasz kursor po obszarze roboczym.
Gdy użytkownik kliknie, na ekranie pojawi się niebieska linia. To jest znacznik.

Korzystanie z domyślnego kursora

Obszar roboczy składa się z danych wejściowych, pól, połączeń, bloków i współrzędnych obszaru roboczego. Domyślny kursor porusza się po obszarze roboczym, dzieląc wszystkie komponenty na różne poziomy.

Aby przechodzić między poziomami, użyj klawiszy A i D. Aby poruszać się po danym poziomie, używaj klawiszy W i S.

Poziom obszaru roboczego

Włącz tryb nawigacji za pomocą klawiatury, naciskając Shift + Ctrl + K. Spowoduje to umieszczenie kursora w obszarze roboczym lub pierwszej bryle w obszarze roboczym. Jeśli kursor znajduje się na bryle, przenieś ją na poziom obszaru roboczego, naciskając dwukrotnie A. Aby przesunąć kursor w obszarze roboczym, naciśnij Shift + WASD. Aby przejść na poziom stosu, użyj klawisza D.
Kursor w obszarze roboczym blokowego przesuwa się, gdy użytkownik naciśnie klawisze Shift i W S D A. Po naciśnięciu przez użytkownika klawisza d kursor pojawia się jako prostokąt wokół pierwszego stosu klocków.

Poziom stosu

Na poziomie stosu możesz poruszać się między stosami bloków w obszarze roboczym za pomocą klawiszy W i S. Na tym poziomie kursor jest reprezentowany przez pełny czerwony prostokąt wokół wszystkich bloków w stosie. Aby przejść do pierwszego bloku w wybranym stosie, użyj klawisza D.
Po naciśnięciu przez użytkownika kursor przesuwa się do następnego stosu brył. Po naciśnięciu przez użytkownika klawisza d kursor pojawia się jako migająca czerwona linia nad pierwszą bryłą w wybranym stosie.

Poziom blokowania i połączeń

Na tym poziomie bloka i wszystkie połączenia zewnętrzne są w niej przechowywane. Domyślny kursor jest ustawiony tak, aby pomijać blok w przypadku wcześniejszego lub wyjściowego połączenia. Jeśli nie istnieje żadna bryła, kursor zostanie przeniesiony do bryły, jak pokazano poniżej.

Po naciśnięciu przez użytkownika d kursor przesuwa się z czerwonego prostokąta wokół stosu klocków do połowy prostokąta otaczającego pierwszą bryłę w stosie.

Poniżej przedstawiliśmy 3 możliwe połączenia zewnętrzne.
Czerwona linia wyróżnia 3 możliwe połączenia zewnętrzne. Są to połączenia poprzednie, następne i wyjściowe w bloku.

Na poziomie blokowania i połączenia możesz poruszać się między połączeniami zewnętrznymi za pomocą kluczy W i S. Na tym poziomie kursor jest reprezentowany przez migające czerwone kontury bieżącego połączenia. Aby przejść do pierwszego pola lub do danych wejściowych na bloku, naciśnij D.
Po naciśnięciu przez użytkownika klawisza S kursor pojawia się jako migająca czerwona linia na następnym połączeniu bryły. Po naciśnięciu przez użytkownika klawisza d kursor zmienia się w czerwony prostokąt wokół pierwszego pola na bryle.

Pola i poziom wprowadzania

Na tym poziomie znajdują się wszystkie pola i dane wejściowe znajdujące się na bryle. Poniżej znajdziesz przykłady pól i danych wejściowych.
Czerwony prostokąt wskazuje na bryle przykłady danych wejściowych i pól.
Na tym poziomie możesz poruszać się między edytowalnymi polami i wprowadzanymi danymi bieżącego bloku, używając klawiszy W i S. W polu kursora ma postać pełnego czerwonego prostokąta. Kursor to migający czerwony element układanki. Gdy kursor znajduje się na wejściu, naciśnij D, aby przejść do połączonego bloku.

Gdy użytkownik naciśnie klawisz S, kursor będzie przesuwał się przez pola wejściowe i pola bloku. Gdy użytkownik naciśnie klawisz d przy elemencie z połączonym blokiem, kursor pojawi się jako migająca czerwona linia nad połączonym blokiem.

Gdy kursor znajdzie się na polu, naciśnij Enter, aby je edytować.

Kursor jest wyświetlany jako czerwony prostokąt wokół pola. Po naciśnięciu przez użytkownika pojawi się menu. Użytkownik naciska klawisz S, aby wybrać wartość z menu, a potem naciska Enter, aby je zamknąć.

Łączenie bloków w obszarze roboczym

  1. Przejdź do połączenia docelowego za pomocą kluczy WASD.
  2. Oznaczanie połączenia klawiszem Enter
  3. Przejdź do prawidłowego punktu połączenia przy użyciu kluczy WASD.
  4. Połącz 2 bryły za pomocą klawisza I (do wstawienia)

Połączenie wejściowe ma niebieski punkt, który wskazuje, że jest ono zaznaczone. Gdy użytkownik naciśnie i na prawidłowym połączeniu, blok przesuwa się do oznaczonego punktu połączenia.

Przenoszenie bryły w obszarze roboczym

Zwykle w Blockly przenosi się bryłę do obszaru roboczego, podnosząc ją, przeciągając, przeciągając w wybrane miejsce, a następnie zwalniając. Za pomocą skrótów klawiszowych możesz zaznaczyć lokalizację docelową, przejść do bryły, którą chcesz przesunąć, i wydać polecenie.

  1. Aby przejść do wybranej pozycji w obszarze roboczym, naciśnij klawisze Shift + WASD.
  2. Oznacz tę lokalizację w obszarze roboczym klawiszem Enter
  3. Przejdź do bryły, którą chcesz przenieść, używając klawiszy WASD.
  4. Przenieś bryłę do oznaczonej lokalizacji klawiszem I

W obszarze roboczym na bloki widoczny jest kursor. Po naciśnięciu przez użytkownika klawisza Enter użytkownik oznaczy swoją lokalizację, a w tym miejscu pojawi się niebieska linia. Używając klawiszy WASD, przenoszą kursor w zewnętrzne połączenie bryły. Po dotknięciu przez użytkownika bryła przesuwa się do zaznaczonej lokalizacji.

Odłączanie klocków

Zwykle w bloku blokującym odłącza się 2 bloki, przechwytując gorszą bryłę i przeciągając ją poza blok nadrzędny. Za pomocą skrótów klawiszowych możesz odłączać bloki, naciskając X razem z kursorem na połączeniu, które chcesz przerwać.

  1. Za pomocą klawiszy WASD przejdź do połączenia, które chcesz przerwać.
  2. Przerwij połączenie, używając X.

Dwie bryły są połączone na ekranie z kursorem umieszczonym pośrodku. Po naciśnięciu przez użytkownika klawisza x bloki zostają rozłączone.

Wstawianie bryły z zestawu narzędzi

  1. Naciśnij klawisz T, aby otworzyć zestaw narzędzi
  2. Aby poruszać się po kategoriach, użyj klawiszy W i S
  3. Naciśnij klawisz D, aby przejść do brył w menu
  4. Poruszaj się po bryłach za pomocą klawiszy W i S
  5. Naciśnij klawisz Enter, aby wstawić bryłę z wysuwanego menu

Gdy użytkownik kliknie przycisk, otworzy się zestaw narzędzi z różnymi kategoriami bloków. Klawisze s umożliwiają przejście między różnymi kategoriami. Gdy użytkownik dotknie d, podświetlona jest pierwsza bryła w kategorii. Naciśnięcie klawisza Enter umieszcza bryłę w obszarze roboczym i zamyka zestaw narzędzi.

Eksperymenty

Są 4 główne obszary, które użytkownicy mogą być zainteresowani eksperymentami:

  1. Mapowanie klawiszy: przypisane klawisze powinny być powiązane z jakimi działaniami.
  2. Tekst dotyczący czytników ekranu/rejestrowania/ostrzeżeń: sposób, w jaki czytnik ekranu powinien odczytywać lokalizacje kursorów oraz wszelkie błędy i ostrzeżenia.
  3. Nawigacja w obszarze roboczym: sposób, w jaki użytkownik porusza się po różnych blokach, polach, danych wejściowych i połączeniach w obszarze roboczym.
  4. Wygląd kursora: jak powinny wyglądać kursor i znacznik.

Więcej informacji o korzystaniu z tych interfejsów API znajdziesz w ćwiczeniach z kodu nawigacji przy użyciu klawiatury Blockly.

Jeśli chcesz zbadać inne obszary, w których możemy Ci pomóc, wypełnij formularz.

Najczęstsze pytania

P: Dlaczego do nawigacji za pomocą klawiatury nie są używane klawisze strzałek?
O: Czytniki ekranu zwykle używają klawiszy strzałek. Nie chcieliśmy tego robić, dlatego zdecydowaliśmy się użyć kluczy WASD.
Wiemy jednak, że każdy ma inne potrzeby, dlatego zdecydowanie zalecamy utworzenie łatwego sposobu zmieniania mapowań kluczy.

P: Wydaje się to dość skomplikowane, więc dlaczego potrzebujemy różnych warstw?
O: Myśląc o nawigacji za pomocą klawiatury, potrzebowaliśmy ustrukturyzowanego sposobu poruszania się po różnych blokach, połączeniach, polach, danych wejściowych i współrzędnych obszaru roboczego.
Wewnętrznie prezentujemy to za pomocą abstrakcyjnego drzewa składni (AST). Domyślna implementacja kursora nie odbiega od tego modelu.Celowo pozwala to programistom lepiej poznać dotychczasową architekturę. Są też inne cursors, które mogą być bardziej zrozumiałe dla użytkownika.

Ograniczenia

Na razie nie obsługujemy przechodzenia do nieblokujących komponentów (np. kosza, przycisków powiększenia i wysuwanych przycisków). Aby dowiedzieć się więcej o ograniczeniach, zapoznaj się z listą bugs związanych z otwieraniem nawigacji przy użyciu klawiatury.