Bluetoothヘッドフォンの一時停止/再生ボタンが機能しない

Bluetoothヘッドフォンの一時停止/再生ボタンが機能しない

Manjaro 17.1.10 を実行しているラップトップで、ヘッドフォン (Plantronics BackBeat Pro 2) の一時停止/再生ボタンを機能させようとしています。ヘッドフォンには次へと前へボタンもあり、完全に正常に機能します。Spotify、Clementine、VLC でも試しましたが、結果は同じでした。

私はArchのWikiページを読みました:

調べたところ、uinputカーネル モジュールをロードする必要があるようです。私が読んだガイドでは、カーネル モジュールは 2 つの異なる場所に配置するよう書かれていましたが、どちらにも何を配置すればよいか説明されていません。

rc.conf は、

/etc/modules-load.d/uinput.conf \<-- (これはレガシー方式用だと思います)

これを探していたときに見つけたのがこれです:

[ibro@ibro-pc ~]$ lsmo |grep uinput
bash: lsmo: command not found
[ibro@ibro-pc ~]$ lsmod |grep uinput
uinput                 20480  1
[ibro@ibro-pc ~]$ grep uinput /proc/modules
uinput 20480 1 - Live 0xffffffffc048d000
[ibro@ibro-pc ~]$ grep uinput /proc/$(uname -r)/modules.builtin
grep: /proc/4.14.40-1-MANJARO/modules.builtin: No such file or directory
[ibro@ibro-pc ~]$ pulseaudio --version
pulseaudio 11.1

これが問題だと仮定すると、どこにどのように追加するかを考える必要があります。uinput そうでない場合は、他の何らかの解決策があるかもしれません。

Linux でサポートを追加したいヘッドフォン機能が 2 つあります。

  • 取り外すとスマートに一時停止し、装着すると再生を続行します。
  • アクティブ リスニング モード: 音が検出されると音楽を一時停止します。

これらは両方とも、実行時に一時停止/再生ボタンと非常によく似た出力をします。xev

KeyPress event, serial 35, synthetic NO, window 0x8800001,
    root 0x16a, subw 0x0, time 13766406, (-871,191), root:(420,262),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 35, synthetic NO, window 0x8800001,
    root 0x16a, subw 0x0, time 13766437, (-871,191), root:(420,262),
    state 0x0, keycode 209 (keysym 0x1008ff31, XF86AudioPause), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 35, synthetic NO, window 0x8800001,
    root 0x16a, subw 0x0, time 13767016, (-871,191), root:(420,262),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 35, synthetic NO, window 0x8800001,
    root 0x16a, subw 0x0, time 13767047, (-871,191), root:(420,262),
    state 0x0, keycode 208 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
    XKeysymToKeycode returns keycode: 172
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

これは実際のキーボードの一時停止/再生ボタンです

FocusIn event, serial 34, synthetic NO, window 0x8800001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

FocusOut event, serial 34, synthetic NO, window 0x8800001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 34, synthetic NO, window 0x8800001,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 34, synthetic NO, window 0x8800001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

関連情報