Я использую довольно новую установку 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
.
keyboard
shortcut-keys
17.10
media-buttons
Нильс Боррманн
источник
источник
gnome-control-center keyboard shortcuts
.Ответы:
Вся эта проблема выглядит как подарок «это не ошибка, это ОСОБЕННОСТЬ» от 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 и измените любую кнопку, которая должна работать, с XF86SomeExample (например,
XF86AudioPlay
) на none (''). Таким образом, любое приложение должно получать ключевые команды напрямую.источник
playerctl
иxbindkeys
теперь моя клавиатура может контролировать все мои игроки, а не только Rhythmbox.Если клавиши мультимедиа на клавиатуре не работают с рабочего стола Ubuntu, вы можете использовать поддержку D-Bus для отправки соответствующих команд в Spotify. Проверьте следующие команды из консоли:
Воспроизведение / Пауза
следующий
предыдущий
Включить комбинацию клавиш
Чтобы привязать их к клавиатуре, выберите «Настройки»> «Клавиатура»> «Ярлыки»> «Пользовательские ярлыки», затем «Добавить» с помощью +. Используйте одну из приведенных выше команд, затем нажмите клавишу, которую хотите связать с новой командой.
Источник
https://fabianlee.org/2016/05/25/ubuntu-enabling-media-keys-for-spotify/
источник
spotify
кvlc
,rhythmbox
и т.д. в команде.Я обнаружил, что с Ubuntu 18.04 LTS на 2019/2/1 все, что мне нужно было сделать, это:
Соответствующие медиа-клавиши теперь должны работать немедленно.
Использование без значения, как рекомендовано darkdude, для меня не сработало.
источник
у меня работает сочетание двух последних ответов. У меня Ubuntu 18.04 работает тест клавиатуры
но когда я захожу в « Действия» -> «Клавиатура» и пытаюсь что-то сделать с помощью «Play / Next / Previous», это вообще не работает. Когда я деактивировал связывание клавиш по умолчанию (вызовите диалог для связывания клавиш, нажмите клавишу Backspace и нажмите «Сохранить») и создал новый, который работает, очень полезным был ответ от @foamboarder
теперь похоже на этот скриншот из настройки ярлыка, теперь все работает нормально даже после выхода компьютера из спящего режима
источник
dbus-send --print-reply --dest=org.mpris.MediaPlayer2.rhythmbox /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
и ...Previous
и ...Next
Использование вышеуказанного ответа @ Václav помогло мне в Ubuntu 18.04, где он сказал
Я использую Rhythmbox, вот команды, которые я вставлял для каждого Custom Shorcut для Rhythmbox:
Для предыдущего:
Для следующего:
Для воспроизведения / остановки:
Надеюсь, это поможет кому-то однажды
источник
playerctl
и он может найти и контролировать большинство медиаплееров, которые я использую автоматически.rhythmbox-client --play-pause
,rhythmbox-client --next
,rhythmbox-client --previous
Коды клавиш, похоже, не отображаются соответственно. Вы можете вручную сопоставить ключи, как описано в документации по Ubuntu: https://help.ubuntu.com/stable/ubuntu-help/keyboard-shortcuts-set.html
источник