Google Hangouts Meet Speakermic to urządzenie wyprodukowane przez firmę ASUS, które umożliwia wejście/wyjście dźwięku 360 stopni zaprojektowane do użytku w Google Hangout i umożliwia połączenie łańcuchowe do pięciu z tych mikrofonów głośnikowych razem do użytku w dużych salach konferencyjnych. Sterownik dla systemu Linux jest już w drodze do urządzenia, aby rozwiązać problem z przyciskiem wyciszania.
Google Hangouts Meet Speakermic to wysokiej klasy urządzenie w cenie od 300 do 400 USD, przeznaczone do użytku głównie w salach konferencyjnych w celu zapewnienia doskonałych możliwości rejestrowania i słuchania dźwięku. Hangouts Meet Speakermic ma aktywną redukcję echa, zarządzanie hałasem w tle i inne funkcje.
Sterownik dla systemu Linux wylądował w HID-next dla Hangouts Meet Speakermic, aby rozwiązać problem z wykorzystaniem zdarzeń HID w systemie Linux. W szczególności nieprawidłowa obsługa przycisku wyciszania. Poza tym urządzenie wydaje się działać dobrze w systemie Linux z istniejącymi wspólnymi ścieżkami kodu.
To jest tylko ~55 linii kodu potrzebnego do radzenia sobie z źle działającym/źle zaprojektowanym przyciskiem wyciszania. Komentarz kodu dotyczący prostego sterownika wyjaśnia:
Ten sterownik obsługuje użycie HID wyciszania telefonu przez ignorowanie go. Pozwala to uniknąć domyślnej obsługi przez sterownik ukrytych danych, który ma zamapować to na zdarzenie KEY_MICMUTE. Problem polega na tym, że to urządzenie implementuje użycie HID wyciszenia telefonu jako przełącznik, gdzie 1 oznacza wyciszenie, a 0 oznacza brak wyciszenia. Jednak dla zdarzenia EV_KEY 1 wskazuje, że klawisz został wciśnięty, a 0 wskazuje, że został zwolniony.
W ten sposób ten prosty sterownik wylądował w for-next przed cyklem jądra Linux 5.19. Jest to kolejny przykład, w którym użycie eBPF dla podsystemu HID może być potencjalnie wykorzystane jako alternatywa dla jeszcze innego prostego sterownika do radzenia sobie z dziwactwami urządzeń.