Cómo agregar cursores izquierdo/derecho a la barra de navegación durante la entrada de texto en Android O

Un tutorial sobre cómo mostrar los botones del cursor izquierdo/derecho en la barra de navegación en Android O, pero solo cuando un campo de entrada de texto está activo.

Una de las funciones adicionales más antiguas a las ROM personalizadas que aún no se ha incluido en una versión oficial de Android es la capacidad de mover manualmente el cursor de entrada de texto. Dependiendo de su ROM, es posible que pueda mover el cursor de entrada de texto usando los botones de volumen o presionando los botones virtuales en la barra de navegación. Esta característica es esencial si regresas con frecuencia para hacer correcciones al escribir, pero sin una ROM personalizada no podrás disfrutarla.

Sin embargo, si está ejecutando el Vista previa para desarrolladores de Android O que tiene un nuevo personalizador de la barra de navegación oculto en SystemUI Tuner, luego puede agregar cursores de teclado izquierdo/derecho a su barra de navegación. Todo lo que necesitas hacer es configurar la tecla de la barra de navegación izquierda en

KEYCODE_DPAD_LEFT (#21) y la tecla derecha de la barra de navegación para KEYCODE_DPAD_RIGHT (#22). En cuanto a los íconos, usar los íconos de flecha izquierda/derecha predeterminados tiene más sentido. Este método definitivamente funciona, como lo señala Policía Android, pero tiene fallas porque requiere que se coloquen estas claves permanentemente en la barra de navegación.

Si tienesestadosiguiente mi anteriortutoriales en el personalizador de la barra de navegación de Android O, entonces sabrá que es posible cambiar las dos teclas de la barra de navegación según el criterio que queramos. Por lo tanto, para que nuestros nuevos cursores de teclado/entrada de texto sean más conscientes del contexto, podemos usar Tasker para muestra los botones del cursor del teclado solo mientras se muestra la entrada de texto en Android O. Proporcionaremos instrucciones paso a paso en este tutorial, pero también puede ir al final para descargar el perfil e importarlo.

¡Gracias a Eli Irvin por probar mi perfil de Tasker y capturar esta grabación de pantalla!


Mostrar cursores izquierda/derecha en la barra de navegación durante la entrada de texto

Requisitos:

  • Tasker ($2.99)
  • tarea segura
  • Beta de entrada automática (~$1.70)

Tasker es necesario porque es la aplicación de automatización que estamos usando la que, cuando AutoInput detecta un campo de texto, enviará comandos a través del complemento SecureTask para cambiar nuestra barra de navegación. Una vez que haya instalado estas aplicaciones, debemos configurarlas.

Si bien no existe una forma directa de detectar cuándo se muestra el teclado, una cosa que podemos monitorear es cuándo un campo de texto está enfocado. Sabrá cuándo un campo de entrada de texto está enfocado si observa que aparece un cursor parpadeante en un cuadro de texto. Podemos monitorearlos usando la última versión beta de AutoInput que acaba de ser lanzada, lo que nos permite lograr esto. Para que AutoInput monitoree los campos de texto, debemos habilitar su Servicio de Accesibilidad.

Hacerlo es muy rápido, simplemente vaya a Configuración --> Accesibilidad y busque "AutoInput" en la lista de Servicios. Habilite el servicio de accesibilidad.

A continuación, debemos otorgarle a SecureTask la capacidad de modificar la configuración del sistema en nuestro dispositivo. Para hacerlo, debemos otorgarle a SecureTask un permiso especial conocido como WRITE_SECURE_SETTINGS que es normalmente inaccesible para aplicaciones normales, pero un usuario puede otorgarlo manualmente mediante el uso de ADB. Por lo tanto, necesitará tener ADB funcionando en su máquina para que esto funcione. Afortunadamente, otorgar este permiso es sólo una vez, por lo que si planeas seguir cualquiera de nuestros otras guías relacionadas con Android O, eventualmente necesitarás hacer esto.

Configurando el BAD

Lo primero que deberá hacer es descargar el binario ADB para su sistema operativo en particular. Puedes hacerlo aquí. Una vez que los haya descargado, deberá asegurarse de tener la conductor adecuado si estás en Windows.

Una vez que haya extraído el binario en una carpeta separada y haya instalado el controlador, a continuación debemos habilitar la depuración USB en el teléfono inteligente. Para hacerlo, abra Configuración y vaya a Acerca del teléfono. Toque Número de compilación 7 veces hasta que aparezca un cuadro de diálogo que le indica que ha desbloqueado las Opciones de desarrollador. Puede acceder a las Opciones de desarrollador en Configuración ahora. Aparentemente, en Android O, debes ingresar tu pin/contraseña antes de poder abrir Opciones de desarrollador. Hágalo y busque Depuración USB, luego habilítelo.

Ahora conecte su teléfono y abra un símbolo del sistema en el mismo directorio donde extrajo el binario ADB. (Usuarios de Windows, mantenga presionada la tecla Mayús + clic derecho en esa carpeta y seleccione "abrir símbolo del sistema aquí"). adb devices en el símbolo del sistema. Verá un mensaje que indica que el servidor ADB se está iniciando, luego en su teléfono verá un mensaje que le pedirá que le otorgue acceso ADB a su computadora. Acéptalo. Ahora cuando entras adb devices en el símbolo del sistema, debería ver el número de serie de su dispositivo; si es así, tuvo éxito.

Otorgar WRITE_SECURE_SETTINGS a SecureTask

Con un símbolo del sistema ADB abierto, ingrese el siguiente comando para otorgar a SecureTask el permiso necesario.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

¡SecureTask ahora tendrá la capacidad de modificar la configuración del sistema sin acceso de root! Ahora estamos listos para pasar a Tasker.

Configurar el perfil de tasker

Abre Tasker y crea un nuevo perfil presionando el botón +. Nombralo Cursores del teclado y elige el Evento Contexto. Ir a Complemento --> Entrada automática --> Acción de UI. Para los tipos de acción, seleccione Elemento de entrada enfocadoEnfoque del elemento de entrada perdido. Deje el texto del elemento en blanco. Agregar este contexto de AutoInput iniciará el servicio de monitorización de AutoInput para detectar cuándo se ingresa un texto. El campo gana o pierde foco y lo almacena en una variable como un valor booleano (verdadero/falso) que podemos leer.

Una vez que haya terminado de crear el perfil, Tasker le pedirá que agregue una tarea. Elija crear una nueva tarea, pero no se moleste en darle un nombre. Una vez en la pantalla de edición de tareas, agregue las siguientes acciones:

  1. A1: Tarea --> Si. Configúrelo en if %aifocus ~ true. Esta será nuestra condición para cuando AutoInput detecte que un campo de entrada de texto está enfocado. Las siguientes dos acciones configurarán las teclas de la barra de navegación en las teclas DPAD_LEFT y DPAD_RIGHT.
  2. A2: Complemento --> SecureTask --> Configuración segura. Acción: Escribir. Configuración: secure sysui_nav_bar_left. Valor: key(21:com.android/systemui/2131230907).
  3. A3: Complemento --> SecureTask --> Configuración segura. Acción: Escribir. Configuración: secure sysui_nav_bar_right. Valor: key(22:com.android/systemui/2131231004).
  4. A4: Tarea --> Más. Esto es cuando %aifocus se establece en falso, en otras palabras, el campo de entrada de texto ha perdido el foco. Luego borraremos las teclas de la barra de navegación.
  5. A5: Complemento --> SecureTask --> Configuración segura. Acción: Escribir. Configuración: secure sysui_nav_bar_left. Valor: null.
  6. A6: Complemento --> SecureTask --> Configuración segura. Acción: Escribir. Configuración: secure sysui_nav_bar_right. Valor: null.
  7. A7: Tarea --> Finalizar si.

Ya terminaste con este script de Tasker. Ahora, cada vez que AutoInput detecta un campo de entrada de texto enfocado (lo que se correlaciona con el momento en el que el teclado está activado). se muestra), verá dos nuevas teclas de cursor en la barra de navegación que desaparecerán cuando el campo de entrada de texto ya no esté disponible. enfocado.


Descargar e importar

Como ocurre con todos los tutoriales relacionados con Tasker, le proporcionaremos el archivo XML que puede descargar e importar. Descargue el archivo .prf.xml de AndroidFileHost a continuación y guárdelo en su almacenamiento interno. Abra Tasker y mantenga presionada la pestaña Perfiles en la parte superior hasta que vea un botón Importar. Toque eso y busque el archivo XML que acaba de guardar, luego selecciónelo para importarlo. Asegúrese de tener habilitado el Servicio de accesibilidad de AutoInput y haber otorgado la WRITE_SECURE_SETTINGS a SecureTask como se menciona en mi artículo; de lo contrario, este perfil no funcionará ¡Cualquier cosa en tu teléfono!

Descargue el perfil "Cursores de teclado" desde AndroidFileHost

Si se pregunta qué otras teclas útiles podemos agregar a la barra de navegación para hacer de Android O una experiencia más agradable, le mostraremos una configuración alternativa en un futuro tutorial.