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
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.