![无法使媒体键在 i3 窗口管理器上工作](https://linux22.com/image/1583273/%E6%97%A0%E6%B3%95%E4%BD%BF%E5%AA%92%E4%BD%93%E9%94%AE%E5%9C%A8%20i3%20%E7%AA%97%E5%8F%A3%E7%AE%A1%E7%90%86%E5%99%A8%E4%B8%8A%E5%B7%A5%E4%BD%9C.png)
我似乎不知道如何让媒体键在我的 Corsair K30 上的 i3 间隙中发挥作用。
我已经在配置中添加了以下行,但是
bindsym XF86AudioNext exec --no-startup-id playerctl next
bindsym XF86AudioPrev exec --no-startup-id playerctl previous
bindsym XF86AudioPlay exec --no-startup-id playerctl play
# bindsym XF86AudioStop exec --no-startup-id playerctl pause
bindsym XF86AudioStop exec --no-startup-id gnome-terminal
它们的工作方式很奇怪。XF86AudioStop 被完全忽略。我尝试测试它,看看它是否会打开 gnome-terminal。播放可以,但暂停不行。如果我转到 kde 桌面,所有媒体键都可以正常工作。但在 i3 中,我无法设置音量键或媒体键的绑定。只能使用上述配置使下一个和上一个按钮工作。
是否有任何类型的应用程序可以显示按下了哪个 XF86 键或将其输出到终端?
我错过了什么?
提前致谢。
答案1
首先,请确保您有正确的键符 — 因为⏸它应该是XF86AudioPause
,因为▶ / ⏸它可能是XF86AudioPlayPause
,或者它甚至可能是完全不同的东西。(XF86AudioStop 是■“停止”按钮。)
音量控制的按键符号应为XF86AudioRaiseVolume
、XF86AudioLowerVolume
和XF86AudioMute
。
要检查某个键的 X11 键符,有 和xev
。xbindkeys --key
(请注意,它们通常看不到已经全局绑定的键的按键,因此不要在 KDE 中使用它们。)
evemu-record
(可以使用或获取低级 evdev 键码libinput debug-events
;它们不是正确的代码类型,但有助于查看内核是否识别该键。)