O MousePods usa os sensores de movimento dos AirPods para controlar o cursor de um computador com Linux, sem precisar de um dispositivo Apple. O projeto, criado por Matteo Gaudioso, também detalha como um ajuste no tamanho de recepção Bluetooth fez os sensores dos AirPods 3 aparecerem no Linux. O site do MousePods descreve os modelos e modos testados e os requisitos para usar o aplicativo.

O que o MousePods faz com os AirPods no Linux

Tela escura do MousePods com a representação de um fone e eixos de orientação, um ponto azul no painel de cursor e linhas coloridas em um gráfico.

O aplicativo transforma movimentos da cabeça ou de um AirPod segurado na mão em comandos para o cursor. Para isso, envia a entrada a um dispositivo virtual do Linux por meio de /dev/uinput. Não é preciso conectar um iPhone ou Mac, mas o computador precisa executar Linux.

A interface reúne a representação do fone e seus eixos de orientação, um indicador do cursor e um gráfico de movimento. Os rótulos aparecem em francês, como na tela original do aplicativo.

O que mudou para os sensores dos AirPods 3

Nos testes documentados pelo projeto, os AirPods 3, modelos A2564/A2565, não anunciavam os descritores dos sensores quando o MTU de recepção L2CAP estava no padrão de 672 bytes. MTU é o tamanho máximo de dados aceito de uma vez pelo canal; com o valor ajustado para 2582 bytes, os descritores apareciam. O projeto identifica esse caminho como Apple RemoteHID sobre AACP, no canal RTBuddy 0x800, e não como o protocolo SensorDataWX usado por modelos mais novos. A documentação técnica do projeto registra o teste com firmware de versão de marketing 6296592, Ubuntu 24.04, BlueZ 5.72 e Python 3.12.

O projeto mediu uma taxa de até cerca de 210 Hz nos AirPods 3, mas recomenda aproximadamente 100 Hz como ajuste prático. Em um teste de 23 segundos, com A2DP e um mouse Bluetooth de baixa energia compartilhando a conexão, foram observadas 12 lacunas superiores a 50 ms perto de 180 Hz. Com intervalo de relatório de 10 ms, a taxa medida foi de cerca de 110 Hz.

Para saber o que esperar do MousePods, confira tanto o modelo dos AirPods quanto o modo de uso: o status de teste varia entre eles.

Quais modelos e modos o projeto lista

O MousePods lista AirPods 3 e AirPods Pro 2 como testados em hardware. AirPods 2, AirPods Pro 1 e AirPods Max aparecem como não testados. Para os AirPods Pro 2, o projeto indica uma taxa de cerca de 100 Hz com o intervalo padrão de 10 ms.

O modo mouse, que usa movimentos da cabeça ou de um fone na mão, foi testado em hardware. O modo ponteiro, que mira na tela e usa calibração pelos cantos, aparece apenas como simulação; o modo de deslizar o fone sobre uma mesa é experimental. Para clicar, o projeto descreve pressionar a haste, inclinar rapidamente a cabeça ou manter o cursor sobre um ponto por tempo suficiente, uma técnica chamada dwell.

O caminho pelo opentrack foi testado offline, mas o site do projeto não relata teste desse caminho dentro de um jogo. Separadamente, o repositório descreve a integração direta com Steam/Proton testada por um colaborador em Bazzite, com AirPods Pro 2, em Assetto Corsa e Euro Truck Simulator 2. O repositório do MousePods relata essa experiência distinta.

O que é necessário para usar o MousePods

O computador precisa rodar Linux com BlueZ, ter os AirPods pareados e permitir escrita em /dev/uinput. O projeto também lista Python 3.10 ou posterior como requisito e afirma que não é preciso acesso root. A instalação documentada parte do código do repositório, usa um ambiente virtual Python e instala as dependências de requirements.txt antes de iniciar airpods_mouse_controller.py --ui.

Os sensores dos AirPods 3 ficam inativos enquanto os fones estão no estojo; por isso, o estojo não funciona como entrada de mouse.