我已经从Gnome迁移到Manjaro上的i3,并且几乎完成了配置窗口管理器,终端颜色以及其他方面的工作。一段时间后,我决定听一些音乐,几分钟后,我意识到音量键和播放键不起作用。
我有Razer Blackwidow Stealth 2014键盘,因此这些媒体键实际上与功能键一起使用。例如:播放/暂停处于打开状态F6,当我按键时,它用作媒体Fn键,如中的Fn + F6。
我已经从Gnome迁移到Manjaro上的i3,并且几乎完成了配置窗口管理器,终端颜色以及其他方面的工作。一段时间后,我决定听一些音乐,几分钟后,我意识到音量键和播放键不起作用。
我有Razer Blackwidow Stealth 2014键盘,因此这些媒体键实际上与功能键一起使用。例如:播放/暂停处于打开状态F6,当我按键时,它用作媒体Fn键,如中的Fn + F6。
Answers:
在弄乱控件一段时间后,我在旧的i3 FAQ板上找到了一个帖子:https : //faq.i3wm.org/question/3747/enabling-multimedia-keys.1.html
它说将以下内容粘贴到i3的.config文件中(bellow是一个经过修改的版本,其中删除了一些行,与该特定问题无关):
# 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
)后,这些键盘命令也可以正常工作。
我发现我需要一个--
分开的pactl
距离set-sink-...
,它是更一致的使用@DEFAULT_SINK@
,如果你使用耳机。
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ +5% #increase sound volume
bindsym XF86AudioLowerVolume exec --no-startup-id pactl -- set-sink-volume @DEFAULT_SINK@ -5% #decrease sound volume
bindsym XF86AudioMute exec --no-startup-id pactl -- set-sink-mute @DEFAULT_SINK@ toggle # mute sound
我只是用一个示例替换了0:
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 1 + 5%#增加音量bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 1 -5%#降低音量bindsym XF86AudioMute exec --no-startup-id pactl set-sink-Mute 1切换#静音
要查看您的音频设备的编号,请打开pavucontrol并单击输出设备,最上面的一个是0,下面是一个,等等。
xev
命令完全是下铺。如果您按下这些键时是xev的输出,则您的答案会起作用。再试一次。您所在的州应该说些什么XF86AudioNext
。