Я использую довольно новую версию Ubuntu 17.10 на Thinkpad T470s.
Всякий раз, когда я нажимаю одну из клавиш мультимедиа (воспроизведение / пауза, пропуск и т. Д.) На любой из моих клавиатур или Bluetooth-гарнитуры, я вижу этот значок:
мигают на мониторе, но ни один из моих медиаплееров не реагирует.
Ключи распознаются в 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
Но они не отображаются в xev
.
Недавно я столкнулся с той же проблемой, и, потеряв МНОГО времени, нашел ответ на каком-то форуме Arch.
Весь этот выпуск выглядит как подарок «это не ошибка, это ОСОБЕННОСТЬ» от разработчиков Gnome.
Короче говоря: при нажатии кнопки мультимедиа генерируется код клавиши, который затем преобразуется в команду. Допустим, вы нажимаете кнопку воспроизведения / паузы. Он генерирует ключевой код 162 и команду XF86AudioPlay.
Теперь почти каждое мультимедийное приложение, которое может ожидать этого события (будь то VLC, totem, kodi, spotify и т. Д.), Ожидает получения чистой команды XF86AudioPlay. А что делает Гном? Он перехватывает эту команду и переводит ее в свою собственную команду «play». Из-за этого ни xev, ни xbindkeys не показывают это событие должным образом - они никогда не получают команду, которую они могут понять.
Когда вы нажимаете мультимедийную кнопку, Gnome получает команду и проверяет, существует ли какое-либо приложение, которое признано способным принимать эту команду. Если есть (скажем, тотем, rhytmbox, может быть, VLC), он посылает «play», которая должна работать. Если нет приложения, признанного способным принимать эту команду, Gnome покажет знак, прикрепленный к первому сообщению, и никуда не отправит команду.
Решение простое - сделать Gnome неспособным перехватывать ключевые медиа-события. Установите dconf-editor, перейдите в org.gnome.settings-daemon.plugins.media-keys и измените любую кнопку, которая должна работать, с XF86SomeExapmle на none (''). Таким образом, любое приложение должно получать ключевые команды напрямую.
Если мультимедийные клавиши клавиатуры не работают с вашего рабочего стола Ubuntu, вы можете использовать поддержку D-Bus для отправки соответствующих команд в Spotify. Проверьте из консоли следующие команды:
dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify / org / mpris / MediaPlayer2 org. mpris.MediaPlayer2.Player.PlayPause
dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify / org / mpris / MediaPlayer2 org.mpris.MediaPlayer2 .Player.Next
dbus-send --print-reply --dest = org.mpris.MediaPlayer2.spotify / org / mpris / MediaPlayer2 org.mpris.MediaPlayer2.Player. Назад
Чтобы связать их с клавиатурой, перейдите в «Настройки»> «Клавиатура»> «Сочетания клавиш»> «Пользовательские сочетания клавиш», затем «Добавить». Используйте одну из приведенных выше команд, затем нажмите клавишу, которую хотите связать с новой командой.
https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/
Я обнаружил, что с Ubuntu 18.04 LTS по состоянию на 2019/2/1 все, что мне нужно было сделать, это:
Соответствующие клавиши мультимедиа теперь должны работать немедленно.
Использование без значения, как рекомендовано темным чуваком, не сработало для меня.
Сочетание последних двух ответов работает для меня. У меня Ubuntu 18.04 работает тестовая клавиатура
~$ 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
, но когда я захожу в Активности -> Клавиатура и пытаюсь что-то сделать с помощью Play / Next / Previous, он вообще не работает. Когда я деактивировал связывание клавиш по умолчанию (вызовите диалог для связывания клавиш, нажмите клавишу Backspace и нажмите «Сохранить») и создал новый, он работает, очень полезным был ответ от @foamboarder
, теперь он выглядит как этот скриншот из настройка ярлыков теперь все работает нормально даже после выхода компьютера из спящего режима
Использование приведенного выше ответа @ Václav помогло мне в Ubuntu 18.04, где он сказал
«... деактивировано связывание клавиш по умолчанию (вызовите диалог для связывания клавиш, нажмите клавишу Backspace и нажмите« Сохранить ») и создать новый ".
Я использую Rhythmbox, вот команды, которые я ставил для каждого пользовательского ярлыка для Rhythmbox:
Для предыдущего:
`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Previous`
Для следующего:
`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Next`
Для воспроизведения / остановки:
`dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause`
Надеюсь, это поможет кому-нибудь однажды
Коды клавиш, похоже, не отображаются соответственно. Вы можете вручную сопоставить ключи, как описано в документации по Ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html
Для некоторых это может быть связано с браузером, например (Google Chrome) "удерживает" мультимедийные клавиши. Даже без носителей браузера ключи выделены для Chrome.
Решение:
TLDR: ошибка, исправленная в Eoan (19.10), должна решить эти проблемы.
В gnome-settings-daemon
была ошибка, которая была исправлена в версии 3.32.1. Ubuntu 19+ использует эту версию или более позднюю, поэтому все, кто работает с 18 или ниже, затронуты, если они не исправят GSD.
Следуйте инструкциям в этом комментарии: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/45#note_444348
Дифф можно получить здесь: https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/commit/cea632bf682760e80654df19cfef6206efca868a.diff
Я исправил 3.28.1 (последний в 18.04.4 LTS, на момент этого сообщения) и мультимедийные клавиши работают намного лучше.
Если вы чувствуете себя достаточно уверенно, чтобы установить патч, я бы посоветовал это сделать! Или обновитесь до eoan.
После запуска исправленной версии вам не нужно возиться с переназначением мультимедийных клавиш, и это снова станет «функцией».