Fix Hotkeys
Chuẩn bị
Đảm bảo đã đọc các bài patch DSDT phần 1 đến 4 trước khi làm guide này
B1: Tải Kext OS-X-ACPI-Debug.
B2: Dump DSDT theo hướng dẫn tại đây.
B3: tải MaciASL.
B4: Add brightness-key.kext
Nếu Asus thì thêm AsusSMC thay cho
brightness-key.kext
B5: Tải Hackintool.
B6: Tải ProperTree.
Remap KeyBoard
Mapping Keyboard EC Query:
Static Patch
B1: Mở DSDT lên bằng MaciASL và ấn tổ hợp phím Command + ,
và chuyển đến Tab Source kiểm tra xem source OS-X-ACPI-Debug
có được add chưa nếu chưa add thì add theo URL sau http://raw.github.com/RehabMan/OS-X-ACPI-Debug/master
B2: Ấn vào tab Patch trên giao diện chính của MaciASL.
B3: Các bạn Apply các patch Add DSDT Debug Methods
và Instrument EC Queries
theo ảnh sau:
B4: Save lại và cho DSDT vào EFI ==> OC ==> ACPI
Nhớ Snapshot config
Hoặc
EFI ==> CLOVER ==> ACPI ==> Patched
.
B5: Restart.
B6: Mở nhấn tổ hợp phím Command + Space
và gõ console
.
B7 Setting console.app theo ảnh.
B8: Bạn nhấn Hotkey Brightness (nhấn liên tục) và quan sát log được dump ra.
Lưu ý: Hình ảnh chỉ mang tính minh họa.
B7: Sau khi làm xong B6
ta có được F5
(brightness down
) là Q0E
và F6
(brightness up
) là Q0F
.
B8: Các bạn mở DSDT bằng MaciASL
và search KBC0, PS2M, PS2K và KBD0
.
Lưu ý: Ở đây ta có thể thấy khi search thì nhận được 2 device là
PS2M
vàPS2K
đều call quaLPCB
thì các bạn sẽ dùng Windows mởDevice manager --> Keyboard --> BIOS device name
sẽ thấy được patch cần tìm.
B9: Các bạn sẽ copy patch sao vào tab patch ở MaciASL
.
B10: Các bạn sẽ thay các code in đậm ở trên bằng các method và path đã tìm được ở trên.
B11: Reboot.
Lưu ý: Patch ở bước 10 là cho
Voodoops2controller.kext
nếu các bạn dùngApplePS2SmartTouchPad.kext
thì các bạn sẽ add patch sau
Hotpatch
Các bước xác định method và path device đều giống như static patch nhưng thay vì apply vào DSDT ta sẽ hotpatch ra SSDT.
B1: các bạn sẽ thay các code in đậm trong đoạn code sau bằng các method và path device
đã tìm ở trên ( Rename _Q0E to XQ0E
và _Q0F to XQ0F
)
B2: Các bạn sẽ convert các patch rename _Q0E to XQ0E
và _Q0F to XQ0F
từ ASCII to HEX
bằng Hackintool.
B3: Mở config bằng ProperTree và add các patch rename theo hướng dẫn tại đây.
B4: Cho SSDT vừa tạo vào EFI ==> OC ==> ACPI
Nhớ snapshot config
Hoặc
EFI ==> CLOVER ==> ACPI ==> Patched
.
B5: Reboot.
Fix BRT6
Static patch
ở các máy Dell Brightness keys sẽ được call qua BRT6 method trong DSDT. BRT6 sẽ được call qua EV5 method. EV5 method sẽ được call qua SMEE. SMEE sẽ được call qua OSID nếu OSID trả về giá trị 0x20 (32 decimal). Và OSID giá trị trả về sẽ được đặt trong tham số ACOS.
B1: Đặt tham số ACOS
về giá trị là 0x20
cho Darwin OS
.
B2: Ta sẽ tiến hành chèn các key-code
vào BRT6 method
. Tiến hành thử các key-code
sau (thử từng cái 1). Ta có 1 số key-code
đã kiểm chứng như sau 0x0365
và 0x0366
sẽ dùng được cho các model sau dell Latitude E6x20, E6x30, E6x40, E7x50, E7x70 or other 7x90
. Và 0x0405, 0x0406
sẽ dùng được cho các model khác như Precision 5510 or 7510
.
Brightness increase
: key codes0x10, 0x206, 0x286, 0x366, 0x0406
Brightness decrease
: key codes0x20, 0x205, 0x285, 0x365, 0x0405
B3: Cho DSDT vào EFI ==> OC ==> ACPI
Snapshot config
Hoặc
EFI ==> CLOVER ==> ACPI ==> Patched
.
B4: Reboot.
Hotpatch
B1: Các bạn tiến hành tạo SSDT method theo code sau:
B2: Tạo SSDT-XOSI
theo code sau:
B3: Các bạn search OSID
trong DSDT
nếu có thì add SSDT-OC-Work-Dell.dsl
B4: add các patch rename sau theo hướng dẫn tại đây
Lưu ý: Nếu máy Dell của bạn không có
method BRT6
trongDSDT
thì sẽ không addSSDT-BRT6
và ko renameBRT6 to BRTX
.
Lưu ý 2: Đối với phương pháp
EC query
thì các bạn phải tiến hành static patch trước khi hotpatch.
Lưu ý 3: Nếu các bạn nào lười hoặc không làm theo được thì có thể sử dụng app Karabiner
Source tham khảo: ACPI patch for brightness keys on Dell laptops – DSDT/SSDT – osxlatitude.com | GUIDE: How to Fix Brightness hotkeys in DSDT / SSDT-hotpatch – Laptops | InsanelyMac | OpenCore-HotPatching-Guide/SSDT-OCWork-dell.dsl at master · LAbyOne/OpenCore-HotPatching-Guide (github.com) | [Guide] – Brightness Hotkey Remapping – Guides and Tutorials – Olarila
Last updated