sensores

MousePods transforma los AirPods en un dispositivo de entrada para Linux

Un proyecto de código abierto habilita el control de cursor mediante movimientos de cabeza, superando obstáculos técnicos de comunicación y protocolo.

El desarrollador Matteo Gaudioso es el artífice de MousePods, una aplicación basada en Python compatible con los AirPods 3 y AirPods Pro. Su funcionalidad principal radica en traducir los movimientos de la cabeza o de un auricular sostenido en la mano en desplazamientos del cursor en el escritorio Linux.

El desarrollo de MousePods enfrentó desafíos significativos. Aunque los AirPods 3 incorporan seguimiento de cabeza desde 2021, el acceso a sus datos de movimiento fuera del ecosistema de Apple ha sido históricamente complejo. Gaudioso identificó que los AirPods 3 emplean el protocolo RemoteHID para la comunicación de datos de movimiento, a diferencia de los modelos más recientes que utilizan SensorDataWX. Este protocolo RemoteHID carecía de documentación pública, lo que exigió un extenso trabajo de ingeniería inversa para su comprensión.

Otro obstáculo técnico residía en el límite de la unidad máxima de transmisión (MTU) por defecto del protocolo Bluetooth L2CAP en Linux, establecido en 672 bytes. Este tamaño era insuficiente para que los AirPods anunciaran sus sensores de movimiento. La solución implicó incrementar el MTU a 2582 bytes, un valor que coincide con el utilizado por iOS, permitiendo así la exposición de los ocho dispositivos de sensor virtual. Una vez resueltos estos inconvenientes, fue posible recuperar datos de movimiento de los AirPods 3 a una tasa de hasta 210 Hz, superando los 25 Hz verificados para los AirPods Pro 2 mediante el protocolo SensorDataWX.

MousePods procesa la información del giroscopio, acelerómetro y datos de gravedad para determinar el movimiento de los auriculares y convertirla en acciones del cursor. El sistema es compatible con entornos de escritorio Wayland y X11, y no requiere de un dispositivo Apple ni privilegios de administrador (root).

La aplicación ofrece tres modos de control: el modo "Mouse", que permite mover el cursor girando o inclinando la cabeza, o agitando un auricular; el modo "Pointer", diseñado para apuntar directamente a la pantalla tras una calibración inicial; y un modo experimental "Glide", que posibilita deslizar un auricular sobre una superficie como un ratón convencional. La interfaz gráfica de usuario de MousePods, similar a la configuración de macOS, incluye información de batería, seguimiento de orientación 3D en tiempo real, herramientas de calibración y ajustes configurables. Las acciones de clic pueden ejecutarse presionando el vástago del auricular, inclinando la cabeza o manteniendo el cursor en una posición fija.

El código fuente y la documentación de MousePods están disponibles públicamente en GitHub.

Fuente original: Hackster.io

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *