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

 果农   2017-12-05 21:26   3940 人阅读  0 条评论


常用的键盘/触控板驱动有两个,一个是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
# Voodoo-PS2-Controller (三个数值选一个就好)
into method label _Q8F replace_content
begin
// Brightness Downn
    Notify(_SB.PCI0.LPCB.PS2K, 0x0405)n
    Notify(_SB.PCI0.LPCB.PS2K, 0x0205)n
    Notify(_SB.PCI0.LPCB.PS2K, 0x0285)n
end;
into method label _Q8E replace_content
begin
// Brightness Upn
    Notify(_SB.PCI0.LPCB.PS2K, 0x0406)n
    Notify(_SB.PCI0.LPCB.PS2K, 0x0206)n
    Notify(_SB.PCI0.LPCB.PS2K, 0x0286)n
end;
复制代码
SmartTouch-Elan
# SmartTouch-Elan
into method label _Q8F replace_content
begin
// Brightness Downn
    Notify (PS2K, 0x20)n
end;
into method label _Q8E replace_content
begin
// Brightness Upn
    Notify (PS2K, 0x10)n
end;
复制代码
b. 重启
    
c. 现在你应该有一对可以使用的Fn亮度键


本文地址:https://haolie.net/post/697.html
版权声明:本文为原创文章,版权归 果农 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

还没有留言,还不快点抢沙发?