
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 
更新日志 · 历史版本
“BrightnessKeys.kext-v1.0.4” 
展开/收缩
“BrightnessKeys.kext-v1.0.3” 
展开/收缩
“下载地址包含其他更新历史版本” 
展开/收缩
下载地址
【解压密码:imacos.top】

                
                
                
                
评论0