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.
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.
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.
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.
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.
Poniżej przedstawiliśmy 3 możliwe połączenia zewnętrzne.
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.
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.
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 kursor znajdzie się na polu, naciśnij Enter, aby je edytować.
Łączenie bloków w obszarze roboczym
- Przejdź do połączenia docelowego za pomocą kluczy WASD.
- Oznaczanie połączenia klawiszem Enter
- Przejdź do prawidłowego punktu połączenia przy użyciu kluczy WASD.
- Połącz 2 bryły za pomocą klawisza I (do wstawienia)
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.
- Aby przejść do wybranej pozycji w obszarze roboczym, naciśnij klawisze Shift + WASD.
- Oznacz tę lokalizację w obszarze roboczym klawiszem Enter
- Przejdź do bryły, którą chcesz przenieść, używając klawiszy WASD.
- Przenieś bryłę do oznaczonej lokalizacji klawiszem I
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ć.
- Za pomocą klawiszy WASD przejdź do połączenia, które chcesz przerwać.
- Przerwij połączenie, używając X.
Wstawianie bryły z zestawu narzędzi
- Naciśnij klawisz T, aby otworzyć zestaw narzędzi
- Aby poruszać się po kategoriach, użyj klawiszy W i S
- Naciśnij klawisz D, aby przejść do brył w menu
- Poruszaj się po bryłach za pomocą klawiszy W i S
- Naciśnij klawisz Enter, aby wstawić bryłę z wysuwanego menu
Eksperymenty
Są 4 główne obszary, które użytkownicy mogą być zainteresowani eksperymentami:
- Mapowanie klawiszy: przypisane klawisze powinny być powiązane z jakimi działaniami.
- 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.
- 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.
- 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.