Google Hangouts Meet Speakermicは、優れたオーディオキャプチャおよびリスニング機能を提供するために、主に会議室で使用するために設計された300〜400米ドルの範囲のハイエンドデバイスです。 Hangouts Meet Speakermicには、アクティブなエコーキャンセル、バックグラウンドノイズ管理、およびその他の機能があります。
LinuxドライバーがHIDに登場しました。次に、Hangouts Meet Speakermicが、LinuxでのHIDイベントの使用に関する問題に対処します。特に、ミュートボタンの処理が正しくありません。それ以外の場合、デバイスは既存の一般的なコードパスを使用してLinuxで正常に動作するようです。
これは、誤動作/不適切に設計されたミュートボタンを処理するために必要な約55行のコードドライバーです。単純なドライバーに関するコードコメントは次のように説明しています。
このドライバーは、電話のミュートHIDの使用を無視して処理します。これにより、これをKEY_MICMUTEイベントにマップするhid-inputドライバーによるデフォルトの処理が回避されます。問題は、このデバイスが電話のミュートHIDの使用をトグルスイッチとして実装していることです。ここで、1はミュートを示し、0はミュートされていないことを示します。ただし、EV_KEYイベントの場合、1はキーが押されたことを示し、0はキーが解放されたことを示します。
したがって、この単純なドライバーはfor-next。これは、HIDサブシステムのeBPF使用法が、デバイスの癖に対処するためのさらに別の単純なドライバーの代替として使用される可能性がある別の例です。