XF86MonBrightnessUp/XF86MonBrightnessDown 特殊键不起作用

TRo*_*erx 13 arch-linux keyboard-shortcuts i3 backlight

我正在尝试启用一些多媒体键,而音量键确实有效。F5并且F6,增加/减少的那些不起作用,我不知道为什么。当我在终端中运行时:

xbacklight +10
Run Code Online (Sandbox Code Playgroud)

我可以看到工作效果。当我尝试绑定的特殊键(设置为~/.config/i3/config)时:

# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
Run Code Online (Sandbox Code Playgroud)

显然,媒体密钥必须与fn密钥结合使用。但是,我没有看到效果。任何解决方案?

Try*_*431 9

编辑:你必须acpi在你的机器上安装这些才能工作:)

编辑 2:此代码将亮度值增加/减少 1,但某些型号的值范围为数千,因此请相应地修改更改。

这是一个古老的问题,但答案可能对其他人有所帮助。我i3wm在我的笔记本电脑上全新安装时遇到了一个问题,无论出于何种原因,我的XF86MonBrightnessUp/Down密钥都没有被注册(我用 进行了检查xev)。我最终做的是创建acpi与按下的键相对应的动作和事件。

以下是我分别在/etc/acpi/actions和 中定义的动作/事件/etc/acpi/events

行动

/etc/acpi/actions/bl-down.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)-1)) | sudo tee $bl_device
Run Code Online (Sandbox Code Playgroud)

/etc/acpi/actions/bl-up.sh

#!/bin/sh

bl_device=/sys/class/backlight/acpi_video0/brightness
echo $(($(cat $bl_device)+1)) | sudo tee $bl_device
Run Code Online (Sandbox Code Playgroud)

活动

/etc/acpi/events/bl-down

event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl-down.sh
Run Code Online (Sandbox Code Playgroud)

/etc/acpi/events/bl-up

event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl-up.sh
Run Code Online (Sandbox Code Playgroud)

您可以通过acpi_listen在终端中使用然后按下相关的组合键来验证您的亮度上升/下降 acpi 事件代码(例如,对我来说,它是 Fn + 向下箭头表示亮度下降)。

最后,不要忘记重启acpidsudo /etc/init.d/acpid reload

注意:您的背光设备可能定义在与我的位置不同的位置/sys/class/backlight/acpi_video0- 那正是我的位置。四处闲逛。