MousePods розшифрували дані відстеження руху з AirPods

MousePods розшифрували дані відстеження руху з AirPods 1

[Matteo Gaudioso] випустив MousePods — інструмент на Python, який отримує доступ до датчиків руху в Apple AirPods під Linux, перетворюючи їх на пристрій для введення курсору миші. При цьому не потрібен хост від Apple. Це стало можливим завдяки реверс-інжинірингу роботи та комунікації цих пристроїв, оскільки AirPods 3 працюють інакше, ніж інші моделі.

MousePods розшифрували дані відстеження руху з AirPods 2
Все працює в єдиному додатку Linux, без участі хоста Apple.

Відстеження положення голови за допомогою AirPods існує вже багато років. Apple використовує дані руху для просторового аудіо та розпізнавання жестів, і існує низка інструментів з відкритим кодом для доступу до цих даних. Але був “сліпий зон”: ніхто не міг зрозуміти, як спілкуватися з AirPods 3.

[Matteo] залучив до допомоги Claude Code для виявлення відмінностей. Він виявився доволі корисним для проведення сотень зондувань та тестів AirPods, щоб зрештою розкрити, що відбувається. Результати добре підсумовані тут. Один цікавий момент полягає в тому, що дані датчиків були опосередковано приховані через те, що в Linux стандартний MTU (Maximum Transmission Unit) занадто малий, щоб вмістити весь пакет разом з датчиками руху. Після збільшення MTU в Linux до відповідного значення, що значно більше за стандартне для iOS, все з’являється.

Є ще одна функція, яка нам подобається: можливість надсилати дані в opentrack для використання як введення відстеження положення голови в таких іграх, як авіа- чи гоночні симулятори. Ми бачили подібне реалізовано для авіасимуляторів з використанням навушників для відстеження голови, що є чудовим способом використовувати вже наявні дані датчиків, не впливаючи на функціональність аудіо.

Деякі функції ще експериментальні, але MousePods підтверджено працює з Apple AirPods 3 та AirPods Pro 2. Завітайте на вебсайт MousePods, щоб отримати більше інформації, якщо ви хочете спробувати.

Джерело: hackaday.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *