Los AirPods de Apple están hechos para escuchar música y hablar por teléfono, pero llevan sensores capaces de seguir los movimientos de quien los usa. MousePods, un proyecto de código abierto, les da otro uso a esos sensores y convierte un par de AirPods en un mouse de manos libres para computadores con Linux. En vez de deslizar un mouse sobre el escritorio, el cursor se mueve con la cabeza.

El desarrollador Matteo Gaudioso escribió MousePods en Python y funciona con los AirPods 3 y los AirPods Pro. La aplicación toma los datos de los sensores de movimiento de los audífonos, sigue los giros de la cabeza y los traduce en desplazamientos del cursor. También se puede tomar un audífono con la mano y agitarlo en el aire, como un mouse aéreo.

¿Por qué los AirPods 3 eran un problema?

Hacerlo funcionar costó más de lo que parece. Apple incorporó el seguimiento de cabeza en los AirPods 3 en 2021, pero leer esos sensores fuera de su ecosistema ha sido difícil. Otros proyectos abiertos ya obtenían estos datos desde modelos más nuevos, mientras los audífonos de tercera generación seguían casi sin soporte.

Gaudioso terminó por encontrar la razón. Los AirPods más nuevos envían los datos de movimiento con un protocolo llamado SensorDataWX, y los AirPods 3 usan otro, el protocolo RemoteHID de Apple. Esa forma de acceder a sus sensores no estaba documentada públicamente, así que entenderla exigió mucha ingeniería inversa.

Quedaba un segundo obstáculo. Linux usa por defecto una unidad máxima de transmisión (MTU) de 672 bytes para el canal Bluetooth L2CAP, y ese tamaño no alcanzaba para que los AirPods anunciaran sus sensores, de modo que el computador no los veía. Al subir la MTU a 2.582 bytes, el mismo valor que usa iOS, aparecieron los ocho dispositivos de sensores virtuales.

ModeloProtocoloFrecuencia de datos
AirPods 3RemoteHIDhasta 210 Hz
AirPods Pro 2SensorDataWX25 Hz

Con eso resuelto, Gaudioso obtuvo datos de movimiento de los AirPods 3 a 210 Hz. Como comparación, se verificó que los AirPods Pro 2 entregan datos a 25 Hz con el protocolo SensorDataWX que ya se conocía.

Tres formas de mover el cursor

MousePods procesa los datos del giroscopio, del acelerómetro y de la gravedad para calcular cómo se mueven los audífonos, y convierte esa información en movimientos del cursor. Funciona tanto en escritorios con Wayland como con X11, sin necesitar un dispositivo Apple ni privilegios de root.

La aplicación ofrece tres modos de control:

  • Modo mouse, que mueve el cursor al girar o inclinar la cabeza, o al mover un audífono en la mano.
  • Modo puntero, pensado para apuntar directo a la pantalla después de calibrar dos esquinas.
  • Modo deslizamiento, experimental, que permite arrastrar un audífono sobre la mesa como un mouse tradicional.

La interfaz gráfica imita el estilo de la aplicación de Configuración de macOS. Muestra el nivel de batería y la orientación en 3D en tiempo real, e incluye herramientas de calibración y ajustes. Para hacer clic se puede presionar el tallo de un audífono, inclinar la cabeza o dejar el cursor quieto en un punto.

El código fuente y la documentación de MousePods están disponibles en GitHub para quien quiera probarlo.