Technologie

AirPodsy jako mysz komputerowa? Ten projekt na Linuksa to udowadnia

Programista-pasjonat wykorzystał czujniki ruchu w AirPods 3 do sterowania kursorem na Linuksie. Projekt MousePods powstał przy dużym udziale Claude Code.

3 min czytania

Zepsuła Ci się myszka? Użyj swoich AirPodsów. Niewiarygodne, ale to działa
Zepsuła Ci się myszka? Użyj swoich AirPodsów. Niewiarygodne, ale to działa

Przestrzenny dźwięk w AirPodsach robi wrażenie od dłuższego czasu - wystarczy poruszyć głową, by wirtualne źródło dźwięku zmieniło położenie, co daje złudzenie realnego kierunku, z którego dobiega audio. To efektowna funkcja, z której wielu użytkowników korzysta na co dzień.

AirPodsy zwykle łączymy z ekosystemem Apple, choć da się je podłączyć także do urządzeń innych marek - tyle że bez pełni możliwości, które rezerwowane są dla sprzętu Apple. Matteo Gaudioso, deweloper-entuzjasta, postanowił pójść dalej i sięgnąć po wbudowane w słuchawki czujniki, by zamienić je w narzędzie do obsługi komputera. Rezultat tych eksperymentów, zrealizowanych wspólnie z Claude Code, trafił na Linuksa pod nazwą MousePods.

Linux i czujniki AirPodsów

Wybór padł na model trzeciej generacji, a nie na warianty Pro, ponieważ te komunikują się ze sprzętem w odmienny sposób. AirPodsy 3 udostępniają dane z czujników poprzez Apple RemoteHID, który prezentuje je systemowi jako wirtualne urządzenie wejściowe typu HID - i to właśnie ten mechanizm okazał się kluczowy. Żeby z niego skorzystać, trzeba było opracować odpowiednie komendy i nauczyć się odczytywać strumień danych płynący z czujników.

Kolejną przeszkodą okazał się parametr MTU, czyli maksymalny rozmiar pakietu możliwego do odebrania w ramach danego połączenia. Domyślne 672 bajty nie wystarczały, by pomieścić dane z czujników ruchu. Dopiero ręczne ustawienie wartości 2582 bajtów - takiej samej, jaką stosuje iOS - sprawiło, że czujniki stały się widoczne dla komputera. Następnie trzeba było dopracować tempo przesyłu danych; ostatecznie najlepiej sprawdziło się odświeżanie pozycji urządzenia z częstotliwością 100 Hz.

Claude Code dopomógł

Jak przyznaje sam autor, zdecydowaną większość kodu napisał Claude Code, a on sam zajmował się podejmowaniem decyzji projektowych oraz testowaniem działania rozwiązania na realnych słuchawkach. W efekcie MousePods jest dostępny do pobrania z GitHuba - posiadacze AirPodsów 3 mogą zamienić je w rodzaj wirtualnej myszki poruszanej w powietrzu.

Program przekłada obrót i przechylenie głowy na ruch kursora na ekranie. Interfejs MousePods pokazuje bieżącą orientację urządzenia, prowadzi użytkownika przez proces kalibracji i umożliwia dostrojenie parametrów kontrolera, a dodatkowo pozwala rejestrować kliknięcia. Do działania potrzebne są: kompatybilne słuchawki, Bluetooth wspierany przez BlueZ, środowisko Pythona oraz dostęp do mechanizmu obsługującego wirtualne urządzenia wejściowe. Gaudioso zaznacza, że projekt jest wciąż rozwijany i testowany, więc nie należy liczyć na bezbłędne działanie - zwykła mysz pozostaje zawsze pewniejszym wyborem.

AirPodsy jako wyrafinowany kontroler do gier?

W wielu grach istotna jest możliwość rozglądania się, choćby podczas jazdy samochodem - jak w Cyberpunku 2077 czy serii Grand Theft Auto. MousePods potrafi w określonych warunkach pełnić funkcję wirtualnego joysticka. Zaskakujące, że sam Apple nie zaproponował podobnego rozwiązania, bo tego typu funkcjonalność ma spory potencjał.

Rozwiązanie ma jednak swoje granice - MousePods odczytuje obroty głowy w trzech osiach, ale nie rejestruje przesunięcia głowy w przestrzeni. Można się więc rozglądać, lecz nie da się przybliżyć widoku poprzez pochylenie się do przodu, na przykład by dokładniej przyjrzeć się deskorozdzielczej w symulatorze jazdy ciężarówką. Dodatkowo co jakiś czas konieczna bywa ponowna kalibracja, bo z czasem pojawia się zjawisko dryfu w odczytach ruchu. To rozwiązanie z gatunku mocno eksperymentalnych, które pokazuje zarówno kreatywność samego dewelopera, jak i możliwości Claude Code, określonego przez autora jako prawdziwy mistrz w tego rodzaju zadaniach.

Źródło: AntyWeb