Ako pridať ľavý/pravý kurzor na navigačný panel počas zadávania textu v systéme Android O

Návod, ako zobraziť tlačidlá kurzora vľavo/vpravo na navigačnom paneli v systéme Android O, ale iba vtedy, keď je aktívne pole na zadávanie textu.

Jedným z najstarších doplnkových funkcií k vlastným ROM, ktorý sa ešte nedostal do oficiálneho vydania systému Android, je možnosť manuálneho presúvania kurzora na zadávanie textu. V závislosti od vašej ROM môžete mať možnosť posúvať kurzor na zadávanie textu pomocou tlačidiel hlasitosti alebo stláčaním virtuálnych tlačidiel na navigačnej lište. Táto funkcia je nevyhnutná, ak sa pri písaní často vraciate a robíte opravy, ale bez vlastnej pamäte ROM si ju nebudete môcť užiť.

Ak však prevádzkujete Ukážka vývojára systému Android O ktorý má nový prispôsobenie navigačnej lišty skryté pod SystemUI Tuner, potom môžete pridať ľavý/pravý kurzor klávesnice do navigačnej lišty. Všetko, čo musíte urobiť, je nastaviť ľavý kláves navigačnej lišty na KEYCODE_DPAD_LEFT (#21) a tlačidlom pravej navigačnej lišty KEYCODE_DPAD_RIGHT (#22). Pokiaľ ide o ikony, použitie predvolených ikon so šípkami vľavo/vpravo dáva najväčší zmysel. Táto metóda určite funguje,

ako poukázal Android polícia, ale je to chybné, pretože vyžaduje umiestnenie týchto kľúčov trvalo na navigačnom paneli.

Ak mášBolnasledujúce môj predchádzajúcetutoriály na prispôsobenie navigačnej lišty Android O, potom budete vedieť, že je možné zmeniť dve klávesy navigačnej lišty na základe akýchkoľvek kritérií, ktoré chceme. Aby sme teda zvýšili kontext nášho nového zadávania textu/kurzorov na klávesnici, môžeme použiť Tasker zobraziť tlačidlá kurzora klávesnice iba vtedy, keď sa v systéme Android O zobrazuje zadávanie textu. V tomto návode vám poskytneme podrobné pokyny, ale môžete tiež prejsť na koniec, stiahnuť si profil a importovať ho.

Ďakujem Eli Irvinovi za testovanie môjho profilu Tasker a zachytenie tohto záznamu obrazovky!


Počas zadávania textu zobraziť ľavý/pravý kurzor na navigačnom paneli

Požiadavky:

  • Tasker ($2.99)
  • SecureTask
  • AutoInput Beta (~$1.70)

Tasker je potrebný, pretože je to automatizačná aplikácia, ktorú používame, a keď AutoInput zistí textové pole, odošle príkazy prostredníctvom doplnku SecureTask na zmenu našej navigačnej lišty. Po nainštalovaní týchto aplikácií ich musíme nastaviť.

Aj keď neexistuje žiadny priamy spôsob, ako zistiť, kedy sa klávesnica zobrazuje, jedna vec, ktorú môžeme sledovať, je, keď je textové pole zaostrené. Keď je pole na zadávanie textu zaostrené, zistíte, že v textovom poli sa zobrazuje blikajúci kurzor. Môžeme ich monitorovať pomocou najnovšej beta verzie AutoInput, ktorá bola len nedávno vydaná, čo nám umožňuje toto dosiahnuť. Aby AutoInput monitorovalo textové polia, musíme povoliť jeho Službu dostupnosti.

Je to veľmi rýchle, jednoducho prejdite do časti Nastavenia --> Prístupnosť a v zozname služieb vyhľadajte položku „AutoInput“. Povoľte službu dostupnosti.

Ďalej musíme SecureTask udeliť možnosť upravovať nastavenia systému na našom zariadení. Aby sme tak mohli urobiť, musíme SecureTask udeliť špeciálne povolenie známe ako WRITE_SECURE_SETTINGS, čo je normálne nedostupné pre bežné aplikácie, ale môže byť udelené manuálne používateľom pomocou ADB. Preto budete musieť mať na svojom počítači spustenú ADB, aby to fungovalo. Našťastie udelenie tohto povolenia je len jednorazová záležitosť, takže ak plánujete nasledovať niektorý z našich ďalšie príručky súvisiace so systémom Android O, budete to musieť urobiť nakoniec.

Nastavenie ADB

Prvá vec, ktorú musíte urobiť, je stiahnuť binárny súbor ADB pre váš konkrétny operačný systém. Môžete tak urobiť tu. Keď si ich stiahnete, musíte sa uistiť, že máte správny vodič ak používate Windows.

Po rozbalení binárneho súboru do samostatného priečinka a nainštalovaní ovládača musíme na smartfóne povoliť ladenie USB. Ak to chcete urobiť, otvorte Nastavenia a prejdite na O telefóne. Klepnite na Číslo zostavy 7-krát, kým sa nezobrazí dialógové okno, ktoré vám povie, že ste odomkli Možnosti vývojára. Možnosti vývojára máte teraz k dispozícii v časti Nastavenia. V systéme Android O musíte pred otvorením možností vývojára zadať svoj kód PIN/heslo. Urobte to a vyhľadajte položku USB Debugging a potom ju povoľte.

Teraz pripojte telefón a otvorte príkazový riadok v rovnakom adresári, kde ste extrahovali binárny súbor ADB. (Používatelia systému Windows podržte kláves Shift+kliknite pravým tlačidlom myši v danom priečinku a vyberte možnosť „tu otvoriť príkazový riadok.“) Typ adb devices do príkazového riadku. Zobrazí sa správa, že sa spúšťa server ADB, potom sa na telefóne zobrazí výzva na udelenie prístupu k počítaču ADB. Akceptovať to. Teraz, keď vstúpite adb devices do príkazového riadka by ste mali vidieť sériové číslo vášho zariadenia, ak áno, potom ste boli úspešní.

Udelenie WRITE_SECURE_SETTINGS pre SecureTask

Po otvorení príkazového riadka ADB zadajte nasledujúci príkaz, aby ste SecureTask udelili požadované povolenie.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask bude mať teraz možnosť upravovať nastavenia systému bez prístupu root! Teraz sme pripravení prejsť na Tasker.

Nastavenie profilu úlohy

Otvorte Tasker a vytvorte nový profil stlačením tlačidla +. Pomenujte to Kurzory klávesnice a vyberte si Udalosť Kontext. Ísť do Plugin --> AutoInput --> UI Action. Pre Typy akcií vyberte Vstupný prvok zameranýZameranie vstupného prvku sa stratilo. Ponechajte text prvku prázdny. Pridaním tohto kontextu AutoInput sa spustí služba monitora AutoInput, aby sa zistilo zadávanie textu pole získa alebo stratí zameranie a uloží ho do premennej ako booleovskú hodnotu (pravda/nepravda), ktorú môžeme čítať.

Po dokončení vytvárania profilu vás Tasker požiada o pridanie úlohy. Vyberte si vytvorenie novej úlohy, ale neobťažujte sa jej pomenovaním. Na obrazovke Úpravy úloh pridajte nasledujúce akcie:

  1. A1: Úloha --> Ak. Nastavte ho na hodnotu if %aifocus ~ true. Toto bude našou podmienkou, keď AutoInput zistí, že je zaostrené pole na zadávanie textu. Nasledujúce dve akcie nastavia klávesy navigačnej lišty na klávesy DPAD_LEFT a DPAD_RIGHT.
  2. A2: Plugin --> SecureTask --> Secure Settings. Akcia: Napíšte. Nastavenie: secure sysui_nav_bar_left. Hodnota: key(21:com.android/systemui/2131230907).
  3. A3: Plugin --> SecureTask --> Secure Settings. Akcia: Napíšte. Nastavenie: secure sysui_nav_bar_right. Hodnota: key(22:com.android/systemui/2131231004).
  4. A4: Úloha --> Inak. Toto je, keď je %aifocus nastavené na hodnotu false, aby pole na zadávanie textu v poradí slov stratilo zameranie. Potom vymažeme tlačidlá navigačnej lišty.
  5. A5: Plugin --> SecureTask --> Secure Settings. Akcia: Napíšte. Nastavenie: secure sysui_nav_bar_left. Hodnota: null.
  6. A6: Plugin --> SecureTask --> Secure Settings. Akcia: Napíšte. Nastavenie: secure sysui_nav_bar_right. Hodnota: null.
  7. A7: Úloha --> End If.

S týmto skriptom Tasker ste skončili. AutoInput teraz kedykoľvek zistí, že je pole na zadávanie textu zaostrené (čo koreluje s tým, kedy je vaša klávesnica zapnutá zobrazené), uvidíte dve nové kurzorové klávesy na navigačnom paneli, ktoré zmiznú, keď pole na zadávanie textu už nebude v zameraní.


Stiahnuť a importovať

Rovnako ako pri všetkých tutoriáloch súvisiacich s Taskerom vám poskytneme súbor XML, ktorý si môžete stiahnuť a importovať. Stiahnite si súbor .prf.xml z AndroidFileHost nižšie a uložte ho do svojho interného úložiska. Otvorte Tasker a dlho stlačte na karte Profily hore, kým sa nezobrazí tlačidlo Importovať. Klepnite na to a vyhľadajte súbor XML, ktorý ste práve uložili, a potom ho vyberte na import. Uistite sa, že máte povolenú službu prístupnosti AutoInput a udelili ste jej WRITE_SECURE_SETTINGS do SecureTask, ako je uvedené v mojom článku, inak tento profil nebude fungovať čokoľvek na vašom telefóne!

Stiahnite si profil „Kurzory klávesnice“ z AndroidFileHost

Ak vás zaujíma, aké ďalšie užitočné klávesy môžeme pridať na navigačný panel, aby bol Android O príjemnejší, ukážeme vám alternatívne nastavenie v budúci tutoriál.