Что происходит в ОС при нажатии мультимедийных клавиш?

Какие команды вызываются при нажатии клавиш мультимедиа (воспроизведение / пауза, следующая, предыдущая)?

Я посмотрел на симуляцию клавиш мультимедиа в терминале и мои требования то же самое, за исключением того, что я не могу использовать подход в ответе. Ответы имитируют сами ключи, используя xdotools, что я не могу сделать, потому что я переписал то, что делают эти ключи. То, что я хочу знать, - это основной механизм в ОС, который отправляет сообщения в приложения, которые должны знать, что нажаты мультимедийные клавиши. Я подозреваю, что это может быть связано с dbus.

Справочная информация

Мне пришлось переназначить свои мультимедийные клавиши (воспроизведение / пауза, следующая, предыдущая) на другие команды , эта ссылка содержит некоторый фон .

Я сделал это, удалив предыдущие привязки клавиш для этих мультимедийных клавиш и переназначив их в настройках> клавиатура> сочетания клавиш.

Я хочу знать исходную команду, чтобы я мог вызвать spotify-command ; original-command при нажатии клавиши вместо того, чтобы просто вызывать spotify-command.

2
задан 29 October 2019 в 09:54

1 ответ

когда Вы нажимаете Multimedia Keys, у них есть keysymbols, который может быть известен с командой xmodmap -pke | grep Audio

Пример:

$ xmodmap -pke | grep Audio
keycode 121 = XF86AudioMute NoSymbol XF86AudioMute
keycode 122 = XF86AudioLowerVolume NoSymbol XF86AudioLowerVolume
keycode 123 = XF86AudioRaiseVolume NoSymbol XF86AudioRaiseVolume
keycode 171 = XF86AudioNext NoSymbol XF86AudioNext
keycode 172 = XF86AudioPlay XF86AudioPause XF86AudioPlay XF86AudioPause
keycode 173 = XF86AudioPrev NoSymbol XF86AudioPrev
keycode 174 = XF86AudioStop XF86Eject XF86AudioStop XF86Eject
keycode 175 = XF86AudioRecord NoSymbol XF86AudioRecord
keycode 176 = XF86AudioRewind NoSymbol XF86AudioRewind
keycode 198 = XF86AudioMicMute NoSymbol XF86AudioMicMute
keycode 208 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 209 = XF86AudioPause NoSymbol XF86AudioPause
keycode 215 = XF86AudioPlay NoSymbol XF86AudioPlay
keycode 216 = XF86AudioForward NoSymbol XF86AudioForward
keycode 234 = XF86AudioMedia NoSymbol XF86AudioMedia
$

из ссылки Вы, если, эти команды должны работать на Ваши Пользовательские Горячие клавиши

enter image description here

для Игры / Пауза

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.Previous

для Остановки

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

для Игры

dbus-send --print-reply --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.Play
0
ответ дан 2 December 2019 в 05:53

Другие вопросы по тегам:

Похожие вопросы: