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:
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
.
keyboard
shortcut-keys
17.10
media-buttons
Nils Borrmann
fonte
fonte
gnome-control-center keyboard shortcuts
.Respostas:
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.fonte
playerctl
exbindkeys
agora meu teclado pode controlar todos os meus jogadores, não apenas o Rhythmbox.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
Próximo
Anterior
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.
Fonte
https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/
fonte
spotify
avlc
,rhythmbox
, etc no comando.Descobri que, com o Ubuntu 18.04 LTS a partir de 2019/2/1, tudo o que eu precisava era:
As chaves de mídia em questão agora devem funcionar imediatamente.
Usar nenhum valor, conforme recomendado pelo darkdude, não funcionou para mim.
fonte
A combinação das duas últimas respostas funciona para mim. Eu tenho o Ubuntu 18.04 o trabalho de teste do teclado
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
fonte
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
e ...Previous
e ...Next
Usar a resposta acima de @ Václav funcionou para mim no Ubuntu 18.04, onde ele disse
Eu uso o Rhythmbox, eis os comandos que eu estava colocando para cada Shorcut personalizado para o Rhythmbox:
Para Anterior:
A seguir:
Para reproduzir / parar:
Espero que isso ajude alguém um dia
fonte
playerctl
e ele pode encontrar e controlar a maioria dos players de mídia que eu uso automaticamente.rhythmbox-client --play-pause
,rhythmbox-client --next
,rhythmbox-client --previous
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
fonte