mirror of
https://github.com/dortania/OpenCore-Legacy-Patcher.git
synced 2026-06-21 06:30:52 +10:00
Requested changes
This commit is contained in:
@@ -0,0 +1,111 @@
|
|||||||
|
class AppleIDs:
|
||||||
|
# All top case devices use Vendor ID 05ac
|
||||||
|
Modern_AppleUSBTCKeyboard = [
|
||||||
|
0x223,
|
||||||
|
0x224,
|
||||||
|
0x225,
|
||||||
|
0x230,
|
||||||
|
0x231,
|
||||||
|
0x232,
|
||||||
|
0x236,
|
||||||
|
0x237,
|
||||||
|
0x238,
|
||||||
|
0x23f,
|
||||||
|
0x240,
|
||||||
|
0x241,
|
||||||
|
0x242,
|
||||||
|
0x243,
|
||||||
|
0x244,
|
||||||
|
0x245,
|
||||||
|
0x246,
|
||||||
|
0x247,
|
||||||
|
0x249,
|
||||||
|
0x24a,
|
||||||
|
0x24b,
|
||||||
|
0x259,
|
||||||
|
0x25a,
|
||||||
|
0x25b,
|
||||||
|
0x262,
|
||||||
|
0x263,
|
||||||
|
0x264,
|
||||||
|
0x24c,
|
||||||
|
0x24d,
|
||||||
|
0x24e,
|
||||||
|
0x252,
|
||||||
|
0x253,
|
||||||
|
0x254
|
||||||
|
]
|
||||||
|
|
||||||
|
Legacy_AppleUSBTCKeyboard = [
|
||||||
|
0x20e,
|
||||||
|
0x20f,
|
||||||
|
0x210,
|
||||||
|
0x214,
|
||||||
|
0x215,
|
||||||
|
0x216,
|
||||||
|
0x20d,
|
||||||
|
0x218,
|
||||||
|
0x219,
|
||||||
|
0x21a,
|
||||||
|
0x21b,
|
||||||
|
0x21c,
|
||||||
|
0x229,
|
||||||
|
0x22a,
|
||||||
|
0x22b
|
||||||
|
]
|
||||||
|
|
||||||
|
AppleUSBTrackpad = [
|
||||||
|
0x20e,
|
||||||
|
0x20f,
|
||||||
|
0x210,
|
||||||
|
0x30a,
|
||||||
|
0x30b,
|
||||||
|
0x214,
|
||||||
|
0x215,
|
||||||
|
0x216,
|
||||||
|
0x217,
|
||||||
|
0x218,
|
||||||
|
0x219,
|
||||||
|
0x21a,
|
||||||
|
0x21b,
|
||||||
|
0x21c,
|
||||||
|
0x229,
|
||||||
|
0x22a,
|
||||||
|
0x22b
|
||||||
|
]
|
||||||
|
|
||||||
|
AppleUSBMultiTouch = [
|
||||||
|
0x223,
|
||||||
|
0x224,
|
||||||
|
0x225,
|
||||||
|
0x230,
|
||||||
|
0x231,
|
||||||
|
0x232,
|
||||||
|
0x236,
|
||||||
|
0x237,
|
||||||
|
0x238,
|
||||||
|
0x23f,
|
||||||
|
0x240,
|
||||||
|
0x241,
|
||||||
|
0x242,
|
||||||
|
0x243,
|
||||||
|
0x244,
|
||||||
|
0x245,
|
||||||
|
0x246,
|
||||||
|
0x247,
|
||||||
|
0x249,
|
||||||
|
0x24a,
|
||||||
|
0x24b,
|
||||||
|
0x259,
|
||||||
|
0x25a,
|
||||||
|
0x25b,
|
||||||
|
0x262,
|
||||||
|
0x263,
|
||||||
|
0x264,
|
||||||
|
0x24c,
|
||||||
|
0x24d,
|
||||||
|
0x24e,
|
||||||
|
0x252,
|
||||||
|
0x253,
|
||||||
|
0x254
|
||||||
|
]
|
||||||
+14
-22
@@ -12,7 +12,7 @@ from dataclasses import dataclass, field
|
|||||||
from typing import Any, ClassVar, Optional, Type, Union
|
from typing import Any, ClassVar, Optional, Type, Union
|
||||||
|
|
||||||
from resources import utilities, ioreg
|
from resources import utilities, ioreg
|
||||||
from data import pci_data
|
from data import pci_data, usb_data
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -595,7 +595,7 @@ class Computer:
|
|||||||
opencore_version: Optional[str] = None
|
opencore_version: Optional[str] = None
|
||||||
opencore_path: Optional[str] = None
|
opencore_path: Optional[str] = None
|
||||||
bluetooth_chipset: Optional[str] = None
|
bluetooth_chipset: Optional[str] = None
|
||||||
keyboard_type: Optional[str] = None
|
internal_keyboard_type: Optional[str] = None
|
||||||
trackpad_type: Optional[str] = None
|
trackpad_type: Optional[str] = None
|
||||||
ambient_light_sensor: Optional[bool] = False
|
ambient_light_sensor: Optional[bool] = False
|
||||||
third_party_sata_ssd: Optional[bool] = False
|
third_party_sata_ssd: Optional[bool] = False
|
||||||
@@ -622,8 +622,7 @@ class Computer:
|
|||||||
computer.usb_device_probe()
|
computer.usb_device_probe()
|
||||||
computer.cpu_probe()
|
computer.cpu_probe()
|
||||||
computer.bluetooth_probe()
|
computer.bluetooth_probe()
|
||||||
computer.keyboard_probe()
|
computer.topcase_probe()
|
||||||
computer.trackpad_probe()
|
|
||||||
computer.ambient_light_sensor_probe()
|
computer.ambient_light_sensor_probe()
|
||||||
computer.sata_disk_probe()
|
computer.sata_disk_probe()
|
||||||
computer.oclp_sys_patch_probe()
|
computer.oclp_sys_patch_probe()
|
||||||
@@ -884,33 +883,26 @@ class Computer:
|
|||||||
elif any("Bluetooth" in usb_device.product_name for usb_device in self.usb_devices):
|
elif any("Bluetooth" in usb_device.product_name for usb_device in self.usb_devices):
|
||||||
self.bluetooth_chipset = "Generic"
|
self.bluetooth_chipset = "Generic"
|
||||||
|
|
||||||
def keyboard_probe(self):
|
def topcase_probe(self):
|
||||||
if not self.usb_devices:
|
if not self.usb_devices:
|
||||||
return
|
return
|
||||||
|
|
||||||
legacy_ids = [526,527,528,532,533,534,525,536,537,538,539,540,553,554,555] # These keyboards were stripped of their personalities after being dropped
|
|
||||||
modern_ids = [547,548,549,560,561,562,566,567,568,575,576,577,578,579,580,581,582,583,585,586,587,601,602,603,610,611,612,588,589,590,594,595,596] #These keyboards remained in AppleUSBTCKeyboard until the kext was removed
|
|
||||||
|
|
||||||
for usb_device in self.usb_devices:
|
for usb_device in self.usb_devices:
|
||||||
if usb_device.device_id in legacy_ids and usb_device.vendor_id == 1452:
|
if self.internal_keyboard_type and self.trackpad_type:
|
||||||
self.keyboard_type = "Legacy"
|
break
|
||||||
elif usb_device.device_id in modern_ids and usb_device.vendor_id == 1452:
|
if usb_device.vendor_id != 0x5ac:
|
||||||
self.keyboard_type = "Modern"
|
continue
|
||||||
|
|
||||||
def trackpad_probe(self):
|
if usb_device.device_id in usb_data.AppleIDs.Legacy_AppleUSBTCKeyboard:
|
||||||
if not self.usb_devices:
|
self.internal_keyboard_type = "Legacy"
|
||||||
return
|
elif usb_device.device_id in usb_data.AppleIDs.Modern_AppleUSBTCKeyboard:
|
||||||
|
self.internal_keyboard_type = "Modern"
|
||||||
legacy_ids = [526,527,528,778,779,532,533,534,535,536,537,538,539,540,553,554,555] # Overlap with keyboard IDs as some units have unified USB topcase devices
|
|
||||||
modern_ids = [547,548,549,560,561,562,566,567,568,575,576,577,578,579,580,581,582,583,585,586,587,601,602,603,610,611,612,588,589,590,594,595,596]
|
|
||||||
|
|
||||||
for usb_device in self.usb_devices:
|
if usb_device.device_id in usb_data.AppleIDs.AppleUSBTrackpad:
|
||||||
if usb_device.device_id in legacy_ids and usb_device.vendor_id == 1452:
|
|
||||||
self.trackpad_type = "Legacy"
|
self.trackpad_type = "Legacy"
|
||||||
elif usb_device.device_id in modern_ids and usb_device.vendor_id == 1452:
|
elif usb_device.device_id in usb_data.AppleIDs.AppleUSBMultiTouch:
|
||||||
self.trackpad_type = "Modern"
|
self.trackpad_type = "Modern"
|
||||||
|
|
||||||
|
|
||||||
def sata_disk_probe(self):
|
def sata_disk_probe(self):
|
||||||
# Get all SATA Controllers/Disks from 'system_profiler SPSerialATADataType'
|
# Get all SATA Controllers/Disks from 'system_profiler SPSerialATADataType'
|
||||||
# Determine whether SATA SSD is present and Apple-made
|
# Determine whether SATA SSD is present and Apple-made
|
||||||
|
|||||||
Reference in New Issue
Block a user