
Tenho tentado fazer com que o botão pausa/reproduzir em meus fones de ouvido funcione (Plantronics BackBeat Pro 2) com meu laptop executando o Manjaro 17.1.10. Eles também têm botões Próximo e Anterior que funcionam perfeitamente. Eu experimentei no Spotify, Clementine e VLC com os mesmos resultados.
Eu li as páginas wiki do Arch para:
Pelo que descobri, parece que preciso carregar o uinput
módulo do kernel. Os guias que li dizem que deveriam ir em dois lugares diferentes e nenhum deles explica o que colocar.
/etc/rc.conf
/etc/modules-load.d/uinput.conf \<-- (acho que isso é para um método legado?)
Isto é o que consegui enquanto tentava encontrá-lo:
[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
Então, supondo que este seja o problema, preciso descobrir onde e como adicionar uinput
Se não for uma solução para qualquer outra coisa que possa ser
Existem dois recursos adicionais de fone de ouvido aos quais gostaria de adicionar suporte no Linux.
- Faça uma pausa inteligente quando eles forem retirados e continue jogando quando colocados
- Modo de audição ativo: pausa a música quando o som é detectado.
Ambos têm saída muito semelhante ao botão pausar/reproduzir quando executoxev
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
Este é o botão real de pausa/reprodução do teclado
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