几个ACPI事件密钥具有相同的ID


3

Ubuntu 14.04 LTS

内核:3.19.0-37通用

介绍

当我acpi_listen在系统上启动时,可以测试几个LaptopSpecialKeys。亮度按钮可以正常工作,例如:

video/brightnessdown BRTDN 00000087 00000000
video/brightnessup BRTUP 00000086 00000000

所需功能正在运行。

问题

如果我测试其他一些键,它们要么根本不触发任何acpi事件(acpi_listen不执行任何操作),要么将几个键映射到相同的代码,例如三个音量键:

button/volumeup VOLUP 00000080 00000000 K
button/volumedown VOLDN 00000080 00000000 K
button/mute MUTE 00000080 00000000 K

将音量键映射到相同的代码的结果是,音量增大,减小和静音操作都表现得很奇怪。例如,如果我按增大音量功能键,则无限重复触发增大音量事件。

最奇怪的是:

acpi事件如何区分这三个键,并认识到每个键都有自己的功能(VOLUP,VOLDN,MUTE),而所有三个键都具有相同的代码0x80?

您对如何处理acpi事件有任何想法吗?这是内核的问题,无法识别特定的笔记本驱动程序吗?还是在用户级别有解决方案可以修复LaptopSpecialKeys的此损坏功能?

Answers:


1

实际上它们是非常可区分的,您的脚本将收到整行作为参数。例:

button/volumeup VOLUP 00000080 00000000 K

您有5个参数,您可以自由处理它们。

也许最简单的方法是:

event=button/*
action=/etc/acpi/yourscript.sh %e

然后在你的脚本中使用的第三个参数$3即要么VOLUPVOLDN或者MUTE,再加上一些其他的按键(电源,...)。

看到:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.