微信扫一扫 分享朋友圈

已有 7433 人浏览分享

开启左侧

AsusSMC的简单教程

[复制链接]
7433 50
更新时间2021.11.18


前言
作为华硕笔记本用户从玩黑苹果开始就对键盘快捷键以及键盘背光心有遗憾虽然那时候玩的时候还是Clover但是AsusSmc.kext却已经存在但是纵观整个论坛我几乎没有找到关于AsusSMC的任何食用教程但是在各教程的kext中又有对AsusSMC对引用却一直不知道怎么用现在转到了OC研究过SSDT后再去看看AsusSMC发现其实食用并不难。于是便有了今天这篇文章!


要求
主要是华硕笔记本用户对黑苹果有一定自己的研究伸手党跟白嫖党),
熟悉OC的特性并会对Config进行一定对修改照搬),
DSDTSSDT有一定对了解最好是会一点语法基础并能进行修改对能看懂编译aml的错误代码并修改的人群CTRL+CCTRL+V)。

正片
AsusSMC链接https://github.com/hieplpvip/AsusSMC
Wiki:https://github.com/hieplpvip/AsusSMC/wiki/Installation-Instruction
Wiki里面是原作者对AsusSMC的食用说明教程但是在阅读后发现这里面教程并没有更新到最新还是针对DSDT进行修改只适合用于Clover而对于OC来说直接加载DSDT已经不被推荐了OC会对所有对操作系统注入ACPI因此在只需要根据原作者的patchesDSDT补丁制作对应的SSDT并加载同时加载AsusSMC.kext就可以食用大部分功能下载仓库文件跟relesse版本的AsusSMC.kext这里面比较重要就是patchesAsusSMC.kext内核驱动接下来就是制作SSDT



首先是加载DSDT的补丁库后来发现需要科学上网才能加载出来因此推荐食用第二种方法就是加载Patches里的补丁两者补丁内容是一样里因此在这里主要介绍加载本地补丁进行修改DSDT并制作SSDT的方法

1.修复键盘背光
请注意后面的操作以我的DSDT为例
提取DSDT后用MaciASl打开后根据CPU的平台选择对应的补丁比如我的是i5-7200U就选择kabylake这个补丁
打开MaciASl->补丁库->应用本地补丁文件->选择对应丁补丁->应用




补丁打完之后后面就需要根据这个内容制作SSDT在打补丁的时候可以发现这个补丁并没有修改内容而是增加了一段内容DSDT中搜索“SKBV”这个搜索内容就是刚刚补丁的内容只需要定位到他的位置即可

根据左下角可以知道路径创建SSDT创建Scope域并填写路径Scope下复制刚刚打上的补丁内容并在Scope上面添加外部引用进行编译没有错误就行

外部引用的方法这里就不罗列了
https://xstar-dev.github.io/hackintosh_advanced/Guide_For_Battery_Hotpatch.html
这篇文章是关于电池热补丁的非常有用里面有详细的关于“引用外部声明”的内容
打不开的话VPN再试试
至此关于键盘背光的SSDT就完成了是不是一点都不难SSDT添加到ACPIAsusSMC.kext添加到kext目录下Config关联重启后就会发现键盘背光可以食用了需要注意的时要在键盘设置里需要关闭在光线较弱时调整键盘亮度】,这样在强光下也可以调整不关闭的话在强光下无法调整


2.键盘快捷键




关于键盘快捷键的教程推荐去看
https://blog.skk.moe/post/ssdt-map-fn-shortcuts/
该作者也是《从 Clover OpenCore —— Clover 迁移 OpenCore 指南》的作者小兵哥是转载嘿嘿嘿懂得
按照教程的话需要重新建立键盘映射需要学习PS2ABD的扫描码比较麻烦AsusSMC的作者已经将补丁弄好我们只需要进行食用就行了方便了许多
在食用键盘快捷键前先看看Wiki里面对键盘对介绍在食用AsusSMC的时候需要先移除AsusNBFnKeys接下来就是制作SSDT
同理方法还是一样先在DSDT中打上补丁后复制补丁内容到新建的SSDT添加系统判断外部引用编译无误后就可以食用了
后面操作以Fn+F3“调节键盘背光快捷键”为例
选择F3的补丁注意打补丁前后的区别选择应用补丁并且搜索“_SB.ATKD.IANE定位到该补丁位置发现Fn+F3对应到是“_Q0C”“_Q0D”则对应Fn+F4其余快捷键可以查看对应补丁

找到补丁位置后新建SSDT文件SSDT文件中新建Scope域路径方法同上。

可以看到这里我是已经添加了系统判断如果操作系统是Mac就继续如果不是就执行XQ0C因此需要对原DSDT中对_Q0C重命名成XQ0C这样当不是Mac系统时实际执行当就是原DSDT_Q0C重命名成XQ0C)。其余的快捷键的操作方法一样需要注意的是每个快捷键对应的值是不一样的更新一下需要注意的是Else的位置,是跟系统判断的IF 同级别,正确的已修改。如图蓝色框的部分。之前用OC引导进Windows后发现快捷键不能用,查看SSDT后,发现位置错了,导致在Windows下没有返回更名后的函数(XQ0C)。
重命名的方法请参考上面那篇电池补丁教程
完成之后就需要进行添加外部引用编译无误后就可以放进ACPI里加载了


3.环境光传感器
OC-little里面的仿冒环境光传感器可以直接食用有问题的在根据补丁修改吧方法还是一样这种只要懂了一通百通这里就不赘述了

后面是修复完成的截图,最新Monterey照样可以用。







SSDT-ATKD.AML (键盘背光)
  1. DefinitionBlock ("", "SSDT", 2, "ACDT", "ATKD", 0x00000000){    External (_SB_.ATKD, DeviceObj)    External (_SB_.KBLV, FieldUnitObj)    External (_SB_.PCI0.LPCB.EC0_.ST9E, MethodObj)    // 3 Arguments    External (_SB_.PCI0.LPCB.EC0_.WRAM, MethodObj)    // 2 Arguments    Scope (\_SB.ATKD)    {        Method (SKBV, 1, NotSerialized)        {            ^^PCI0.LPCB.EC0.WRAM (0x09F0, ^^KBLV)            ^^PCI0.LPCB.EC0.ST9E (0x1F, 0xFF, Arg0)            Return (Arg0)        }    }}
复制代码
SSDT-ALS0(环境光传感器)
  1. DefinitionBlock ("", "SSDT", 2, "ACDT", "ALS0", 0x00000000){    Scope (_SB)    {        Device (ALS0)        {            Name (_HID, "ACPI0008" /* Ambient Light Sensor Device */)  // _HID: Hardware ID            Name (_CID, "smc-als")  // _CID: Compatible ID            Name (_ALI, 0x012C)  // _ALI: Ambient Light Illuminance            Name (_ALR, Package (0x01)  // _ALR: Ambient Light Response            {                Package (0x02)                {                    0x64,                     0x012C                }            })            Method (_STA, 0, NotSerialized)  // _STA: Status            {                If (_OSI ("Darwin"))                {                    Return (0x0F)                }                Else                {                    Return (Zero)                }            }        }    }}
复制代码
SSDT-FN.aml(Fn快捷键)
代码有点多,放进去超字节了,这里快捷键我只选取了我用得到了。
F3 键盘背光减弱
F4 键盘背光增加
F5 屏幕背光减弱
F6 屏幕背光增加
F9 触摸板开关
F10 静音
F11 音量减
F12 音量加
Ps:F1睡眠我试了一下,添加后没有反应,

评论 50

cylhhm  新手上路  发表于 2023-10-15 19:08 | 显示全部楼层
很好的教程

举报 使用道具

回复 支持 反对
hungryfish110  新手上路  发表于 2023-10-15 19:09 | 显示全部楼层
这个必须顶上去

举报 使用道具

回复 支持 反对
alan_801  新手上路  发表于 2023-10-15 19:09 | 显示全部楼层
很牛叉的教程呀,谢谢大神

举报 使用道具

回复 支持 反对
flydancing  新手上路  发表于 2023-10-15 19:10 | 显示全部楼层
一点一点看完了,有点尴尬,一点语法基础都没有实在食用不了,楼主能否帮助我制作一下SSDT。有时间的话,没时间就罢了。
提供上我的DSDT文件:

举报 使用道具

回复 支持 反对
zjw0925  新手上路  发表于 2023-10-15 19:11 | 显示全部楼层
华硕笔记本型号

举报 使用道具

回复 支持 反对
忧伤吉他  新手上路  发表于 2023-10-15 19:12 | 显示全部楼层
支持技术党。。。

举报 使用道具

回复 支持 反对
nazimg42  新手上路  发表于 2023-10-15 19:12 | 显示全部楼层
华硕N550JV 四代笔记本 i7-4700HQ

举报 使用道具

回复 支持 反对
小咀咀  新手上路  发表于 2023-10-15 19:13 | 显示全部楼层
你试一下,看看

举报 使用道具

回复 支持 反对
calmlj  新手上路  发表于 2023-10-15 19:14 | 显示全部楼层
非常感谢,已经起作用了;另外我想问一下,_Q0E to XQ0E和_Q0F to XQ0F对应的是F5+F6对吗?

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

23

粉丝

9

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信公众平台

  • 扫描访问手机版

Archiver|手机版|小黑屋|水窝ibm

GMT+8, 2024-7-5 08:51 , Processed in 0.101686 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2022 Comsenz Inc.