diff --git a/Docs/Configuration.pdf b/Docs/Configuration.pdf index 16d97bb4..af05988d 100644 Binary files a/Docs/Configuration.pdf and b/Docs/Configuration.pdf differ diff --git a/Docs/Configuration.tex b/Docs/Configuration.tex index b9e8c6ee..3fb29071 100755 --- a/Docs/Configuration.tex +++ b/Docs/Configuration.tex @@ -2176,7 +2176,7 @@ behaviour that does not go to any other sections recovery. Hold \texttt{CMD+R} key combination to choose this option. \end{itemize} - \emph{Note}: activated \texttt{KeySupport}, \texttt{UsbKbDxe}, or similar driver is required + \emph{Note}: activated \texttt{KeySupport}, \texttt{AppleUsbKbDxe}, or similar driver is required for key handling to work. On many firmwares it is not possible to get all the keys function. In addition to \texttt{OPT} OpenCore supports \texttt{Escape} key @@ -3609,7 +3609,7 @@ and supplementary utilities can be used. --- NVMe support driver from \texttt{MdeModulePkg}. This driver is included in most firmwares starting with Broadwell generation. For Haswell and earlier embedding it within the firmware may be more favourable in case a NVMe SSD drive is installed. - \item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{UsbKbDxe}} + \item \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{AppleUsbKbDxe}} --- USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols on top of a custom USB keyboard driver implementation. This is an alternative to builtin \texttt{KeySupport}, which may work better or worse depending on the firmware. @@ -3713,7 +3713,7 @@ build -a X64 -b RELEASE -t XCODE5 -p MdeModulePkg/MdeModulePkg.dsc This option activates the internal keyboard interceptor driver, based on \texttt{AppleGenericInput} aka (\texttt{AptioIntputFix}), to fill \texttt{AppleKeyMapAggregator} database for input functioning. In case - a separate driver is used, such as \texttt{UsbKbDxe}, this option + a separate driver is used, such as \texttt{AppleUsbKbDxe}, this option should never be enabled. \item diff --git a/Docs/Differences/Differences.pdf b/Docs/Differences/Differences.pdf index c90a490d..fdb78b5d 100644 Binary files a/Docs/Differences/Differences.pdf and b/Docs/Differences/Differences.pdf differ diff --git a/Docs/Differences/Differences.tex b/Docs/Differences/Differences.tex index 53c38569..f4c1a3b4 100644 --- a/Docs/Differences/Differences.tex +++ b/Docs/Differences/Differences.tex @@ -1,7 +1,7 @@ \documentclass[]{article} %DIF LATEXDIFF DIFFERENCE FILE %DIF DEL PreviousConfiguration.tex Tue Dec 10 15:40:50 2019 -%DIF ADD ../Configuration.tex Sun Jan 12 02:22:29 2020 +%DIF ADD ../Configuration.tex Sun Jan 12 02:58:20 2020 \usepackage{lmodern} \usepackage{amssymb,amsmath} @@ -2254,7 +2254,7 @@ behaviour that does not go to any other sections recovery. Hold \texttt{CMD+R} key combination to choose this option. \end{itemize} - \emph{Note}: activated \texttt{KeySupport}, \texttt{UsbKbDxe}, or similar driver is required + \emph{Note}: activated \texttt{KeySupport}, \texttt{\DIFdelbegin \DIFdel{UsbKbDxe}\DIFdelend \DIFaddbegin \DIFadd{AppleUsbKbDxe}\DIFaddend }, or similar driver is required for key handling to work. On many firmwares it is not possible to get all the keys function. In addition to \texttt{OPT} OpenCore supports \texttt{Escape} key @@ -3701,8 +3701,10 @@ and supplementary utilities can be used. --- NVMe support driver from \texttt{MdeModulePkg}. This driver is included in most firmwares starting with Broadwell generation. For Haswell and earlier embedding it within the firmware may be more favourable in case a NVMe SSD drive is installed. - \item \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{UsbKbDxe}} - --- USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols + \item \DIFdelbegin %DIFDELCMD < \href{https://github.com/acidanthera/AppleSupportPkg}{\texttt{UsbKbDxe}} +%DIFDELCMD < %%% +\DIFdelend \DIFaddbegin \href{https://github.com/acidanthera/OpenCorePkg}{\texttt{AppleUsbKbDxe}} + \DIFaddend --- USB keyboard driver adding the support of \texttt{AppleKeyMapAggregator} protocols on top of a custom USB keyboard driver implementation. This is an alternative to builtin \texttt{KeySupport}, which may work better or worse depending on the firmware. \item \DIFdelbegin %DIFDELCMD < \href{https://github.com/acidanthera/VirtualSMC}{\texttt{VirtualSmc}} @@ -3818,7 +3820,7 @@ build -a X64 -b RELEASE -t XCODE5 -p MdeModulePkg/MdeModulePkg.dsc This option activates the internal keyboard interceptor driver, based on \texttt{AppleGenericInput} aka (\texttt{AptioIntputFix}), to fill \texttt{AppleKeyMapAggregator} database for input functioning. In case - a separate driver is used, such as \texttt{UsbKbDxe}, this option + a separate driver is used, such as \texttt{\DIFdelbegin \DIFdel{UsbKbDxe}\DIFdelend \DIFaddbegin \DIFadd{AppleUsbKbDxe}\DIFaddend }, this option should never be enabled. \item diff --git a/OpenCorePkg.dsc b/OpenCorePkg.dsc index a4ec073f..d3779d62 100755 --- a/OpenCorePkg.dsc +++ b/OpenCorePkg.dsc @@ -25,39 +25,25 @@ [LibraryClasses] BaseLib|MdePkg/Library/BaseLib/BaseLib.inf - BaseRngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf + BaseRngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf DebugLib|OcSupportPkg/Library/OcDebugLogLib/OcDebugLogLib.inf DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf - PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf - FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf - UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf - HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf - MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf - PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf - UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf - UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf - UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf - UefiLib|MdePkg/Library/UefiLib/UefiLib.inf - UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf - UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf - PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf - IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf - PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf - SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf - PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf + FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf + HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf + IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf MacInfoLib|MacInfoPkg/Library/MacInfoLib/MacInfoLib.inf + MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf OcAcpiLib|OcSupportPkg/Library/OcAcpiLib/OcAcpiLib.inf OcAppleBootCompatLib|OcSupportPkg/Library/OcAppleBootCompatLib/OcAppleBootCompatLib.inf OcAppleBootPolicyLib|OcSupportPkg/Library/OcAppleBootPolicyLib/OcAppleBootPolicyLib.inf OcAppleChunklistLib|OcSupportPkg/Library/OcAppleChunklistLib/OcAppleChunklistLib.inf OcAppleDiskImageLib|OcSupportPkg/Library/OcAppleDiskImageLib/OcAppleDiskImageLib.inf OcAppleEventLib|OcSupportPkg/Library/OcAppleEventLib/OcAppleEventLib.inf - OcInputLib|OcSupportPkg/Library/OcInputLib/OcInputLib.inf OcAppleImageConversionLib|OcSupportPkg/Library/OcAppleImageConversionLib/OcAppleImageConversionLib.inf OcAppleImageVerificationLib|OcSupportPkg/Library/OcAppleImageVerificationLib/OcAppleImageVerificationLib.inf OcAppleKernelLib|OcSupportPkg/Library/OcAppleKernelLib/OcAppleKernelLib.inf @@ -66,22 +52,23 @@ OcAppleRamDiskLib|OcSupportPkg/Library/OcAppleRamDiskLib/OcAppleRamDiskLib.inf OcAppleUserInterfaceThemeLib|OcSupportPkg/Library/OcAppleUserInterfaceThemeLib/OcAppleUserInterfaceThemeLib.inf OcBootManagementLib|OcSupportPkg/Library/OcBootManagementLib/OcBootManagementLib.inf - OcDeviceTreeLib|OcSupportPkg/Library/OcDeviceTreeLib/OcDeviceTreeLib.inf + OcCompressionLib|OcSupportPkg/Library/OcCompressionLib/OcCompressionLib.inf + OcConfigurationLib|OcSupportPkg/Library/OcConfigurationLib/OcConfigurationLib.inf OcConsoleControlEntryModeLib|OcSupportPkg/Library/OcConsoleControlEntryModeLib/OcConsoleControlEntryModeLib.inf OcConsoleLib|OcSupportPkg/Library/OcConsoleLib/OcConsoleLib.inf OcCpuLib|OcSupportPkg/Library/OcCpuLib/OcCpuLib.inf OcCryptoLib|OcSupportPkg/Library/OcCryptoLib/OcCryptoLib.inf - OcCompressionLib|OcSupportPkg/Library/OcCompressionLib/OcCompressionLib.inf - OcConfigurationLib|OcSupportPkg/Library/OcConfigurationLib/OcConfigurationLib.inf OcDataHubLib|OcSupportPkg/Library/OcDataHubLib/OcDataHubLib.inf OcDebugLogLib|OcSupportPkg/Library/OcDebugLogLib/OcDebugLogLib.inf OcDevicePathLib|OcSupportPkg/Library/OcDevicePathLib/OcDevicePathLib.inf OcDevicePropertyLib|OcSupportPkg/Library/OcDevicePropertyLib/OcDevicePropertyLib.inf + OcDeviceTreeLib|OcSupportPkg/Library/OcDeviceTreeLib/OcDeviceTreeLib.inf OcFileLib|OcSupportPkg/Library/OcFileLib/OcFileLib.inf OcFirmwarePasswordLib|OcSupportPkg/Library/OcFirmwarePasswordLib/OcFirmwarePasswordLib.inf OcFirmwareVolumeLib|OcSupportPkg/Library/OcFirmwareVolumeLib/OcFirmwareVolumeLib.inf OcGuardLib|OcSupportPkg/Library/OcGuardLib/OcGuardLib.inf OcHashServicesLib|OcSupportPkg/Library/OcHashServicesLib/OcHashServicesLib.inf + OcInputLib|OcSupportPkg/Library/OcInputLib/OcInputLib.inf OcMachoLib|OcSupportPkg/Library/OcMachoLib/OcMachoLib.inf OcMemoryLib|OcSupportPkg/Library/OcMemoryLib/OcMemoryLib.inf OcMiscLib|OcSupportPkg/Library/OcMiscLib/OcMiscLib.inf @@ -99,12 +86,27 @@ OcUnicodeCollationEngLib|OcSupportPkg/Library/OcUnicodeCollationEngLib/OcUnicodeCollationEngLib.inf OcVirtualFsLib|OcSupportPkg/Library/OcVirtualFsLib/OcVirtualFsLib.inf OcXmlLib|OcSupportPkg/Library/OcXmlLib/OcXmlLib.inf + PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf + PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf + PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf + PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf + PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf + ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf + SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf + UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf + UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf + UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf + UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf + UefiLib|MdePkg/Library/UefiLib/UefiLib.inf + UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf + UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf [Components] OpenCorePkg/Application/Bootstrap/Bootstrap.inf OpenCorePkg/Platform/OpenCore/OpenCore.inf OcSupportPkg/Application/CleanNvram/CleanNvram.inf OcSupportPkg/Application/VerifyMsrE2/VerifyMsrE2.inf + OcSupportPkg/Platform/AppleUsbKbDxe/UsbKbDxe.inf OcSupportPkg/Platform/FwRuntimeServices/FwRuntimeServices.inf [PcdsFixedAtBuild] diff --git a/macbuild.tool b/macbuild.tool index 7d2597a5..f7ecdb84 100755 --- a/macbuild.tool +++ b/macbuild.tool @@ -25,6 +25,7 @@ package() { mkdir -p tmp/Utilities || exit 1 cp OpenCore.efi tmp/EFI/OC/ || exit 1 cp BOOTx64.efi tmp/EFI/BOOT/ || exit 1 + cp AppleUsbKbDxe.efi tmp/EFI/OC/Drivers/ || exit 1 cp FwRuntimeServices.efi tmp/EFI/OC/Drivers/ || exit 1 cp CleanNvram.efi tmp/EFI/OC/Tools/ || exit 1 cp VerifyMsrE2.efi tmp/EFI/OC/Tools/ || exit 1