RBrightnessKeys.kext黑苹果屋搜集到的用于亮度快捷驱动,根据ACPI规范,自动处理没有DSDT补丁的亮度键
需要Lilu 1.2.0或更高版本。
引导参数
-brkeysdbg
启用调试打印(在DEBUG二进制文件中可用)。
特别案例
通常,不需要DSDT补丁。请删除旧的_Qxx
到XQxx
的。
在某些型号上,可能需要添加ACPI补丁_OSI to XOSI
和SSDT-XOSI
。扰流板:在某些旧的ThinkPad型号上,可能需要其他处理。
这是他们的“提高亮度” EC事件的示例。
Method (_Q14, 0, NotSerialized)
{
If (^HKEY.MHKK (0x8000))
{
^HKEY.MHKQ (0x1010) // Vendor-specific event: TP_HKEY_EV_BRGHT_UP
}
If (NBCF) // Whether
{
If (VIGD)
{
Notify (^^^VID.LCD0, 0x86) // Send 0x86 "Increase Brightness" to integrated graphics
}
Else
{
Notify (^^^PEG.VID.LCD0, 0x86) // Send 0x86 "Increase Brightness" to discrete graphics
}
}
Else
{
Local0 = BRLV // Local variable to store current brightness level
If ((Local0 != 0x0F))
{
Local0++
BRLV = Local0
}
If (VIGD)
{
UCMS (0x16) // SMI access for integrated graphics
BRNS ()
}
Else
{
VBRC (Local0) // SMI access for discrete graphics
}
^HKEY.MHKQ (0x6050) // Vendor-specific event: TP_HKEY_EV_BACKLIGHT_CHANGED
}
}
NBCF
默认情况下,当设置为零时,该方法将不会通知图形设备,并尝试直接调整亮度。要覆盖它,请NBCF = 0x01
在SSDT hotpatch中设置,或仅使用一个简单的补丁替换其声明。
- 对于使用较早的iasl编译的DSDT,请替换
Name (NBCF, 0x00)
为Name (NBCF, 0x01)
:
查找:08 4E424346 0A 00
// NameOp "NBCF" BytePrefix "00"
重复:08 4E424346 0A 01
// NameOp "NBCF" BytePrefix "01"
- 对于使用较新的iasl编译的DSDT,请替换
Name (NBCF, Zero)
为Name (NBCF, One)
:
查找:08 4E424346 00
// NameOp "NBCF" ZeroOp
重复:08 4E424346 01
// NameOp "NBCF" OneOp
下载地址
此内容仅限VIP查看,请先登录
客服QQ271638927,网站统一解压密码imacos.top
原文链接:https://imacos.top/2021/03/21/brightnesskeys-kext/,转载请注明出处。
评论1