balopez83 / Surface_Pro_3_Hackintosh

OpenCore based Hackintosh on Surface Pro 3
46 stars 6 forks source link

Keyboard Doesn't Work In macOS 11's installer #28

Closed Basil-giting closed 1 month ago

Basil-giting commented 3 months ago

My Keyboard Doesn't Appear To Be Working In Big Sur's Installer As I Am Trying To Use UnPlugged To Install It! ( https://github.com/corpnewt/UnPlugged ) The Trackpad Worked When I Was Selecting The Installer's DMG But Then Stopped Working In The Actual Recovery Environment.

Basil-giting commented 3 months ago

I Am Using The i3 Variant Of The Surface Pro 3 (64GB), Not Sure This Could Be Related But I Thought I Could Comment The Model I Have.

balopez83 commented 3 months ago

Hi @Basil-giting, your issue is most likely due to using an older 2nd gen Surface Keyboard. In order to get touch working with full gesture support the drivers/kexts required to make that work only support the 17xx models or newer. It’s hard to read but I assume you have a 16xx model keyboard. The Surface Pro 3 was originally sold with the 16xx models and so you would need to buy a newer 17xx model. I know it works in the boot selector and that is expected. The problem occurs once the macOS kernel takes over.

Unfortunately, the only way to have touch screen working at this time is to not support the 16xx model keyboards. Some legacy SP3 repos might support the old keyboards but you would lose support for most other features.

At this time there is no way to fix it and keep everything else working other than upgrading the keyboard to a 17xx model.

If after saying all of that you actually do have a supported keyboard, I can try and look into it. I don’t think there is enough of a difference between the i3 and i5 models to prevent the keyboard from working and so assume you just have an original keyboard.

if you do buy a new keyboard, any that were sold for the SP4 and later should work great.

Basil-giting commented 3 months ago

Hi There, I Can Confirm I Have a 16xx Model For My Keyboard, I Would Like To Know (If You Know) How To Get The EFI To Work With The 16xx Model Of The Surface Keyboard, If You Don't Know, That's Fine As I Can Look Into It And See How To Fix It.

balopez83 commented 3 months ago

@Basil-giting it all comes down to the voodooi2c kexts. They are written with the 17xx models in mind. The stock non Surface modded ones are worse and will make the keyboard worse.

The only way to possibly get your keyboard to work is to either figure out how to mod the driver stack (see bigsurface kext for driver code) or disable the custom voodooi2chid kext.

I've tried to modify the driver stack but I have not been able. I ported the driver stack from the BigSurface project with permission and modified it to work with the Surface Pro 3 but have been unable to modify it to at 16xx support.

Disabling the voodooi2chid kext will likely enable the keyboard but you will lose multitouch support of the trackpad and all touch and pen support.

Also keep in mind that I had to port the code from the BigSurface kext because the kext is by itself not compatible with the SP3. Using that kext in place of or with the voodooi2c kexts will also cause a lot of issues or failure to boot.

Honestly I've spent so much time on this issue and had no success. I would suggest asking over at the BigSurface repo if they can add support for the legacy keyboards. If they add support I can port it over very easily.

In the interim you can also plug in a usb keyboard to get through the installer.

balopez83 commented 3 months ago

For reference, this issue is related to issue #20

balopez83 commented 1 month ago

Closing due to no activity. Please reopen if you are still having an issue.