介绍

介绍

Ubuntu 14.04 LTS

内核:3.19.0-37-generic

介绍

当我启动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 的这种损坏的功能?

答案1

实际上它们非常容易区分,你的脚本将接收整行作为参数。例如:

button/volumeup VOLUP 00000080 00000000 K

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

也许是最简单的方法:

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

然后在您的脚本中使用第 3 个参数$3,即VOLUPVOLDNMUTE,加上一些其他按钮(电源,......)。

看:

相关内容