![哪个进程处理 XF86 密钥?](https://linux22.com/image/198788/%E5%93%AA%E4%B8%AA%E8%BF%9B%E7%A8%8B%E5%A4%84%E7%90%86%20XF86%20%E5%AF%86%E9%92%A5%EF%BC%9F.png)
我的键盘上有多媒体按钮,我真正感兴趣的键是亮度键(XF86MonBrightness{UP|DOWN})。我正在使用bspwm
窗口管理器,没有任何sxhkdrc
配置,亮度会自动处理,我想禁用该键的默认行为,并设置我自己的。
tty
即使没有任何桌面环境或窗口管理器,亮度键也可以工作(我的意思是它们在控制台中工作)
另外:为什么我的密钥生成 XF86MonBrightness{Up|Down} 而不是 XF86KbdBrightness{Up|Down}
答案1
在评论中您说您的/sys/class/backlight/
目录包含acpi_video0
和intel_backlight
。
这表明您可能有两个重叠的机制来调整背光亮度,这很可能是您所说的内核挂起的原因。
您可以使用一个内核启动选项来修改背光控制功能:acpi_backlight=
。它可以采用四个可能的值:video
、vendor
和native
。none
在内核源代码中,在文件中drivers/acpi/video_detect.c
,您会发现一长串系统模型,该选项自动设置为某个值,因为内核开发人员已经被告知这些模型需要以特定方式设置。
例如,如果特定型号的条目表示它会导致自动应用.callback = video_detect_force_vendor
启动选项,除非您明确指定其他方式。acpi_backlight=vendor
由于您没有告诉您的系统型号,您可能需要浏览此列表并查看它是否为您提供任何线索:例如,如果您的系统与已列出的型号来自同一型号系列,您可以尝试相同的选项会自动应用于已列出的型号。
请注意,该列表还包括一些已知会错误报告类似笔记本电脑的背光控制的台式机。
或者,您可以acpi_backlight=
依次尝试每个启动选项值,看看其中任何一个是否适合您。如果您发现一个值可以消除内核挂起问题,您可能需要向 Linux ACPI 子系统维护人员发送一封电子邮件,其中包含dmidecode
系统的输出并确定有效的选项。
或者,如果您甚至具有初级 C 编程技能并且愿意构建自定义内核,您甚至可以自己编写和测试补丁,只需将系统信息添加到适当的列表即可自动应用必要的选项。 Linux ACPI 子系统维护人员会喜欢这样的补丁。 (这将是一个理想的“初学者的第一个内核补丁”!)