MousePods è un’applicazione Python per Linux che usa i dati di movimento degli AirPods come input per il cursore, senza richiedere un dispositivo Apple. Il progetto di Matteo Gaudioso elenca AirPods 3 e AirPods Pro 2 come modelli verificati su hardware; per AirPods 3 spiega anche perché una modifica alla MTU Bluetooth ha reso visibili i sensori.
Per capire se MousePods fa al caso tuo, controlla prima due cose: il modello di AirPods e lo stato della funzione che vuoi usare.
Come MousePods trasforma il movimento in input
L’app associa il movimento della testa o di un auricolare tenuto in mano allo spostamento del cursore. Il sito del progetto MousePods indica che la modalità mouse è stata testata su hardware; per fare clic, descrive opzioni come premere lo stelo, inclinare rapidamente la testa o usare il tempo di permanenza del cursore.
La modalità pointer mira a usare l’orientamento per puntare sullo schermo e richiede una calibrazione agli angoli; il progetto la contrassegna come disponibile solo in simulazione. La modalità glide, pensata per spostare un auricolare su un tavolo, è sperimentale. Sono quindi funzioni con stati diversi, non varianti tutte testate nello stesso modo.
Per il tracciamento della testa, il sito del progetto descrive l’uscita verso opentrack come testata offline, non in un gioco. Il repository di MousePods descrive separatamente l’integrazione diretta Steam/Proton di un collaboratore, provata su Bazzite con AirPods Pro 2 in Assetto Corsa e Euro Truck Simulator 2.
Perché la MTU ha fatto emergere i sensori di AirPods 3
Per AirPods 3, il progetto attribuisce la scoperta alla MTU di ricezione L2CAP, cioè la dimensione massima dei dati ricevuti su quel collegamento Bluetooth. Nel test descritto, i sensori non venivano annunciati con il valore predefinito di 672 byte; comparivano portando la MTU a 2582 byte.
La documentazione tecnica di MousePods identifica i modelli AirPods 3 A2564/A2565 e il percorso Apple RemoteHID su AACP, attraverso il canale RTBuddy 0x800. Il test indicato usa firmware versione marketing 6296592, Ubuntu 24.04, BlueZ 5.72 e Python 3.12. È un risultato riferito a quella configurazione, non una misura estesa a ogni sistema Linux o adattatore Bluetooth.
Nelle prove del progetto, il flusso di movimento degli AirPods 3 ha raggiunto circa 210 Hz. Il progetto indica circa 100 Hz come impostazione pratica: intorno a 180 Hz, durante un test di 23 secondi con A2DP e un mouse BLE sullo stesso collegamento, ha registrato 12 interruzioni di almeno 50 ms. Per AirPods Pro 2, il flusso predefinito è indicato a circa 100 Hz con intervallo di 10 ms.
Modelli e funzioni: cosa indica il progetto
MousePods elenca AirPods 3 e AirPods Pro 2 come verificati su hardware. AirPods 2, AirPods Pro 1 e AirPods Max risultano non testati. Il progetto osserva che AirPods 4 condivide il protocollo SensorDataWX con i modelli Pro, ma non include AirPods 4 tra quelli verificati per MousePods.
Il case di ricarica non funziona da mouse: secondo il progetto, i sensori di AirPods 3 sono spenti quando gli auricolari si trovano al suo interno. Il flusso dei sensori può inoltre bloccarsi se un auricolare resta immobile fuori dall’orecchio.
Requisiti per usare MousePods su Linux
Servono Linux con BlueZ, AirPods associati al computer e accesso in scrittura a /dev/uinput, il dispositivo virtuale usato per inviare input al sistema. Il progetto indica che non occorre né un dispositivo Apple né l’accesso root; la documentazione richiede Python 3.10 o successivo.
La procedura descritta nel repository prevede di clonare il progetto, creare un ambiente virtuale Python, installare requirements.txt e avviare airpods_mouse_controller.py --ui.