web-dev-qa-db-fra.com

Les clés multimédias ne fonctionnent pas sous Ubuntu 17.10

J'utilise une toute nouvelle installation d'Ubuntu 17.10 sur un Thinkpad T470.

Chaque fois que je tape l'une des touches multimédias (lecture/pause, saut, etc.) de l'un de mes claviers ou de mon casque Bluetooth, l'icône suivante s'affiche:

popup on media key indicating no action allowed

clignote sur le moniteur mais aucun de mes lecteurs multimédias ne réagit.

Les clés sont reconnues dans showkeyname__:

~$ 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

Mais ils n'apparaissent pas dans xevname__.

12
Nils Borrmann

Toute cette question ressemble à un cadeau "Ce n'est pas un bug, c'est une fonctionnalité" de Gnome.

En bref: lorsque vous appuyez sur un bouton de support, il génère un code clé qui est ensuite traduit en commande. Supposons que vous appuyez sur un bouton Play/Pause. Il génère un code clé 162 et une commande XF86AudioPlay.

Maintenant, presque toutes les applications multimédias susceptibles d’attendre cet événement (qu’il s’agisse de VLC, de Totem, de Kodi, de Spotify, etc.) s’attendent à recevoir la commande pure XF86AudioPlay. Et que fait Gnome? Il intercepte cette commande et la traduit en sa propre commande "play". Pour cette raison, ni xev ni xbindkeys ne montrent cet événement correctement - ils ne reçoivent jamais une commande qu'ils puissent comprendre.

Lorsque vous appuyez sur un bouton de support, Gnome reçoit la commande et vérifie si une application est reconnue capable de recevoir cette commande. S'il existe (disons totem, rhytmbox, peut-être VLC), il envoie un "play" qui devrait fonctionner. S'il n'y a pas d'application reconnue comme capable de recevoir cette commande, Gnome affichera le signe attaché à la première publication et n'enverra aucune commande nulle part.

La solution est simple: empêcher Gnome d'intercepter les événements clés des médias. Installez dconf-editor, accédez à org.gnome.settings-daemon.plugins.media-keys et modifiez tout bouton devant fonctionner à partir de XF86SomeExample (par exemple, XF86AudioPlay) en none (''). De cette façon, toute application devrait recevoir directement les commandes au clavier.

11
darkdude

Si les touches multimédias du clavier ne fonctionnent pas à partir de votre bureau Ubuntu, vous pouvez utiliser le support D-Bus pour envoyer les commandes appropriées à Spotify. Validez les commandes suivantes depuis la console:

Jouer pause

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

Prochain

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

Précédent

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

Activer le raccourci clavier

Pour les lier au clavier, accédez à Paramètres> Clavier> Raccourcis> Raccourcis personnalisés, puis "Ajouter". Utilisez l’une des commandes ci-dessus, puis appuyez sur la touche que vous souhaitez associer à la nouvelle commande.

La source

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

11
foamboarder

J'ai découvert qu'avec Ubuntu 18.04 LTS à compter du 2019/2/1, tout ce que j'avais à faire était la suivante:

  • installer dconf-editor
  • accédez à org/gnome/settings-daemon/plugins/media-keys
  • pour chaque touche ne fonctionnant pas:
    • décocher "Utiliser la valeur par défaut"
    • appuyez sur appliquer
    • revérifier "Utiliser la valeur par défaut"
    • cliquez sur Appliquer à nouveau

Les touches multimédias en question doivent maintenant fonctionner immédiatement.

Ne pas utiliser de valeur, comme l'a recommandé darkdude, n'a pas fonctionné pour moi.

3
poetichustla

la combinaison des deux dernières réponses fonctionne pour moi. J'ai Ubuntu 18.04 le travail de test du clavier

~$ 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

mais quand je vais à Activités -> Clavier et que je tente de faire quoi que ce soit avec Play/Next/Previous, cela ne fonctionne pas du tout. Lorsque j'ai désactivé l'association de clé par défaut (invoquer la boîte de dialogue pour l'association de clé, appuyer sur la touche Retour arrière et cliquer sur Enregistrer) et en créer une nouvelle, cela fonctionne, la réponse de @foamboarder a été très utile.

maintenant cela ressemble à ceci capture d'écran de la configuration du raccourci tout fonctionne bien maintenant même après avoir réveillé l'ordinateur du mode veille

2
Václav Rak

En utilisant la réponse ci-dessus de @ Václav a travaillé pour moi sur Ubuntu 18.04, où il a dit

"... association de clé par défaut désactivée (invoquer la boîte de dialogue pour l'association de clé, appuyer sur la touche Retour arrière et cliquer sur Enregistrer) et en créer une nouvelle".

J'utilise Rhythmbox, voici les commandes que je mettais pour chaque raccourci personnalisé pour Rhythmbox:

pour précédent:

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

pour Next:

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

Pour Play/Stop:

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

J'espère que cela aide quelqu'un un jour

1
Milazi