MousePods est une application Python pour Linux qui transforme les mouvements des AirPods en commandes de souris, sans iPhone ni Mac. Le projet de Matteo Gaudioso indique que les AirPods 3 et les AirPods Pro 2 ont été testés sur matériel, mais que le niveau de validation dépend du mode utilisé. Le projet MousePods décrit aussi le mécanisme particulier qui a rendu visibles les capteurs des AirPods 3 sous Linux.

Comment MousePods transforme le mouvement en curseur

Interface sombre de MousePods avec un écouteur rendu en trois dimensions, des axes d’orientation, un repère de curseur et un graphique coloré.

L’application lit les données de mouvement des écouteurs et peut déplacer le curseur quand on tourne la tête ou qu’on bouge un écouteur tenu à la main. Son interface affiche notamment l’orientation de l’écouteur, un repère de curseur et les variations de mouvement. Le projet décrit une sortie vers un périphérique d’entrée virtuel Linux, via /dev/uinput.

Pourquoi les capteurs des AirPods 3 sont apparus à un MTU plus élevé

Pour les AirPods 3 A2564/A2565, le projet attribue la découverte des capteurs à une limite de MTU. Le MTU, ou unité maximale de transmission, fixe la taille des données reçues sur une connexion. Dans son test, les capteurs n’étaient pas annoncés avec le MTU de réception L2CAP de 672 octets utilisé par défaut sous Linux ; ils apparaissaient à 2 582 octets, valeur que le projet associe à iOS.

Le projet décrit la liaison des AirPods 3 comme Apple RemoteHID sur AACP, via le canal RTBuddy 0x800, et non le protocole SensorDataWX utilisé par des modèles plus récents. Son test est précisément décrit avec le micrologiciel marketing 6296592, Ubuntu 24.04, BlueZ 5.72 et Python 3.12. La documentation technique de MousePods rapporte un flux pouvant atteindre environ 210 Hz. Elle recommande environ 100 Hz comme réglage pratique : lors d’un test autour de 180 Hz, avec A2DP et une souris Bluetooth LE partageant la liaison, le projet a relevé 12 interruptions de plus de 50 ms en 23 secondes.

Modèles d’AirPods et modes de MousePods

Le projet indique que les AirPods 3 et les AirPods Pro 2 ont été vérifiés sur matériel. Il classe les AirPods 2, les AirPods Pro 1 et les AirPods Max comme non testés. Les AirPods 4 ne figurent pas dans sa liste de modèles vérifiés ; un protocole partagé ne suffit pas à établir leur compatibilité avec MousePods.

Le mode souris, qui utilise le mouvement de la tête ou d’un écouteur tenu à la main, est indiqué comme testé sur matériel. Le mode pointeur avec calibration des coins n’a été testé qu’en simulation, et le mode glisse, qui consiste à déplacer un écouteur sur une table, reste expérimental. Pour cliquer, le projet décrit notamment la pression sur la tige, une inclinaison rapide de la tête ou le maintien du regard.

Le projet distingue aussi deux voies de suivi de tête. La sortie opentrack a été testée hors jeu. Séparément, un contributeur décrit une intégration directe Steam/Proton testée sur Bazzite avec des AirPods Pro 2 dans Assetto Corsa et Euro Truck Simulator 2. Le dépôt du projet rapporte cette expérience distincte.

Pour savoir à quoi s’attendre, vérifiez le mode concerné : le mode souris est testé sur matériel, tandis que le pointeur reste au stade de la simulation et que le glissement est expérimental.

Ce qu’il faut pour l’utiliser sous Linux

MousePods demande Linux avec BlueZ, des AirPods appairés à l’ordinateur et un accès en écriture à /dev/uinput. Le projet indique que l’accès administrateur n’est pas nécessaire et qu’aucun appareil Apple n’est requis. Il demande Python 3.10 ou une version ultérieure ; son test documenté des AirPods 3 utilisait Python 3.12.