デバイスごとにAVRCPを有効/無効にしますか? (BlueZ+PulseAudio、アーチ)

デバイスごとにAVRCPを有効/無効にしますか? (BlueZ+PulseAudio、アーチ)

私はArch LinuxとLinuxカーネル5.15.12-arch1-1、bluez 5.62-1、pulseaudio 15.0を使用しています。

スピーカーとヘッドホンがあります。スピーカーを使用するときは、ラップトップとスピーカーの両方の音量キーで制御できる単一の音量スケールが必要です。これはデフォルトの動作です。ただし、ヘッドフォンを使用するときは、システムとヘッドフォンに別々のボリュームスケールを持たせたいと思います(システムがヘッドフォンキーの音量変更を見ることができないように)。これを達成する唯一の方法は、AVRCPを無効にすることです。/usr/lib/bluetooth/bluetoothd引数を使用して実行します--noplugin=avrcp。このソリューションの明らかな問題は、このオプションがシステムのすべてのBluetoothデバイスで機能することです。

デバイスごとにAVRCPを無効にできますか?それとも、ヘッドフォンの音量レベルを分離するためのより良い解決策はありますか?

答え1

これは別のボリュームスケーリングの問題を解決するかどうかはわかりませんが、少なくともX Windows環境では、私のBluetoothヘッドフォンはX入力デバイス(表示されているようにxinput)として表示されます。これは、そのデバイスを無効にすることで、xinput --disable <id>特定のデバイスに対するAVRCPコマンドの効果を無効にできることを意味します。

関連情報