XF86MonBrightnessUp/XF86MonBrightnessDown 特殊键不起作用

XF86MonBrightnessUp/XF86MonBrightnessDown 特殊键不起作用

我正在尝试启用一些多媒体键,并且音量键确实有效。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。

相关内容