En handledning om hur du lägger till vänster/höger tangentbordsmarkörer till navigeringsfältet under textinmatning med Tasker och Custom Navigation Bar. Ingen root behövs, Android 7.0+.
Att anpassa navigeringsfältet har varit en stapelvara i anpassade ROM-skivor ända sedan Google introducerade Galaxy Nexus med Android 4.0 Ice Cream Sandwich (vi pratar inte om Motorola Xoom och Honeycomb runt dessa delar). Även om ett fåtal OEM-tillverkare erbjuder någon form av mjukvarunyckelanpassning på sina telefoner, är det bara med första Android O Developer Preview som Google officiellt inkluderar anpassning av navigeringsfältet. Användare på våra forum upptäckte dock att Googles navbar-tuner faktiskt var det gömd i AOSP sedan Android Nougat, men det var först den här veckan som vi upptäckte att denna dolda navbar-tuner kunde vara nås via skalkommandon utan att behöva root, anpassade ROM eller systemgränssnittsmods. Är det nu möjligt att implementera populära anpassade ROM-funktioner som att lägga till tangentbordsmarkörer i navigeringsfältet?
Du slår vad, eftersom denna uppenbarelse har öppnat slussarna för rotlös anpassning av navigeringsfältet, och i spetsen är XDA Senior Member pafonb som utvecklade en applikation som heter Anpassad navigeringsfält för att hjälpa användare att ändra navigeringsfältet utan att behöva köra skalkommandon. Hans ansökan är ganska funktionsfylld; den ger till exempel en Tasker plugin så att du kan kontextuellt ändra navigeringsfältet. Eftersom många användare inte är bekanta med Tasker, skriver jag dessa handledningar för att hjälpa användare att dra fördel av anpassning av navigeringsfältet.
I den här handledningen kommer jag att visa dig hur du gör lägg till vänster/höger tangentbordsmarkörer i navigeringsfältet medan tangentbordet visas (Android 7.0+, ingen root behövs!) Denna handledning liknar den jag skrev för Android O-användare, men den här handledningen kommer att vara mycket mer tillgänglig eftersom den fungerar på Android Nougat.
Ja, ja, vi vet att Swiftkey och Gboard, bland annat har tangentbordsmarkörer inbyggda i tangentbordet. Men inte alla tangentbord gör det, och enligt min mening är det bekvämare att använda knapparna på navigeringsfältet snarare än knapparna i Swiftkey (som tar upp plats) eller de i Gboard (som kräver oprecisa svep över mellanslagstangenten eller byte till en speciell läge).
Rekommenderad läsning 1: Hur du ändrar dina navigeringsfältsikoner eller omarrangerar knapparna utan rot
Rekommenderad läsning 2: Så här lägger du till medieuppspelningskontroller i navigeringsfältet när du spelar musik
Lägg till vänster/höger tangentbordsmarkörer till navigeringsfältet under textinmatning
Krav
Systemet Krav: Du behöver en Android 7.0+-enhet som är kompatibel med AOSP-navigeringsfältsanpassaren. Google Nexus, Pixel och vissa Sony/HTC-telefoner är kända för att fungera. De flesta enheter som är nära lager Android har sannolikt inte tagit bort AOSP navigeringsfältsanpassaren och borde fungera. Detta betyder att det troligen inte kommer att fungera på din lager LG, Samsung eller Huawei/Honor-enhet. Se avsnittet "kompatibilitet". i det första inlägget i denna tråd. (Obs: din enhets OEM kanske inte finns med i den tråden. Det enda sättet att veta säkert om din enhet är kompatibel är att prova appen, vilket vi kommer att visa dig hur du gör nedan.)
Appkrav:
- Anpassad navigeringsfält (Gratis för 2 profiler)
- Tasker ($2.99)
- AutoInput Beta (v2.0.5b.bf) (~1,70 USD)
Anledningen till att vi behöver anpassad navigeringsfält är uppenbart - det här programmet är det som gör att vi kan ändra navigeringsfältet för att visa dessa medieuppspelningsknappar. (Tekniskt sett behöver vi faktiskt inte den här appen för dessa ändringar eftersom vi kan använda skalkommandon eller andra Tasker-plugins, utan för att göra saker enklare för våra användare kommer vi att visa hur man ställer in detta med denna underbara app.) AutoInput Beta är ett Tasker-plugin som hjälper oss att upptäcka när tangentbordet är visas (tekniskt sett kommer plugin-programmet att upptäcka när en textinmatningsruta visas istället för att själva tangentbordet visar, men det här är det närmaste vi kan skaffa sig). Slutligen överbryggar Tasker gapet mellan AutoInput Beta och Custom Navigation Bar.
Inställning: anpassad navigeringsfält
Det första vi behöver göra är att se till att det till och med är möjligt att ändra navigeringsfältet på din enhet. Om din enhet är en av de som listas som kompatibla i Tråd för anpassad navigeringsfält, då är chansen stor att det blir det. Vi kan verifiera genom att gå igenom den korta handledningen som följer med den här appen.
Installera appen från Google Play Butik, öppna sedan appen och fortsätt genom de inledande skärmarna. Anpassad navigeringsfält kommer att be dig att ge den en viss behörighet som heter WRITE_SECURE_SETTINGS för att fortsätta använda appen. Det finns två sätt du kan göra detta på, som anges i ansökan.
- Om du har en rotad enhet kommer Custom Navigation Bar att begära superanvändaråtkomst. Bevilja det och appen kommer automatiskt att ge sig själv denna behörighet.
- Om din enhet inte är rootad måste du ge tillståndet via ADB. Öppna en kommandotolk/terminal på din maskin och skriv sedan in följande kommando:
adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS
När du har gett appen denna behörighet genom någon av de två metoderna ovan, fortsätter appen med ett kompatibilitetstest. Om ditt navigeringsfält inte ändras har du tyvärr ingen tur. Om ditt navigeringsfält ändras till att visa en högerpil, så grattis att din enhet stöds! Vi kan nu gå vidare till att ändra vårt navigeringsfält.
Inställning: AutoInput Beta
För att AutoInput Beta ska upptäcka när en textinmatningsruta visas måste vi aktivera dess tillgänglighetstjänst. Allt du behöver göra är att gå till Inställningar --> Tillgänglighet (beroende på din enhet kan det finnas i en annan undermeny) och hitta AutoInput i listan över tjänster. Tryck på den och tryck sedan på knappen uppåt för att aktivera tillgänglighetstjänsten.
Handledning
När du har bekräftat att Custom Navigation Bar är kompatibel med din enhet och att tillgänglighetstjänsten är aktiverad för AutoInput Beta, är det dags att ställa in allt detta. Det första vi behöver göra är att skapa en ny profil i Custom Navigation Bar som, när den är aktiverad, lägger till vänster/höger-tangenten i vårt navigeringsfält. Här är steg-för-steg-instruktionerna:
- Öppna appen Custom Navigation Bar och tryck på Profiler under avsnittet Automation.
- Tryck på + ikonen uppe till höger för att lägga till en ny profil.
- Tryck på profilen som just skapades.
- Under profilsektionen, tryck på Namn och namnge denna profil Tangentbordsmarkörer.
- Klicka på under "Extra vänsterknapp". Typ. Ställ in Typ till Nyckelkod.
- Det bör finnas två nya alternativ under "Extra vänsterknapp" som heter Keycode och Icon. Knacka på Nyckelkod.
- Rulla ned och välj Dpad vänster.
- Tryck nu på Ikon under avsnittet "Extra vänsterknapp".
- Välj chevron vänster ikon.
- Upprepa steg 5-9 för "extra höger knapp." Ställ dock in nyckelkoden på Dpad höger och ställ in ikonen på chevron höger.
- Säkerhetskopiera toppen under profilsektionen, tryck på Aktiverad för att testa den här profilen. Om du ser en vänster- och högerpil dyker upp i navigeringsfältet, så fungerar detta korrekt.
Nu när vi har konfigurerat den anpassade navigeringsfältsprofilen är vi redo att konfigurera vår Tasker-profil som kommer att aktivera/inaktivera den här profilen när textinmatning upptäcks/försvinner. Allt detta kommer att göras i en enda profil. Här är instruktionerna:
- Öppna Tasker och skapa en ny profil genom att trycka på + ikonen nere till höger.
- Välj Händelse sammanhang.
- Välja Plugin --> AutoInput --> UI Action. Tryck på pennikonen för att öppna AutoInput-konfigurationen.
- Väl i AutoInput UI Action-konfigurationen, tryck på Åtgärdstyper. Välj Ingångselement fokuserat och Ingångselementets fokus förlorat. Ignorera avsnittet Elementtext. Tryck på bockikonen upptill när du är klar.
- Gå tillbaka till Taskers huvudskärm och Tasker kommer att be dig att bifoga en uppgift till den här profilen. Välj att skapa en ny uppgift. Bry dig inte om att namnge uppgiften.
- Lägg till en åtgärd till den här uppgiften genom att trycka på + ikonen i nedre mitten.
- Gå till Uppgift --> Om. Ställ in den på Om %aifocus ~ sant. ~ är "matcher".
- För den andra åtgärden, gå till Plugin --> Anpassad navigeringsfält. Tryck på pennikonen för att öppna konfigurationen. För åtgärden välj Aktivera profil. Under Välj profil väljer du Tangentbordsmarkörer profil som vi gjorde tidigare.
- För den tredje åtgärden, gå till Uppgift --> Annat.
- För den fjärde åtgärden, gå till Plugin --> Anpassad navigeringsfält. Tryck på pennikonen för att öppna konfigurationen. För åtgärden välj Inaktivera profil. Under Välj profil väljer du Tangentbordsmarkörer profil igen.
- För den sista åtgärden, gå till Uppgift --> Avsluta If.
- Tryck på bakåt och avsluta skärmen för uppgiftsredigering.
När du har gjort alla stegen ovan är vi klara! Gå vidare och prova det genom att öppna valfri textinmatningsruta och se om ditt navigeringsfält ändras till att inkludera vänster/höger tangentbordsmarkörer. Om det inte fungerar, dubbelkolla att AutoInputs tillgänglighetstjänst är aktiverad.
Använda skalkommandon
Med tanke på hur lätt det är att använda XDA Senior Member pafonbs Anpassad navigeringsfält app, jag ser inte riktigt behovet av att tillhandahålla detaljerade steg-för-steg-instruktioner om hur man gör detta med andra Tasker-plugins som t.ex. SecureTask eller AutoTools (eller körskalfunktionen i Tasker). Det är dock säkert möjligt, och jag kommer åtminstone att ge en sammanfattning av de kommandon du behöver för att replikera den här inställningen utan att använda paphonbs app.
Det första du behöver göra är att installera antingen SecureTask eller AutoTools. Du måste ge WRITE_SECURE_SETTINGS behörighet till vilken app du än väljer för att styra navigeringsfältet.
För SecureTask:
adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS
För AutoTools:
adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS
Därefter måste du ladda ner ikonerna som du kommer att använda för föregående/nästa nycklar. Du behöver ikonerna i PNG-format, och vad gäller storleken kan du bestämma storleken på ikonerna du behöver genom att slå upp din enhetens mätvärden för displaydensitet på Material.io och korrelerar det med en ikonstorlek referensdiagram. IconsDB.com är en bra resurs för gratis ikoner. Spara ikonerna du kommer att använda som left.png och right.png i en mapp som heter /NavIcons i rotkatalogen på din lagring.
Slutligen kommer du att ange det här kommandot för att visa mediakontrollknapparna:
settings put secure sysui_nav_bar "key(21:file:///storage/emulated/0/NavIcons/left.png),back; home; recent, key(22:file:///storage/emulated/0/NavIcons/right.png)"
där nyckel #21 refererar till KEYCODE_DPAD_LEFT och nyckel #22 hänvisar till KEYCODE_DPAD_RIGHT.
Sedan för att återställa dina navigeringsknappar till standardlayouten (dvs. textinmatningsfokus har förlorats), ange detta kommando:
settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"
I huvudsak kommer Tasker-profilens inställningar att vara exakt samma som inställningarna ovan, förutom i stället för de två Custom Navigation Bar Tasker Actions kommer du att använda SecureTask/AutoTools/Run Shell. Observera bara att, om du inte är rotad och använder "kör skal"-åtgärden i Tasker, är processen för att få dessa kommandon till SecureTask eller AutoTools helt upp till dig. Det är verkligen inte så svårt att göra, men många användare tycker att det är lättare att använda Paphonbs app, så jag kommer inte gå in på så mycket mer detaljer här.
Slutsats
Det var allt för den här handledningen. Jag kommer då och då att lägga upp framtida tutorials när jag hittar mer praktiska användningsområden för att ändra ditt navigeringsfält, särskilt på ett kontextuellt sätt med en automatiseringsapp som Tasker. Om du har några smarta idéer men inte vet hur du ska implementera det själv, skicka ett meddelande till oss via vår Tipsformulär eller maila oss direkt, så ska vi göra vårt bästa för att reda ut det!
Vänligen stöd XDA-utvecklare på alla sätt du kan! Vi upptäckte nyligen att det fanns flera bloggar som klippte, kopierade, klistrade in våra ursprungliga handledningar och annat innehåll som delas av våra användare på forumen. Dessa bloggar har försökt ta åt sig äran för den enorma mängd ansträngning vi gör för att sammanställa dessa tutorials snarare än att tillhandahålla kvalitetsinnehåll på egen hand. Du kommer inte att hitta tutorials som de vi har skrivit i vår tutorials kategori eller tutorials från våra forum någon annanstans.
Följ oss på Twitter, Google+, Facebook, eller Youtube. Kolla in vår XDA Labs app för ett snabbt sätt att bläddra i våra forum (och överväg att skaffa XDA annonsfri också!) på din mobila enhet, och kolla in vår nyligen släppta XDA-flöde app om du äger en OnePlus 3 eller OnePlus 3T! Tack och håll utkik efter vår nästa handledning!