1 votos

Navegación por los menús de Android sin entrada en la pantalla táctil

Estoy trabajando en un proyecto de gafas inteligentes que está utilizando un Intrinsyc Open-q 2500 SOM (conectado a una placa breakout personalizada) que utiliza un procesador Snapdragon, ejecutando un SDK Android personalizado (Oreo 8.1) hecho para relojes inteligentes.

Para navegar por la interfaz de usuario de Android, así como por las aplicaciones, esperamos utilizar un chip sensor táctil IQS223, que dará una salida alta durante un breve período cuando se detecte un gesto. Por ejemplo, si se detecta un deslizamiento hacia adelante, el pin1 (conectado al GPIO1 del SOM) se pondrá en alto durante 80ms, o si se detecta un TAP, el pin2 (conectado al GPIO2 del SOM) se pondrá en alto durante 80ms.

He leído que es posible conectar la navegación/control de una aplicación a través de un teclado externo. Todos los widgets interactivos son enfocables, lo que significa que el widget seleccionado es resaltado (a través de un brillo o cambio de apariencia). Por lo tanto, parece que debería ser capaz de disparar un evento de teclado en la detección de un cambio de entrada GPIO, y utilizar ese evento para desencadenar una acción. Por ejemplo, al detectar una entrada alta en el GPIO1, dispararía un evento de pulsación de tecla "Enter".

Mi pregunta es ¿cómo puedo hacer esto para la interfaz de usuario principal de Android (navegación de la configuración, la selección de una aplicación en el menú principal, etc.)? Es decir, quiero configurar la interfaz de usuario principal de Android para que sea enfocable (si es posible) para que pueda navegar / controlar el dispositivo mediante la simulación de pulsaciones de teclas, que se disparan cuando un nivel de entrada cambia en un determinado pin GPIO.

¿Hay algún método alternativo para conseguirlo?

0 votos

En la dirección de @Puspam respuesta, ¿ha mirado en la construcción de su propio Servicio de accesibilidad para manejar la traducción de la entrada GPIO.

0 votos

Gracias @MorrisonChang, parece la información que estaba buscando. Parece que voy a ser capaz de vincular un evento de pulsación de tecla (generado por la entrada GPIO) a una acción de navegación mediante la creación de un servicio de accesibilidad.

0 votos

Si puedes/necesitas hacer una Custom ROM, pues a ver: source.Android.com/devices/input/touch-devices para las consideraciones relativas al controlador táctil.

2voto

Paul Puntos 1319

La funcionalidad que busca está disponible en los ajustes de accesibilidad. Se llama Acceso al conmutador , Interruptor universal y muchos más, basta con buscar el término cambiar después de ir a Configuración del sistema -> Accesibilidad . A continuación, sigue las instrucciones que aparecen en pantalla para configurarlo.

0 votos

De acuerdo, entonces Android tiene la capacidad de funcionar de la manera deseada. ¿Significa eso que tendría que ir al nivel del kernel y asignar eventos de pulsación de teclas a GPIOs conectados al sensor táctil? ¿Entonces podría generar la pulsación de tecla cuando configure el acceso al interruptor y éste detectará el evento disparado?

0 votos

Si sólo quieres un interruptor, la toma de auriculares puede ayudarte. Las tomas de auriculares de 4 patillas pueden implementar un interruptor que se ve cerca del micrófono. algunos smartphones pueden detectar esa tecla. Pero no está garantizado que funcione en todos los teléfonos.

0 votos

También puedes utilizar la funcionalidad USB OTG, ya que está presente en todos los smartphones recientes. Los dispositivos USB se pueden conectar al teléfono y el sistema operativo puede detectar la pulsación de la tecla. Por lo tanto, puede utilizar una interfaz USB para conectar el sensor al teléfono, por ejemplo, Arduino. Puedes encontrar los ajustes necesarios en el menú Accesibilidad. En mi teléfono, hay una opción llamada Interruptor USB .

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X