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ę:
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
.
keyboard
shortcut-keys
17.10
media-buttons
Nils Borrmann
źródło
źródło
gnome-control-center keyboard shortcuts
.Odpowiedzi:
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.źródło
playerctl
ixbindkeys
teraz moja klawiatura może kontrolować wszystkich moich graczy, a nie tylko Rhythmboksa.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
Kolejny
Poprzedni
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.
Źródło
https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/
źródło
spotify
sięvlc
,rhythmbox
itp w poleceniu.Przekonałem się, że w Ubuntu 18.04 LTS od 2019/2/1 wszystko, co musiałem zrobić, to:
Omawiane klucze multimedialne powinny teraz działać natychmiast.
Używanie bez wartości, zgodnie z zaleceniem darkdude, nie działało dla mnie.
źródło
kombinacja dwóch ostatnich odpowiedzi działa dla mnie. Mam Ubuntu 18.04 test pracy klawiatury
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
źródło
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
i ...Previous
i ...Next
Korzystanie z powyższej odpowiedzi przez @ Václav działało dla mnie na Ubuntu 18.04, gdzie powiedział
Korzystam z Rhythmbox, oto polecenia, które wprowadzałem dla każdego niestandardowego skrótu do Rhythmbox:
Poprzednie:
W następnym:
Do odtwarzania / zatrzymywania:
Mam nadzieję, że to komuś pomoże
źródło
playerctl
i może on znaleźć i kontrolować większość odtwarzaczy multimedialnych, których używam automatycznie.rhythmbox-client --play-pause
,rhythmbox-client --next
,rhythmbox-client --previous
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
źródło