Chaves de mídia não funcionam no Ubuntu 17.10

20

Estou executando uma instalação Ubuntu 17.10 praticamente nova em um Thinkpad T470s.

Sempre que pressiono uma das teclas de mídia (reproduzir / pausar, pular etc.) em qualquer um dos meus teclados ou fone de ouvido bluetooth, vejo este ícone:

pop-up na chave de mídia, indicando que nenhuma ação é permitida

pisca no monitor, mas nenhum dos meus reprodutores de mídia reage.

As chaves são reconhecidas em showkey:

~$ sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

Mas eles não aparecem xev.

Nils Borrmann
fonte
Eu tenho um problema semelhante. Exceto que estava funcionando antes de reinstalar o novo Kubuntu
17.10.1
O pulseaudio no seu terminal transmite alguma mensagem assustadora? A adição de plugins swh ajuda?
Covener
Este símbolo significa que o ambiente da área de trabalho reconhece a chave de mídia, mas nenhum aplicativo se registrou como usuário de comando de mídia. Qual media player (s) você tinha (na época)? Você também pode dar uma olhada nos mapeamentos de atalhos de teclado do GNOME no gnome-control-center keyboard shortcuts.
David Foerster
Eu queria controlar o kodi com um mouse air mx3. No centro de controle do gnome, desequilibrei as teclas de mídia para reproduzir / reproduzir pausa / próxima / anterior e agora posso usá-las no kodi. Mas o avanço rápido e o retrocesso rápido não funcionam, aqui o ícone acima aparece e não consigo ver onde posso desabilitá-los no centro de controle do gnome.

Respostas:

20

Toda essa questão parece um presente "não é um bug, é um RECURSO" do Gnome.

Em resumo: quando você pressiona um botão de mídia, ele gera um código de chave que é traduzido em um comando. Digamos que você pressione um botão Reproduzir / Pausar. Ele gera um código de chave 162 e um comando XF86AudioPlay.

Agora, quase todos os aplicativos de mídia que podem estar aguardando esse evento (seja VLC, totem, kodi, spotify etc.) esperam receber o comando XF86AudioPlay puro. E o que o Gnome faz? Ele intercepta esse comando e o converte em seu próprio comando "play". Por isso, nem xev nem xbindkeys mostram esse evento corretamente - eles nunca recebem um comando que possam entender.

Quando você pressiona um botão de mídia, o Gnome recebe o comando e verifica se há algum aplicativo que seja reconhecido como capaz de receber esse comando. Se houver (digamos totem, rhytmbox, talvez VLC) ele envia "play" que deve funcionar. Se não houver um aplicativo reconhecido como capaz de receber esse comando, o Gnome mostrará o sinal anexado à primeira postagem e não enviará nenhum comando para lugar algum.

A solução é simples - torne o Gnome incapaz de interceptar os principais eventos da mídia. Instale o dconf-editor, acesse org.gnome.settings-daemon.plugins.media-keys e altere qualquer botão que deva funcionar de XF86SomeExample (por exemplo, XF86AudioPlay) para none (''). Dessa forma, qualquer aplicativo deve receber diretamente o comando key.

darkdude
fonte
1
Isso funciona muito bem. Se você desabilitar a opção Reproduzir / Pausar nas Configurações do Gnome - Teclas do teclado - Mídia, o Kodi poderá usá-lo. Mas, para avançar e retroceder rapidamente, ainda aparece o símbolo "não funciona" acima, mas não sei o que desativar. Fast FF / BW não é mencionado nas teclas de mídia.
Este era o molho secreto que eu precisava. Isso, mais uma combinação de playerctle xbindkeysagora meu teclado pode controlar todos os meus jogadores, não apenas o Rhythmbox.
21418 Adrian
Eu também reiniciei depois de fazer essas alterações (é provável que fazer login e logout o suficiente) para fazê-las funcionar #
217 Salami
1
Isso ainda funciona para Ubuntu 18.04 e, pelo menos para mim não havia necessidade de reiniciar ou mesmo de logout
N1mr0d
17

Se as teclas de mídia do teclado não funcionarem na área de trabalho do Ubuntu, você pode usar o suporte ao D-Bus para enviar os comandos adequados para o Spotify. Valide os seguintes comandos do console:

A pausa

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause

Próximo

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next

Anterior

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous

Ativar atalho da tecla de mídia

Para amarrá-los ao teclado, vá para Configurações> Teclado> Atalhos> Atalhos personalizados e, em seguida, "Adicionar" com +. Use um dos comandos acima e pressione a tecla que deseja vincular ao novo comando.

insira a descrição da imagem aqui

Fonte

https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/

foamboarder
fonte
Excelente, é exatamente isso que eu estava procurando. Muito Obrigado!
21418 Josh Crozier #
Isso funcionou para mim no Ubuntu 14.04, exceto que eu uso o Compiz, então tive que usar o applet "Comandos" do CompizConfig Settings Manager para atribuir os atalhos.
Tyler Collier
Isso funciona no Ubuntu 18.04, versão do kernel do linux 4.15.0-51-generic, com a versão 1.1.5.153.gf614956d do Spotify. Obrigado!
Gormador 13/06/19
Isso funcionou para mim se eu também fizesse o que a resposta do darkdude sugeria.
totymedli
Você pode fazer este trabalho com outros que Spotify jogadores, basta alterar spotifya vlc, rhythmbox, etc no comando.
totymedli
6

Descobri que, com o Ubuntu 18.04 LTS a partir de 2019/2/1, tudo o que eu precisava era:

  • instale o dconf-editor
  • navegue para org / gnome / settings-daemon / plugins / media-keys
  • para cada chave que não está funcionando:
    • desmarque "Usar valor padrão"
    • clique em aplicar
    • verifique novamente "Usar valor padrão"
    • pressione aplicar novamente

As chaves de mídia em questão agora devem funcionar imediatamente.

Usar nenhum valor, conforme recomendado pelo darkdude, não funcionou para mim.

Jamie Dulaney
fonte
Quando abri o dconf-editor, encontrei os padrões já desmarcados para reprodução / pausa, faixa anterior e próxima. Verificar os padrões dessas três chaves resolveu meu problema.
dericke
Eu realmente não entendo por que alternar "Usar valor padrão" funcionou, mas funcionou para mim também +1
Miroslav Glamuzina 27/06/19
3

A combinação das duas últimas respostas funciona para mim. Eu tenho o Ubuntu 18.04 o trabalho de teste do teclado

~$ sudo showkey -k
press any key (program terminates 10s after last keypress)...
keycode 163 press
keycode 163 release
keycode 165 press
keycode 165 release
keycode 164 press
keycode 164 release

mas quando vou para Atividades -> Teclado e tento fazer qualquer coisa com Tocar / Avançar / Anterior, isso não funciona. Quando desativei a associação de teclas padrão (invoque a caixa de diálogo para associação de teclas, pressione backspace e clique em salvar) e crie uma nova que funcione, muito útil foi a resposta de @foamboarder

agora parece que esta captura de tela da configuração de atalho funciona bem agora mesmo depois de ativar o computador no modo de suspensão

Václav Rak
fonte
1
+1 porque isso eventualmente trabalhou para mim, mas você deveria ter incluído os comandos usados nos atalhos de teclado personalizado: dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPausee ... Previouse ...Next
bitinerant
1

Usar a resposta acima de @ Václav funcionou para mim no Ubuntu 18.04, onde ele disse

"... desativou a associação de teclas padrão (invoque a caixa de diálogo para associação de teclas, pressione backspace e clique em salvar) e crie uma nova".

Eu uso o Rhythmbox, eis os comandos que eu estava colocando para cada Shorcut personalizado para o Rhythmbox:

Para Anterior:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous`  

A seguir:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next`  

Para reproduzir / parar:

`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause`  

Espero que isso ajude alguém um dia

Milazi
fonte
2
Eu instalei playerctle ele pode encontrar e controlar a maioria dos players de mídia que eu uso automaticamente.
Adrian
1
rhythmbox-client --play-pause, rhythmbox-client --next,rhythmbox-client --previous
Ctrl-C
0

Os códigos-chave parecem não estar mapeados de acordo. Você pode mapear manualmente as chaves conforme descrito na documentação do ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html

  1. Abra a visão geral de atividades e comece a digitar teclado.
  2. Clique no teclado para abrir o painel.
  3. Selecione a guia Atalhos.
  4. Selecione uma categoria no painel esquerdo e a linha da ação desejada à direita. A definição de atalho atual será alterada para Novo acelerador…
  5. Mantenha pressionada a combinação de teclas desejada ou pressione Backspace para limpar.
Arne Q
fonte