Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

键盘小太阳可以在系统里面设置的哦 #2

Closed
chtzs opened this issue Oct 1, 2019 · 13 comments

Comments

@chtzs
Copy link

commented Oct 1, 2019

别说Fn+F6, Ctrl+1都行 : )

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 2, 2019

请问系统哪里可以设置呢?

@chtzs

This comment has been minimized.

Copy link
Author

commented Oct 2, 2019

屏幕快照 2019-10-02 下午9 16 56

在设置->键盘->快捷键里面 ; )

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 2, 2019

噢这个。这个我尝试过了,无效的。
我顺便在这里讲讲我搞小太阳键的思路吧。最开始我也是去系统设置那里(上图)去观察看能不能改一下,但是我点选图中设置,准备更改快捷键,按下Fn+F6/Fn+F7,是没有任何反应的。
后来我就开始研究patch DSDT,通过安装ACPIDebug.kext和patch RehabMan的repo里面那两个用来调试EC query的补丁之后,我发现无论是加亮度,还是减亮度,发送的都是Q66的EC query。
然后我就考虑先patch Q66。结果发现Q66里面实际上是会把请求路由到NEVT()函数中。这是一个十分复杂的函数(RehabMan也说了),以我目前的水平是看不懂的。后来RehabMan的帖子里面说有些戴尔笔记本将EC query路由到了NEVT,但是最终还是land in BRT6。于是我又去patch BRT6,但是通过rmdt.p1函数打log发现两个BRT6函数都没有被调用!所以最终还是不知道识别并操作亮度增减的函数在哪里。
我就是搞到这里没办法再搞下去的。希望有大神能解决一下吧。

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 2, 2019

(This text is an English version for the Chinese one above)
I had tried many ways to remap the brightness key. At the very beginning, I tried to change system preferences like the pic above, but nothing changed when I pressed Fn+F6 or Fn+F7. Later I had focused on patching my DSDT following the guides written by RehabMan. After installing ACPIDebug.kext and patching DSDT, the system.log told me Fn+F6 or Fn+F7 will send _Q66. Then I found Method _Q66 will call another Method NEVT。NEVT is too complex to figure out its behavior.

RehabMan also wrote that some Dell laptop which call NEVT in _QXX will eventually land process in BRT6. So I also tried to patch BRT6 but still no luck. BET6 even not been called! Now I don't know what I should do.

Hope anyone can solve that. Many thanks in advance.

@chtzs

This comment has been minimized.

Copy link
Author

commented Oct 3, 2019

但我和你是同款机型耶,我就可以这么按
我把我的配置发到码云上了,你看看呗
EFI

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 3, 2019

我尝试了你的EFI,但是你的EFI没办法把我的电脑引导进系统。苹果图标读条读一半就卡死了。
我注意到了你的ACPI/patched里面有个SSDT-Dell-Fn.aml,打开看了一下是Patch BRT6函数的,config.plist里面找不到更多有用的信息了。不知道你能不能做一个这样的测试,暂时性的把你电脑里面的SSDT-Dell-Fn.aml剪切到别的地方,重启看看小太阳是否仍然正常?

再次,我看config.plist里面有些奇怪的地方,你做了 Change _OSI to XOSI, use with SSDT-XOSI.aml 和 Change OSID to XSID (to avoid match against _OSI XOSI patch),但是这两个change是要配合SSDT-XOSI.aml使用的。然而在你的EFI文件夹中我并没有找到这个文件?

最后就是,秋绘小姐姐一生推!(握手)

@chtzs

This comment has been minimized.

Copy link
Author

commented Oct 3, 2019

config.plist是在别人的一个EFI里面修改的,所以比较杂,而且我也是个小白,不敢乱删(不是懒(真的不是))

还有,我的小太阳好像和SSDT-Dell-Fn.aml没啥关系,SSDT-Dell-Fn.aml是我前几天无聊加进去的,发现没啥效果,也没啥影响,就没删(真的不是懒啊)

关于卡条,有的相同机型在更新BIOS后就会出现这个情况,如果是卡在apfs_module_start,试试在ACPI->DSDT->Patches里面添加:

Comment: Fix AsRock Z390 BIOS DSDT Device(RTC) bug~
Find: A00A9353 54415301
Replace: A00A910A FF0BFFFF

最后就是,吹爆绘总(TCP般的握手)

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 3, 2019

好的,我再康康吧。
我有几个问题:

  1. 你的BIOS是多少版本的?(我是1080P,1.3.0)
  2. 想知道你是不是自己Custom过USB的SSDT,屏蔽无用USB端口(看到你有SSDT-UIAC-ALL.aml)。因为我是1080P版,我的HS是01,02,04,05,14,SS是01,02,03,和你的完全不同,有种预感就算我正常启动了,我的USB口也是不能用的。
  3. 不知道你能不能做另一个测试,就是试着安装ACPIDebug.kext, 并给DSDT打上那两个log出EC query的补丁,看看system.log,按小太阳按键的时候打出的是哪个EC query。我觉得这有利于进一步Fix小太阳按键。这个步骤可能会比较麻烦,先提前表示感谢。
  4. 有没有Fix HDMI输出的思路?对于程序员来说没有外接显示器真的十分难受,反而小太阳这个问题还不算太严重……
@chtzs

This comment has been minimized.

Copy link
Author

commented Oct 4, 2019

ACPI先拿去用

2019-10-04 11:28:09.161487+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"
2019-10-04 11:28:09.161621+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"
2019-10-04 11:28:09.161748+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"
2019-10-04 11:28:10.075573+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"
2019-10-04 11:28:10.075684+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"
2019-10-04 11:28:10.076527+0800 0x15f Default 0x0 0 0 kernel: (kernel) ACPIDebug: "EC _Q66 enter"

@chtzs

This comment has been minimized.

Copy link
Author

commented Oct 4, 2019

我回答你问的几个问题嗷

  1. 同款BIOS
  2. 没有定制过,但我之前曾尝试过,所有的USB接口都是正常的,所以没管
  3. 上面呐
  4. 暂时没有,连不上气死了😭
@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 4, 2019

非常感谢你的帮助。在你的数据之上我又研究了一下,发现实际上问题还是在于我自己的电脑进到_Q66之后没办法路由到BRT6导致小太阳失效的。

正常路径应该是_Q66 -> NEVT -> SMIE -> SMEE -> EV5 -> BRT6的。但是不知道为什么我的电脑没有执行到EV5。DSDT里打log调试+不断重启太麻烦了了。这个问题我觉得还是留待日后身边如果能找到4K版本的机器我再进行试验了。

再次感谢!

@Skimige

This comment has been minimized.

Copy link

commented Oct 7, 2019

(咦,居然有两个绘星,7590 4K 绘星路过)
感觉楼主已经解决掉两个我懒得去弄的问题了(亮度和睡眠)…… 看哪天有空把楼主的 EFI 拉下来研究一下吧orz

@LinZong

This comment has been minimized.

Copy link
Owner

commented Oct 9, 2019

Brightness key issue had fixed at #a5869c3.

@LinZong LinZong closed this Oct 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.