xev
当我跑步并按亮度向上或向下键时,我没有看到任何事件。
我已配置 i3wm 来处理XF86MonBrightnessDown
和XF86MonBrightnessUp
,但它们不会被触发,因为它们从未发布。
使用 brillo 命令从命令行更改亮度是一种很好的解决方法,但能够使用按键来代替确实很棒。
我正在运行内核版本为 5.14.12-arch1-1 的 Arch Linux。
答案1
这个问题的解决方案分为几个部分:
- 设置
acpi_backlight=vendor
内核命令行参数 - 安装、启用和启动ACPI 事件守护进程。它可以通过 启用并启动
sudo systemctl enable --now acpid.service
。- 在 Arch Linux 上,可以安装
sudo pacman -S acpid
- 在 Arch Linux 上,可以安装
并创建一组如下文件:
/etc/acpi/events/ideapad-monitor-brightness-up
:
event=video/brightnessup BRTUP 00000086 00000000
action=/usr/bin/brillo -A 5 -u 60000
/etc/acpi/events/ideapad-monitor-brightness-down
:
event=video/brightnessdown BRTDN 00000087 00000000
action=/usr/bin/brillo -U 5 -u 60000
XF86MonBrightnessDown
和的事件处理程序XF86MonBrightnessUp
可以被删除。事件仍然不会通过,但这很好,因为 acpid 配置目录中有一组单独的事件处理程序。
如果您愿意,也可以选择使用 brillo 以外的其他工具来执行此操作。