我正在尝试启用一些多媒体键,并且音量键确实有效。F5
并且F6
,用于增加/减少的那些不起作用,我不知道为什么。当我在终端运行时:
xbacklight +10
我可以看到工作效果。当我尝试绑定的特殊键(设置为~/.config/i3/config
)时:
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight -inc 20 # increase screen brightness
bindsym XF86MonBrightnessDown exec xbacklight -dec 20 # decrease screen brightness
显然,媒体密钥必须与fn
密钥结合起来。但是,我没有看到效果。有什么解决办法吗?
答案1
编辑:您必须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
/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
活动
/etc/acpi/events/bl-down
event=video/brightnessdown BRTDN 00000087 00000000
action=/etc/acpi/actions/bl-down.sh
/etc/acpi/events/bl-up
event=video/brightnessup BRTUP 00000086 00000000
action=/etc/acpi/actions/bl-up.sh
acpi_listen
您可以在终端中使用,然后按相关的组合键(例如,对我来说,Fn + 向下箭头可降低亮度)来验证您的亮度上/下 acpi 事件代码。
最后,不要忘记重新acpid
启动sudo /etc/init.d/acpid reload
笔记:您的背光设备可能定义在与/sys/class/backlight/acpi_video0
我的背光设备所在的位置不同的位置。做一些探索。
答案2
我在 Dell XPS 上的 arch 遇到了同样的问题。安装xf86-video-intel
包修复了它。
答案3
为了完成 Try431 的精彩回答,适用于我的联想 G580 的操作配置如下。
笔记:
- 事件与 Try431 相同
- 我也在运行 i3wm
- 必须添加
chmod +x
到 sh 文件中以便可以执行它们 - 我的卡是intel,所以
bl_device
路径不同 - 增量/减量太小。我把它改为100步。
/etc/acpi/actions/bl-down.sh
#!/bin/sh
bl_device=/sys/class/backlight/intel_backlight/brightness
echo $(($(cat $bl_device)-100)) | sudo tee $bl_device
/etc/acpi/events/bl-up
#!/bin/sh
bl_device=/sys/class/backlight/intel_backlight/brightness
echo $(($(cat $bl_device)+100)) | sudo tee $bl_device
答案4
xbacklight
也不适合我,但解决方案不必那么复杂!
我brightnessctl
使用 apt 安装了该软件包。https://github.com/Hummer12007/brightnessctl
我的中有以下内容配置文件:
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec brightnessctl -d "intel_backlight" set +8%
bindsym XF86MonBrightnessDown exec brightnessctl -d "intel_backlight" set 8%-
您可能需要将“intel_backlight”替换为其他内容。用于brightnessctl -l
查找适当的 ID。