Jak dodać kursory w lewo/w prawo do paska nawigacji podczas wprowadzania tekstu w systemie Android O

Poradnik pokazujący, jak wyświetlać przyciski lewego/prawego kursora na pasku nawigacji w systemie Android O, ale tylko wtedy, gdy aktywne jest pole wprowadzania tekstu.

Jednym z najstarszych dodatków do niestandardowych pamięci ROM, który nie trafił jeszcze do oficjalnej wersji Androida, jest możliwość ręcznego przesuwania kursora wprowadzania tekstu. W zależności od używanej pamięci ROM możesz mieć możliwość przesuwania kursora wprowadzania tekstu za pomocą przycisków głośności lub naciskając wirtualne przyciski na pasku nawigacyjnym. Ta funkcja jest niezbędna, jeśli często wracasz do wprowadzania poprawek podczas pisania, ale bez niestandardowej pamięci ROM nie będziesz mógł się nią cieszyć.

Jeśli jednak używasz Podgląd programisty Androida O który ma nowy dostosowywanie paska nawigacji ukryty pod tunerem SystemUI, możesz dodać kursory klawiatury w lewo/w prawo do paska nawigacyjnego. Wszystko, co musisz zrobić, to ustawić lewy klawisz paska nawigacji na KEYCODE_DPAD_LEFT (#21) i prawy klawisz paska nawigacyjnego do

KEYCODE_DPAD_RIGHT (#22). Jeśli chodzi o ikony, najbardziej sensowne jest użycie domyślnych ikon strzałek w lewo/prawo. Ta metoda na pewno działa jak zauważył Policja Androida, ale jest wadliwy, ponieważ wymaga umieszczenia tych kluczy na stałe na pasku nawigacyjnym.

Jeśli maszzostałnastępny Mój poprzednitutoriale w dostosowywaniu paska nawigacyjnego systemu Android O, będziesz wiedzieć, że można zmienić dwa klawisze paska nawigacyjnego w oparciu o dowolne kryteria. Zatem, aby nasze nowe kursory do wprowadzania tekstu/klawiatury były bardziej świadome kontekstu, możemy użyć Taskera pokaż przyciski kursora klawiatury tylko wtedy, gdy w systemie Android O jest wyświetlane wprowadzanie tekstu. W tym samouczku przedstawimy instrukcje krok po kroku, ale możesz też przejść na dół, aby pobrać profil i go zaimportować.

Dziękuję Eli Irvinowi za przetestowanie mojego profilu Taskera i przechwycenie tego nagrania ekranu!


Pokaż kursory w lewo/w prawo na pasku nawigacji podczas wprowadzania tekstu

Wymagania:

  • Zadanie ($2.99)
  • Bezpieczne zadanie
  • Automatyczne wprowadzanie Beta (~$1.70)

Tasker jest niezbędny, ponieważ używamy aplikacji do automatyzacji, która gdy AutoInput wykryje pole tekstowe, wyśle ​​​​polecenia za pośrednictwem wtyczki SecureTask, aby zmienić nasz pasek nawigacyjny. Po zainstalowaniu tych aplikacji musimy je skonfigurować.

Chociaż nie ma bezpośredniego sposobu na wykrycie, kiedy klawiatura jest wyświetlana, jedną rzeczą, którą możemy monitorować, jest to, czy pole tekstowe jest aktywne. O tym, kiedy pole wprowadzania tekstu jest aktywne, dowiesz się, obserwując migający kursor w polu tekstowym. Możemy je monitorować, korzystając z najnowszej wersji beta AutoInput, która właśnie została wydana, co pozwala nam to osiągnąć. Aby funkcja AutoInput monitorowała pola tekstowe, musimy włączyć usługę ułatwień dostępu.

Można to zrobić bardzo szybko, po prostu przejdź do Ustawienia -> Dostępność i poszukaj „Automatycznego wprowadzania” na liście usług. Włącz usługę ułatwień dostępu.

Następnie musimy przyznać SecureTask możliwość modyfikowania ustawień systemowych na naszym urządzeniu. Aby to zrobić, musimy przyznać SecureTask specjalne pozwolenie znane jako WRITE_SECURE_SETTINGS, które jest zwykle niedostępne dla zwykłych aplikacji, ale użytkownik może je przyznać ręcznie za pomocą ADB. Dlatego, aby to działało, musisz mieć uruchomiony ADB na swoim komputerze. Na szczęście udzielenie tego pozwolenia jest tylko jednorazową sprawą, więc jeśli planujesz zastosować się do któregokolwiek z naszych inne przewodniki związane z Androidem O, w końcu będziesz musiał to zrobić.

Konfigurowanie ADB

Pierwszą rzeczą, którą musisz zrobić, to pobrać plik binarny ADB dla konkretnego systemu operacyjnego. Możesz to zrobić tutaj. Po ich pobraniu musisz upewnić się, że masz plik właściwy sterownik jeśli korzystasz z systemu Windows.

Po rozpakowaniu pliku binarnego do osobnego folderu i zainstalowaniu sterownika musimy następnie włączyć debugowanie USB na smartfonie. Aby to zrobić, otwórz Ustawienia i przejdź do Informacje o telefonie. Stuknij w Numer kompilacji 7 razy, aż pojawi się okno dialogowe z informacją o odblokowaniu Opcji programisty. Możesz teraz uzyskać dostęp do Opcji programisty w Ustawieniach. Najwyraźniej w Androidzie O musisz wprowadzić swój kod PIN/hasło, zanim będziesz mógł otworzyć Opcje programisty. Zrób to i poszukaj Debugowanie USB, a następnie włącz je.

Teraz podłącz telefon i otwórz wiersz poleceń w tym samym katalogu, w którym wyodrębniłeś plik binarny ADB. (Użytkownicy systemu Windows, przytrzymaj Shift i kliknij prawym przyciskiem myszy w tym folderze i wybierz „otwórz tutaj wiersz poleceń.”) Wpisz adb devices do wiersza poleceń. Zobaczysz komunikat, że serwer ADB jest uruchamiany, a następnie na telefonie pojawi się monit z prośbą o przyznanie komputerowi dostępu ADB. Zaakceptuj to. Teraz, kiedy wejdziesz adb devices w wierszu poleceń powinieneś zobaczyć numer seryjny swojego urządzenia, jeśli tak, to powiodło się.

Przyznawanie WRITE_SECURE_SETTINGS do SecureTask

Po otwarciu wiersza poleceń ADB wprowadź następujące polecenie, aby przyznać SecureTask wymagane uprawnienia.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask będzie teraz miał możliwość modyfikowania ustawień systemowych bez dostępu do roota! Teraz jesteśmy gotowi, aby przejść do Taskera.

Konfigurowanie profilu Taskera

Otwórz Taskera i utwórz nowy profil, naciskając przycisk +. Nazwij to Kursory klawiatury i wybierz Wydarzenie Kontekst. Iść do Wtyczka --> Automatyczne wprowadzanie --> Akcja interfejsu użytkownika. W polu Typy akcji wybierz Skoncentrowano się na elemencie wejściowymUtracono fokus elementu wejściowego. Pozostaw tekst elementu pusty. Dodanie tego kontekstu AutoInput uruchomi usługę monitorowania AutoInput w celu wykrycia wprowadzania tekstu pole zyskuje lub traci ostrość i przechowuje je w zmiennej jako wartość logiczną (prawda/fałsz), którą możemy Czytać.

Gdy skończysz tworzyć profil, Tasker poprosi Cię o dodanie zadania. Wybierz opcję utworzenia nowego zadania, ale nie zawracaj sobie głowy nadawaniem mu nazwy. Na ekranie edycji zadania dodaj następujące akcje:

  1. A1: Zadanie --> Jeśli. Ustaw na if %aifocus ~ true. Będzie to nasz warunek, gdy funkcja AutoInput wykryje, że pole wprowadzania tekstu jest aktywne. Następne dwie akcje ustawią klawisze paska nawigacji na klawisze DPAD_LEFT i DPAD_RIGHT.
  2. A2: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie: secure sysui_nav_bar_left. Wartość: key(21:com.android/systemui/2131230907).
  3. A3: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie: secure sysui_nav_bar_right. Wartość: key(22:com.android/systemui/2131231004).
  4. A4: Zadanie --> Inne. Dzieje się tak, gdy %aifocus jest ustawiony na false, w kolejności słów pole wprowadzania tekstu straciło ostrość. Następnie wyczyścimy klawisze paska nawigacji.
  5. A5: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie: secure sysui_nav_bar_left. Wartość: null.
  6. A6: Wtyczka --> SecureTask --> Bezpieczne ustawienia. Działanie: Pisać. Ustawienie: secure sysui_nav_bar_right. Wartość: null.
  7. A7: Zadanie --> Zakończ jeśli.

Skończyłeś z tym skryptem Taskera. Teraz za każdym razem, gdy funkcja AutoInput wykryje, że pole wprowadzania tekstu jest aktywne (co odpowiada temu, kiedy klawiatura jest włączona). wyświetlane), zobaczysz dwa nowe klawisze kursora na pasku nawigacji, które znikną, gdy pole wprowadzania tekstu zniknie w centrum uwagi.


Pobierz i zaimportuj

Podobnie jak w przypadku wszystkich samouczków związanych z Taskerem, udostępnimy plik XML, który możesz pobrać i zaimportować. Pobierz plik .prf.xml z AndroidFileHost poniżej i zapisz go w pamięci wewnętrznej. Otwórz Taskera i naciśnij długo kartę Profile u góry, aż zobaczysz przycisk Importuj. Stuknij w to i poszukaj właśnie zapisanego pliku XML, a następnie wybierz go, aby go zaimportować. Upewnij się, że masz włączoną usługę dostępności AutoInput i przyznałeś WRITE_SECURE_SETTINGS do SecureTask, jak wspomniano w moim artykule, w przeciwnym razie ten profil nie będzie działać cokolwiek na Twoim telefonie!

Pobierz profil „Kursory klawiatury” z AndroidFileHost

Jeśli zastanawiasz się, jakie jeszcze przydatne klawisze możemy dodać do paska nawigacyjnego, aby korzystanie z Androida O było przyjemniejsze, pokażemy Ci alternatywną konfigurację w przyszły tutorial.