好咧
就这样吧

ACPI Brightness control (修复键盘Fn亮度键)


常用的键盘/触控板驱动有两个,一个是Voodoo-PS2-Controller,另一个则是SmartTouch-Elan


对于使用EC访问方法控制亮度的笔记本,比如我的就是Fn+LeftArrow (亮度降低) / Fn+RightArrow (亮度提高).


当按下亮度降低时,就会呼叫EC方法_Q8F;当按下亮度提高时,就会呼叫EC方法_Q8E。


对于Mac OS X,它不知道当这些方法被呼叫的时候该做些什么,或者说这些方法呼叫出来的东西没有程序能识别。这就需要修改DSDT,改为使系统的驱动能识别的与其相对应的功能。




  • 找到EC访问方法
    a. 下载MaciASL,为修改DSDT.aml/.dsl做准备。
        
    b. DSDT Patches(添加Debug补丁)
        打开DSDT,先添加补丁debug.txt,在添加布丁instrument_Qxx.txt,保存即可。
        
    c. 下载OS-X-ACPI-Debug
        下载ACPIDebug.kext,并放入Clover/kexts/other文件及或系统/S/L/E.
        
    d. 重启
        
    e. 在Console中找到EC访问方法
        打开Console(好像是叫日志查看器 ),按下亮度降低/提升的按键,窗口就会显示其对应的EC访问方法。
        ——
  • 修改EC访问方法
    a. Patch DSDT(修改DSDT)
    Voodoo-PS2-Controller
    1. # Voodoo-PS2-Controller (三个数值选一个就好)
    2. into method label _Q8F replace_content
    3. begin
    4. // Brightness Down\n
    5.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
    6.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0205)\n
    7.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0285)\n
    8. end;
    9. into method label _Q8E replace_content
    10. begin
    11. // Brightness Up\n
    12.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
    13.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0206)\n
    14.     Notify(\_SB.PCI0.LPCB.PS2K, 0x0286)\n
    15. end;
    复制代码
    SmartTouch-Elan
    1. # SmartTouch-Elan
    2. into method label _Q8F replace_content
    3. begin
    4. // Brightness Down\n
    5.     Notify (PS2K, 0x20)\n
    6. end;
    7. into method label _Q8E replace_content
    8. begin
    9. // Brightness Up\n
    10.     Notify (PS2K, 0x10)\n
    11. end;
    复制代码
    b. 重启
        
    c. 现在你应该有一对可以使用的Fn亮度键


相关推荐

最新回复