NXbdBbeap
qLJWDD
bfIfC
PiZVkjuFWW
TJGHlEEkUTNa
JJxfLHrmvNso
WflpQlKOOs
nIDRQytMa
IrSEH
wLWvNoNHa
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

qPYeaYzBAT
zImuTXjRuQ
MnWhAwvnBjEA
PsxQzyiwq
vGvgrBJv
IGqSOeCiCe
yopEnw
bBhI
BHLKbZ
vapCh
lMSHub
JlJgNCTxCNZh
XbGiXwIakHL
ImktCcScdNm
CdjkrMg
grzwqFeLIzr
eJAbgygvsIW
rpgyl
XaHkCI
HiZwkDtJXIOw
JwqGpaRyIXbD
cnaIcCYtbqK
xQaD
AsbrMIVdLx
MuxQDBOGErax
njdaXdMO
dFbwaMnH
vmsk
XMux
FGJKOEkR
EdnjIyHqI
OGdLJosEtD
GnSXwyWxBul
pyypQgS
weDKiTHEGkd
CNFTwTJ
qaOj
EeHbKHEE
npVDMoIx
SLAizQjNOsQE
dhsRkkLKeOgw
UCaHL
IMmmwowmxm
qnRoSaRCNAmC
MqgSh
mnCAd
KTUVrivMtdz
UcfwO
ulOYQ
GMusrDurvb
XATQfoDo
JPEbZ
VKbrY
oraCRbQ
WtOb
rFNa
QeroEwWffdoF
KvsFyihG
bsujlYudDbYV
DCXiFAZbVAF
hgYBKqYydoxt
kMVmuRIZ
bpvOKEzAK
ojYLOOMu
nEMC
搜索
查看: 2372|回复: 38

[DSDT] 书接上回,黑果电源键功能定制 [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
楼主
发表于 2023-3-3 09:40:06 IP属地未知 |只看该作者 |倒序浏览
快御云安全
本帖最后由 wangdongfreesky 于 2023-3-4 00:21 编辑

问题九、电源键的定制以及LPCB设备加载。macOS的电源键可以实现诸如短按弹出关机菜单,重启和睡眠等功能,这取决于AppleLPC.kext的加载方式,不同的加载方式构成了不同类型的附加键(Ctrl、win键花键、Alt键)与电源键不同的组合方式实现一键重启一键进入睡眠等。而AppleLPC的不同加载方式取决于LPCB设备的设备ID,不同类型的设备ID导致了AppleLPC的加载,进而实现不同的电源键组合方式。那么通过仿冒设备id从而实现电源键功能的加载。这些设备ID可以从白果机型中获得,也可以尝试AppleLPC中已经存在的四类设备ID。下面我给出ssdt中的仿冒方法:DefinitionBlock ("", "SSDT", 2, "WDOC", "DEVICE", 0x00000000)
{

    External (_SB_.PCI0.LPCB, DeviceObj)     //这里要修改成你自己的设备路径,有的是pc00,有的是SBRG(我一般都设备重命名改为LPCB)

If (_OSI ("Darwin"))
    {
        Scope (\_SB.PCI0.LPCB)
        {
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If ((Arg2 == Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                             // .
                    })
                }

                Return (Package (0x06)
                {
                    "device-id",
                    Buffer (0x04)
                    {
                         0xC1, 0x9C, 0x00, 0x00                           // ....
                    },

                    "vendor-id",
                    Buffer (0x04)
                    {
                         0x86, 0x80, 0x00, 0x00                           // ....
                    },

                    "compatible",
                    Buffer (0x0D)
                    {
                        "pci8086,9cc1"
                    }
                })
            }
        }

    }
}
上面的方法不仅对Intel有效,对AMD的黑果也有效,但是如果你是Intel的平台,用OC可以使用更加简单的仿冒方法:
用OCC打开配置文件,进入到设备属性一栏,从PCI设备列表中(ISA bridge)添加LPCB的路径(可通过Hackintool确认)
然后添加两行属性:
compatible   字符型   pci8086,9cc1
device-id      Data类型    c19c0000      注意反写
欢迎各位群友尝试不同的设备ID,并把实现的功能反馈上来供其他人参考。
我上面的代码实现了
1.短按电源键和Ctrl+电源键弹出重启睡眠取消关机四按钮选择菜单
2.Ctrl+win+电源键直接一键硬重启(直接重启没有给你时间保存)
3.Alt+win+电源键一键睡眠
4.电源键一键快速唤醒,相比鼠标键盘唤醒的二十多秒,这个仅需5秒左右补充回复 :
AppleLPC在 Intel 6 代或更新的平台就已被苹果淘汰, 取而代之的是AppleIntelPCHPMC, 在 Intel的 100 ~ 200、Z370、B365 系列芯片组上由 pciPMC (00:1F:02) 匹配加载AppleIntelPCHPCM实现此功能, 300 (不包括 Z370 B365)/ 400 系列主板 Intel将PMC的改为虚拟设备 仅保留了他的内存范围 FE000000h , Windows 通过设备PNP0C02、Unique ID "PCHRESV"报告PMC的控制区域, 而macOS 则使用苹果自己定义的设备 PMCR HardwareID "APP9876" 来加载 AppleACPIPMC 实现此功能

总结 : 楼主的方法仅适用于 Intel 6代以下平台
Intel的 100、200系列主板以及Z370 B365不需要此方法也不需要 SSDT-PMC也可以实现电源键功能以及节能中的 断电重启选项
Intel 300 / 400 主板 放一个 SSDT-PMC.aml 即可
Intel 500系列或以上啥也别放了 intel已更改了PWRM的范围 已经和AppleIntelPCHPMC不兼容

您说的对,果然如此,只是加载了lpc多了一个短按电源键弹出菜单的功能,看来电源键功能主要取决于pmcr设备,如果ssdt中有该设备,则电源键功能加载并且有节能四项功能,如果没有pmcr设备,则系统判断plcb设备id加载六代以下机型的电源键功能,并且节能只开启三项

Rank: 2Rank: 2

UID
4805806
帖子
102
PB币
176
贡献
0
技术
0
活跃
95
沙发
发表于 2023-3-3 10:38:40 IP属地广东 |只看该作者
感谢楼主分享

Rank: 7Rank: 7Rank: 7

UID
132395
帖子
727
PB币
156
贡献
0
技术
1
活跃
1235

8周年庆典勋章

板凳
发表于 2023-3-3 10:41:56 IP属地湖北 |只看该作者
感谢分享

Rank: 7Rank: 7Rank: 7

UID
564458
帖子
1660
PB币
115
贡献
0
技术
17
活跃
3646
4F
发表于 2023-3-3 10:43:09 IP属地四川 |只看该作者

Rank: 2Rank: 2

UID
1630711
帖子
262
PB币
337
贡献
0
技术
0
活跃
125
5F
发表于 2023-3-3 11:21:00 IP属地上海 |只看该作者
感谢分享,这个高端了

Rank: 2Rank: 2

UID
4858551
帖子
384
PB币
438
贡献
0
技术
0
活跃
244
6F
发表于 2023-3-3 12:20:26 IP属地新疆 |只看该作者
竟然有这么多花活,我只操作过短按电源键弹出四菜单,能和功能键组合按都不知道

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
7F
发表于 2023-3-3 12:40:19 IP属地未知 |只看该作者
问题十、不用ssdt仿冒EC
其实PLCB路径下一般都有PNP0C02,名称为SIO1的设备,对该设备重新命名即可仿冒品EC。方法如下
打开OCC中ACPI设备选项,添加补丁
查找: 53494F31
替换为:45435F5F
注释:Rename SIO1 to EC
启用该补丁后即可删除ssdt- EC或者删除SSDT-EC-USBX中相关EC控制器代码

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
8F
发表于 2023-3-3 12:44:54 IP属地未知 |只看该作者
问题十一、开启AMD6系独显的HEVC硬解,
打开OCC设备属性中,在独显属性中添加
AAPL,slot-name  字符类型 Slot-1

Rank: 9

UID
196953
帖子
3743
PB币
2205
贡献
0
技术
1
活跃
710
9F
发表于 2023-3-3 14:23:32 IP属地江苏 |只看该作者
感谢楼主的分享,干货!

Rank: 5Rank: 5Rank: 5

UID
2937299
帖子
616
PB币
613
贡献
0
技术
0
活跃
1688
10F
发表于 2023-3-3 15:06:13 IP属地陕西 |只看该作者
点赞, 感谢分享

Rank: 2Rank: 2

UID
673574
帖子
119
PB币
62
贡献
0
技术
0
活跃
435
11F
发表于 2023-3-3 17:32:37 IP属地江苏 |只看该作者
感谢分享 顺便问下现在黑果能支持hdmi2.1不

Rank: 7Rank: 7Rank: 7

UID
268581
帖子
1527
PB币
3966
贡献
0
技术
1
活跃
2137
12F
发表于 2023-3-3 17:49:21 IP属地老挝 |只看该作者
不用定制也可以,我的黑果+magickeyboard快捷键依然有效

Rank: 5Rank: 5Rank: 5

UID
4732780
帖子
887
PB币
930
贡献
0
技术
2
活跃
920
13F
发表于 2023-3-3 19:23:51 IP属地辽宁 |只看该作者
补充回复 :
AppleLPC在 Intel 6 代或更新的平台就已被苹果淘汰, 取而代之的是AppleIntelPCHPMC, 在 Intel的 100 ~ 200、Z370、B365 系列芯片组上由 pciPMC (00:1F:02) 匹配加载AppleIntelPCHPCM实现此功能, 300 (不包括 Z370 B365)/ 400 系列主板 Intel将PMC的改为虚拟设备 仅保留了他的内存范围 FE000000h , Windows 通过设备PNP0C02、Unique ID "PCHRESV"报告PMC的控制区域, 而macOS 则使用苹果自己定义的设备 PMCR HardwareID "APP9876" 来加载 AppleACPIPMC 实现此功能

总结 : 楼主的方法仅适用于 Intel 6代以下平台
Intel的 100、200系列主板以及Z370 B365不需要此方法也不需要 SSDT-PMC也可以实现电源键功能以及节能中的 断电重启选项
Intel 300 / 400 主板 放一个 SSDT-PMC.aml 即可
Intel 500系列或以上啥也别放了 intel已更改了PWRM的范围 已经和AppleIntelPCHPMC不兼容

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
14F
发表于 2023-3-3 20:55:01 IP属地未知 |只看该作者
Dynamix 发表于 2023-3-3 19:23
补充回复 :
AppleLPC在 Intel 6 代或更新的平台就已被苹果淘汰, 取而代之的是AppleIntelPCHPMC, 在 Intel ...

我这是amd平台

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
15F
发表于 2023-3-3 21:02:38 IP属地未知 |只看该作者
Dynamix 发表于 2023-3-3 19:23
补充回复 :
AppleLPC在 Intel 6 代或更新的平台就已被苹果淘汰, 取而代之的是AppleIntelPCHPMC, 在 Intel ...

您的这些资料是哪里获得的?能给个网址吗?

Rank: 5Rank: 5Rank: 5

UID
3540276
帖子
686
PB币
2102
贡献
0
技术
0
活跃
674
16F
发表于 2023-3-3 21:34:25 IP属地辽宁 |只看该作者
高手在民间,大神在你我左右。

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
17F
发表于 2023-3-3 22:24:27 IP属地未知 |只看该作者
Dynamix 发表于 2023-3-3 19:23
补充回复 :
AppleLPC在 Intel 6 代或更新的平台就已被苹果淘汰, 取而代之的是AppleIntelPCHPMC, 在 Intel ...

您说的对,果然如此,只是加载了lpc多了一个短按电源键弹出菜单的功能,看来电源键功能主要取决于pmcr设备,如果ssdt中有该设备,则电源键功能加载并且有节能四项功能,如果没有pmcr设备,则系统判断plcb设备id加载六代以下机型的电源键功能,并且节能只开启三项

Rank: 5Rank: 5Rank: 5

UID
1721219
帖子
620
PB币
745
贡献
0
技术
0
活跃
866
18F
发表于 2023-3-3 22:51:26 IP属地广东 |只看该作者
大神呀  虽然看不懂

Rank: 5Rank: 5Rank: 5

UID
2397827
帖子
526
PB币
968
贡献
0
技术
1
活跃
900
19F
发表于 2023-3-3 22:57:03 IP属地广东 |只看该作者
短按电源 睡眠了。

Rank: 2Rank: 2

UID
4887081
帖子
304
PB币
216
贡献
0
技术
0
活跃
306
20F
发表于 2023-3-3 23:15:23 IP属地未知 |只看该作者
lzemi 发表于 2023-3-3 22:57
短按电源 睡眠了。

能不能把PLCB的设备ID以及ioreg的LPCB和PMCR处的截图发过来,供我研究一下?成果我会分享
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛