Klawisze multimediów nie działają w systemie Ubuntu 17.10

21

Korzystam z całkiem nowej instalacji Ubuntu 17.10 na Thinkpad T470s.

Za każdym razem, gdy uderzam w jeden z klawiszy multimedialnych (odtwarzanie / pauza, pomijanie itp.) Na dowolnej klawiaturze lub zestawie słuchawkowym Bluetooth, widzę tę ikonę:

wyskakujące okienko na przycisku multimediów wskazujące, że nie jest dozwolone działanie

lampa błyskowa na monitorze, ale żaden z moich odtwarzaczy multimedialnych nie reaguje.

Klucze są rozpoznawane w 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

Ale się nie pojawiają xev.

Nils Borrmann
źródło
Mam podobny problem. Tyle że działało, zanim ponownie zainstalowałem nowy Kubuntu 17.10.1
środku
Czy pulseaudio w twoim terminalu daje jakąś przerażającą wiadomość? Czy dodanie wtyczek SWH pomaga?
kowboj
Ten symbol oznacza, że ​​środowisko pulpitu rozpoznaje klucz multimedialny, ale żadna aplikacja nie zarejestrowała się jako użytkownik polecenia multimedialnego. Które odtwarzacze multimedialne posiadasz / prowadziłeś (w tym czasie)? Możesz także spojrzeć na mapowania skrótów klawiaturowych GNOME w gnome-control-center keyboard shortcuts.
David Foerster,
Chciałem kontrolować kodi za pomocą myszy powietrznej MX3. W gnome-control-center wyłączyłem klawisze multimediów dla odtwarzania / pauzy w odtwarzaniu / następnej / poprzedniej i teraz mogę ich używać w kodi. Ale szybkie przewijanie do przodu i szybkie przewijanie do tyłu nie działają, tutaj pojawia się ikona powyżej i nie widzę, gdzie mogę je wyłączyć w centrum kontroli gnome.

Odpowiedzi:

21

Cały ten problem wygląda jak „to nie jest błąd, to CECHA” prezent od Gnome.

W skrócie: po naciśnięciu przycisku multimediów generuje kod klucza, który jest następnie tłumaczony na polecenie. Powiedzmy, że naciskasz przycisk Odtwarzaj / Pauza. Generuje kod dostępu 162 i polecenie XF86AudioPlay.

Teraz prawie każda aplikacja medialna, która może czekać na to zdarzenie (czy to VLC, totem, kodi, spotify itp.) Oczekuje otrzymania czystego polecenia XF86AudioPlay. A co robi Gnome? Przechwytuje to polecenie i tłumaczy je na własne polecenie „zagraj”. Z tego powodu ani xev, ani xbindkeys nie pokazują poprawnie tego zdarzenia - nigdy nie otrzymują polecenia, które mogą zrozumieć.

Po naciśnięciu przycisku multimediów Gnome otrzymuje polecenie i sprawdza, czy jest jakaś aplikacja, która została rozpoznana jako zdolna do odebrania tego polecenia. Jeśli istnieje (powiedzmy totem, rhytmbox, może VLC), wysyła „play”, które powinno działać. Jeśli żadna aplikacja nie zostanie rozpoznana jako zdolna do otrzymania tego polecenia, Gnome wyświetli znak dołączony do pierwszego postu i nigdzie nie wyśle ​​żadnego polecenia.

Rozwiązanie jest proste - spraw, aby Gnome nie mógł przechwytywać zdarzeń związanych z kluczami medialnymi. Zainstaluj edytor dconf, przejdź do org.gnome.settings-daemon.plugins.media-keys i zmień dowolny przycisk, który powinien działać z XF86SomeExample (np. XF86AudioPlay) Na none (''). W ten sposób każda aplikacja powinna otrzymać bezpośrednie polecenie klawisza.

mroczny koleś
źródło
1
To działa świetnie. Jeśli wyłączysz Odtwarzanie / Pauza w Ustawieniach Gnome-Klawiatura-Klawisze Medialne, Kodi może z niego korzystać. Ale w przypadku szybkiego przewijania do przodu i do tyłu nadal pojawia się symbol „nie działa” z góry, ale nie wiem, co wyłączyć. Fast FF / BW nie jest wymieniony w klawiszach multimediów.
To był sekretny sos, którego potrzebowałem. To, plus połączenie playerctli xbindkeysteraz moja klawiatura może kontrolować wszystkich moich graczy, a nie tylko Rhythmboksa.
Adrian
Uruchomiłem też ponownie po wprowadzeniu tych zmian (logowanie i wylogowanie jest prawdopodobnie wystarczające), aby działały
Salami
1
To nadal działa w przypadku Ubuntu 18.04 i przynajmniej dla mnie nie było potrzeby restartowania ani nawet wylogowywania się
N1mr0d
19

Jeśli klawisze multimedialne klawiatury nie działają z pulpitu Ubuntu, możesz użyć obsługi D-Bus, aby wysłać odpowiednie polecenia do Spotify. Sprawdź poprawność następujących poleceń z konsoli:

Play / Pause

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

Kolejny

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

Poprzedni

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

Włącz skrót klawiszowy

Aby powiązać je z klawiaturą, wybierz Ustawienia> Klawiatura> Skróty> Skróty niestandardowe, a następnie „Dodaj” za pomocą +. Użyj jednego z powyższych poleceń, a następnie naciśnij klawisz, który chcesz powiązać z nowym poleceniem.

wprowadź opis zdjęcia tutaj

Źródło

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

pianowiec
źródło
Doskonale, właśnie tego szukałem. Wielkie dzięki!
Josh Crozier
Działa to dla mnie w Ubuntu 14.04, z wyjątkiem tego, że korzystam z Compiz, więc musiałem użyć apletu „Polecenia” Menedżera ustawień CompizConfig do przypisania skrótów.
Tyler Collier,
Działa to na Ubuntu 18.04, jądro Linuksa w wersji 4.15.0-51-generic, i Spotify w wersji 1.1.5.153.gf614956d. Dzięki!
Gormador
To działało dla mnie, gdybym zrobił to, co sugeruje odpowiedź Darkdude'a .
totymedli
Można dokonać tej pracy z odtwarzaczami innymi niż Spotify, wystarczy zmienić spotifysię vlc, rhythmboxitp w poleceniu.
totymedli
6

Przekonałem się, że w Ubuntu 18.04 LTS od 2019/2/1 wszystko, co musiałem zrobić, to:

  • zainstaluj edytor dconf
  • przejdź do org / gnome / settings-daemon / plugins / media-keys
  • dla każdego klawisza nie działa:
    • odznacz „Użyj wartości domyślnej”
    • hit zastosować
    • ponownie zaznacz „Użyj wartości domyślnej”
    • naciśnij ponownie

Omawiane klucze multimedialne powinny teraz działać natychmiast.

Używanie bez wartości, zgodnie z zaleceniem darkdude, nie działało dla mnie.

Jamie Dulaney
źródło
Kiedy otworzyłem edytor dconf, znalazłem już domyślne ustawienia dla odtwarzania / pauzy, poprzedniej ścieżki i następnej. Sprawdzenie domyślnych ustawień tych trzech kluczy rozwiązało mój problem.
dericke
Naprawdę nie rozumiem, dlaczego przełączanie „Użyj wartości domyślnej” działało, ale zadziałało również dla mnie +1
Miroslav Glamuzina
4

kombinacja dwóch ostatnich odpowiedzi działa dla mnie. Mam Ubuntu 18.04 test pracy klawiatury

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

ale kiedy idę do Działania -> Klawiatura i próbuję zrobić cokolwiek z Play / Next / Previous, to w ogóle nie działa. Kiedy dezaktywowałem domyślne powiązanie klucza (wywołaj okno dialogowe przypisania klucza, naciśnij klawisz Backspace i kliknij Zapisz) i utwórz zupełnie nowe, które działa, bardzo pomocna była odpowiedź @foamboarder

teraz wygląda na to, że ten zrzut ekranu z konfiguracji skrótu działa poprawnie teraz nawet po wybudzeniu komputera z trybu uśpienia

Václav Rak
źródło
1
+1, ponieważ ostatecznie to dla mnie zadziałało, ale powinieneś dołączyć polecenia, których użyłeś w niestandardowych skrótach klawiaturowych: dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPausei ... Previousi ...Next
bitinerant
1

Korzystanie z powyższej odpowiedzi przez @ Václav działało dla mnie na Ubuntu 18.04, gdzie powiedział

„... dezaktywowano domyślne skojarzenie klucza (wywołaj okno dialogowe dla skojarzenia klucza, naciśnij klawisz Backspace i kliknij Zapisz) i utwórz zupełnie nowe”.

Korzystam z Rhythmbox, oto polecenia, które wprowadzałem dla każdego niestandardowego skrótu do Rhythmbox:

Poprzednie:

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

W następnym:

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

Do odtwarzania / zatrzymywania:

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

Mam nadzieję, że to komuś pomoże

Milazi
źródło
2
Zainstalowałem playerctli może on znaleźć i kontrolować większość odtwarzaczy multimedialnych, których używam automatycznie.
Adrian
1
rhythmbox-client --play-pause, rhythmbox-client --next,rhythmbox-client --previous
Ctrl-C
0

Wydaje się, że kody kluczy nie zostały odpowiednio zmapowane. Możesz ręcznie mapować klucze zgodnie z opisem w dokumentacji ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html

  1. Otwórz przegląd działań i zacznij pisać na klawiaturze.
  2. Kliknij Klawiatura, aby otworzyć panel.
  3. Wybierz kartę Skróty.
  4. Wybierz kategorię w lewym okienku, a wiersz dla żądanej akcji po prawej. Obecna definicja skrótu zmieni się na Nowy akcelerator…
  5. Przytrzymaj żądaną kombinację klawiszy lub naciśnij klawisz Backspace, aby wyczyścić.
Arne Q
źródło