diff --git a/payloads/Config/config.plist b/payloads/Config/config.plist
index 6e7f8759d..29438cf65 100644
--- a/payloads/Config/config.plist
+++ b/payloads/Config/config.plist
@@ -1267,7 +1267,61 @@
Enabled
ExecutablePath
- Contents/MacOS/AppleUSBTopCase
+
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ PlistPath
+ Contents/Info.plist
+
+
+ Arch
+ x86_64
+ BundlePath
+ AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCButtons.kext
+ Comment
+ AppleUSBTCButtons
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/AppleUSBTCButtons
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ PlistPath
+ Contents/Info.plist
+
+
+ Arch
+ x86_64
+ BundlePath
+ AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext
+ Comment
+ AppleUSBTCKeyboard
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/AppleUSBTCKeyboard
+ MaxKernel
+
+ MinKernel
+ 22.0.0
+ PlistPath
+ Contents/Info.plist
+
+
+ Arch
+ x86_64
+ BundlePath
+ AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyEventDriver.kext
+ Comment
+ AppleUSBTCKeyEventDriver
+ Enabled
+
+ ExecutablePath
+ Contents/MacOS/AppleUSBTCKeyEventDriver
MaxKernel
MinKernel
diff --git a/resources/build.py b/resources/build.py
index d4f577f6d..0c91d29d4 100644
--- a/resources/build.py
+++ b/resources/build.py
@@ -771,6 +771,9 @@ class BuildOpenCore:
# These units got force touch early, so ignore them
if self.model not in ["MacBookPro11,4", "MacBookPro11,5", "MacBook8,1"]:
self.enable_kext("AppleUSBTopCase.kext", self.constants.topcase_version, self.constants.top_case_path)
+ self.get_kext_by_bundle_path("AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCButtons.kext")["Enabled"] = True
+ self.get_kext_by_bundle_path("AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyboard.kext")["Enabled"] = True
+ self.get_kext_by_bundle_path("AppleUSBTopCase.kext/Contents/PlugIns/AppleUSBTCKeyEventDriver.kext")["Enabled"] = True
self.enable_kext("AppleUSBMultitouch.kext", self.constants.multitouch_version, self.constants.multitouch_path)