Поиск ответа
После некоторого времени возиться с элементами управления, я нашел сообщение на старой доске часто задаваемых вопросов i3: https://faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html
В нем говорится вставить следующее в файл .config i3 (ниже приведена слегка измененная версия с удалением некоторых строк, которые не имеют отношения к данному конкретному вопросу):
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
# Media player controls
bindsym XF86AudioPlay exec playerctl play-pause
bindsym XF86AudioPause exec playerctl play-pause
bindsym XF86AudioNext exec playerctl next
bindsym XF86AudioPrev exec playerctl previous
И это тоже не сработало, однако процесс поиска ответа правильный.
Реальный ответ
Для меня, по крайней мере, проблема заключалась в том, что после копирования этих строк ключи не будут работать. После еще одного исследования я обнаружил, что команды громкости могут немного отличаться, используя amixer
вместо PulseAudio pactl
.
В конце концов, так и осталось:
# Media volume controls
bindsym XF86AudioMute exec amixer sset 'Master' toggle
bindsym XF86AudioLowerVolume exec amixer sset 'Master' 5%-
bindsym XF86AudioRaiseVolume exec amixer sset 'Master' 5%+
и они начали работать.
Клавиши воспроизведения были немного хитрее. Я пришел к выводу, что .config сообщает, какая команда выполняется для выполнения действия. Затем я продолжил примерять playerctl play-pause
мой терминал. Конечно, это не сработало, потому что playerctl не был установлен . После его установки (использования sudo pacman -S playerctl
) эти команды на клавиатуре тоже сработали.
xev
команда была полностью двухъярусной. Если это был вывод xev, когда вы нажмете эти клавиши, ваш ответ сработает. Попробуйте снова. Ваше государство должно что-то сказатьXF86AudioNext
и тому подобное.