Tombol Media tidak berfungsi di Ubuntu 17.10

20

Saya menjalankan instalasi Ubuntu 17.10 yang sangat baru di Thinkpad T470s.

Setiap kali saya menekan salah satu tombol media (play / pause, skip, dll) di salah satu keyboard atau bluetooth-headset saya, saya melihat ikon ini:

sembulan pada kunci media yang menunjukkan tidak ada tindakan yang diizinkan

nyalakan monitor tetapi tidak ada pemutar media saya yang bereaksi.

Kunci dikenali di 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

Tapi mereka tidak muncul xev.

Nils Borrmann
sumber
Saya memiliki masalah serupa. Kecuali bahwa itu berfungsi sebelum saya menginstal ulang Kubuntu 17.10.1 baru
insidesin
Apakah pulseaudio di terminal Anda memberikan pesan menakutkan? Apakah menambahkan swh-plugins membantu?
covener
Simbol ini berarti bahwa lingkungan desktop mengenali kunci media tetapi tidak ada aplikasi yang terdaftar sebagai pengguna perintah media. Pemutar media manakah yang Anda jalankan (saat itu)? Anda juga dapat melihat pemetaan pintasan keyboard dari GNOME di gnome-control-center keyboard shortcuts.
David Foerster
Saya ingin mengendalikan kodi dengan mouse udara mx3. Di gnome-control-center saya melepas kunci media untuk play / play jeda / berikutnya / sebelumnya dan sekarang saya bisa menggunakannya di kodi. Tapi fast foward dan fast backward tidak berfungsi, di sini ikon di atas datang dan saya tidak bisa melihat di mana saya bisa menonaktifkannya di gnome-control-center.

Jawaban:

21

Seluruh masalah ini terlihat seperti "ini bukan bug, ini FITUR" hadir dari Gnome.

Singkatnya: ketika Anda menekan tombol media itu menghasilkan kode kunci yang kemudian diterjemahkan menjadi perintah. Katakanlah Anda menekan tombol Mainkan / Jeda. Ini menghasilkan kode kunci 162 dan perintah XF86AudioPlay.

Sekarang hampir setiap aplikasi media yang mungkin menunggu acara ini (baik itu VLC, totem, kodi, spotify dll) berharap untuk menerima perintah XF86AudioPlay murni. Dan apa yang dilakukan Gnome? Itu memotong perintah ini dan menerjemahkannya ke perintah itu sendiri "bermain". Karena ini, xev atau xbindkeys tidak dapat menampilkan acara ini dengan benar - mereka tidak pernah menerima perintah yang dapat mereka pahami.

Ketika Anda menekan tombol media Gnome menerima perintah dan memeriksa apakah ada aplikasi yang dikenali mampu menerima perintah ini. Jika ada (katakanlah totem, rhytmbox, mungkin VLC) mengirimkan "play" yang seharusnya berfungsi. Jika tidak ada aplikasi yang dikenali mampu menerima perintah ini, Gnome akan menunjukkan tanda yang dilampirkan pada pos pertama dan tidak akan mengirim perintah apa pun di mana pun.

Solusinya sederhana - membuat Gnome tidak dapat mencegat peristiwa kunci media. Instal dconf-editor, buka org.gnome.settings-daemon.plugins.media-keys dan ubah tombol apa saja yang seharusnya berfungsi dari XF86SomeExample (misalnya, XF86AudioPlay) menjadi none (''). Dengan cara ini aplikasi apa pun harus menerima perintah kunci secara langsung.

Bung gelap
sumber
1
Ini sangat bagus. Jika Anda menonaktifkan Play / Pause di Gnome Settings-Keyboard-Media Keys, Kodi dapat menggunakannya. Tetapi untuk maju cepat dan mundur cepat, masih simbol "tidak berfungsi" dari atas muncul tetapi saya tidak tahu harus menonaktifkan apa. FF / BW cepat tidak disebutkan dalam tombol media.
Ini adalah saus rahasia yang saya butuhkan. Ini, ditambah kombinasi playerctldan xbindkeysdan sekarang keyboard saya dapat mengontrol semua pemain saya, bukan hanya Rhythmbox.
Adrian
Saya juga memulai kembali setelah melakukan perubahan ini (masuk dan keluar cukup mungkin) untuk membuatnya berfungsi
Salami
1
Ini masih berfungsi untuk Ubuntu 18.04 dan setidaknya bagi saya tidak perlu me-restart atau bahkan keluar
N1mr0d
17

Jika tombol media keyboard tidak berfungsi dari desktop Ubuntu Anda, Anda dapat menggunakan dukungan D-Bus untuk mengirim perintah yang tepat ke Spotify. Validasi perintah berikut dari konsol:

Mainkan / Jeda

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

Lanjut

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

Sebelumnya

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

Aktifkan Pintasan Kunci Media

Untuk mengikat ini ke keyboard, buka Pengaturan> Keyboard> Pintasan> Pintasan Khusus, lalu “Tambah” dengan +. Gunakan salah satu perintah di atas, lalu tekan tombol yang ingin Anda ikat ke perintah baru.

masukkan deskripsi gambar di sini

Sumber

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

foamboarder
sumber
Luar biasa, inilah yang saya cari. Terimakasih banyak!
Josh Crozier
Ini bekerja untuk saya di Ubuntu 14.04, kecuali saya menggunakan Compiz jadi saya harus menggunakan applet "Perintah" Manajer Pengaturan CompizConfig untuk menetapkan pintasan.
Tyler Collier
Ini berfungsi pada Ubuntu 18.04, kernel Linux versi 4.15.0-51-generik, dengan Spotify versi 1.1.5.153.gf614956d. Terima kasih!
Gormador
Ini bekerja untuk saya jika saya juga melakukan apa yang disarankan jawaban darkdude .
totymedli
Anda dapat membuat karya ini dengan pemain lain dari Spotify, hanya mengubah spotifyke vlc, rhythmbox, dll di perintah.
totymedli
6

Saya menemukan bahwa, dengan Ubuntu 18.04 LTS pada 2019/2/1, yang perlu saya lakukan adalah:

  • instal dconf-editor
  • arahkan ke org / gnome / settings-daemon / plugins / media-keys
  • untuk setiap kunci yang tidak berfungsi:
    • hapus centang "Gunakan nilai default"
    • tekan berlaku
    • periksa kembali "Gunakan nilai default"
    • tekan berlaku lagi

Kunci media yang dipermasalahkan sekarang harus segera berfungsi.

Tidak menggunakan nilai, seperti yang disarankan darkdude, tidak bekerja untuk saya.

Jamie Dulaney
sumber
Ketika saya membuka dconf-editor, saya menemukan default sudah tidak dicentang untuk play / pause, track sebelumnya, dan berikutnya. Memeriksa default untuk tiga kunci ini memperbaiki masalah saya.
dericke
Saya tidak benar-benar mengerti mengapa beralih "Gunakan nilai default" bekerja, tetapi itu bekerja untuk saya juga +1
Miroslav Glamuzina
3

kombinasi dari dua jawaban terakhir bekerja untuk saya. Saya memiliki Ubuntu 18,04 pekerjaan tes keyboard

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

tetapi ketika saya pergi ke Activities -> Keyboard dan mencoba melakukan apa saja dengan Play / Next / Sebelumnya tidak berfungsi sama sekali. Ketika saya menonaktifkan asosiasi kunci default (memanggil dialog untuk asosiasi kunci, tekan backspace dan klik simpan) dan membuat yang baru itu berfungsi, sangat membantu adalah jawaban dari @foamboarder

sekarang sepertinya screenshot ini dari pengaturan pintas semua berfungsi dengan baik sekarang bahkan setelah bangun dari mode tidur

Václav Rak
sumber
1
+1 karena ini pada akhirnya berhasil untuk saya, tetapi Anda seharusnya menyertakan perintah yang Anda gunakan di pintasan keyboard khusus: dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPausedan ... Previousdan ...Next
bitinerant
1

Menggunakan jawaban di atas oleh @ Václav bekerja untuk saya di Ubuntu 18,04, di mana dia berkata

"... asosiasi kunci default dinonaktifkan (aktifkan dialog untuk asosiasi kunci, tekan backspace dan klik simpan) dan buat yang baru".

Saya menggunakan Rhythmbox, berikut adalah perintah yang saya berikan untuk setiap Custom Shorcut untuk Rhythmbox:

Untuk Sebelumnya:

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

Untuk selanjutnya:

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

Untuk Play / Stop:

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

Semoga ini bisa membantu seseorang suatu hari

Milazi
sumber
2
Saya menginstal playerctldan dapat menemukan dan mengontrol sebagian besar pemutar media yang saya gunakan secara otomatis.
Adrian
1
rhythmbox-client --play-pause, rhythmbox-client --next,rhythmbox-client --previous
Ctrl-C
0

Kode kunci sepertinya tidak dipetakan. Anda dapat memetakan kunci secara manual seperti yang dijelaskan dalam dokumentasi ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html

  1. Buka ikhtisar Aktivitas dan mulai mengetik Keyboard.
  2. Klik pada Keyboard untuk membuka panel.
  3. Pilih tab Pintasan.
  4. Pilih kategori di panel kiri, dan baris untuk tindakan yang diinginkan di sebelah kanan. Definisi pintasan saat ini akan berubah ke Akselerator Baru ...
  5. Tahan kombinasi tombol yang diinginkan, atau tekan Backspace untuk menghapus.
Arne Q
sumber