Jump to content
30960 posts in this topic

Recommended Posts

Though why would it work when the protocol is not located? Something is borked...

 

That's why I said I don't understand, I think he was referring to the protocol GUID in the code. The only thing I can think of that makes sense....

Hello,

any progress about how to fix "org.clover.target.esp" under 10.11.x or below versions?

It uses "/" Root as a target installation instead of EFI Partition since r4399.

Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: /tmp/PKInstallSandbox.tVnuG1/Scripts/org.clover.target.esp.2dw1nN/preinstall: line 16: cd: //EFIROOTDIR: No such file or directory
...  . ........ ..........
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: EFIFolder Pre-Install Script
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: ===============================================
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: preinstall: Path to installer....... /Users/badruzeus/Downloads/Apps/Clover_v2.4k_r4409.pkg
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: preinstall: Path to destination..... /EFIROOTDIR
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: preinstall: Path to dest volume..... /
Feb  9 10:22:22 MacBookPro installd[614]: ./preinstall: preinstall: Root of system folder... /

Thanks.  :)

 

 

I just backed old esp installation(it works for all macos before). Its not hold old esp installation. Just temptotally, back old esp installation. If micky new esp is no problem, we just reflect again.

Because badruzeus and chris reported this issue.

Strange. In beta2, diskutil list, can't you see apfs container(preboot,HS,recovery,vm)?

I tested both system and no problem.

And chris and badruzeus reported it works on 10.6.8, 10.11.6

Sorry for my bad english.

 

나의 LG-F800S 의 Tapatalk에서 보냄

 

 

For my part the latest , Clover works on all the OS, I  test of 10.6.8. to 10.13.4 B2 no failure even on APFS.

working also in EFI disque image

My opinion

Clover always work perfectly on all the OS and I do not see why it would not be the case now?

Edit ***  if you need log its not a no problems

Hi guys, maybe is only me to have problems, so can I ask what's your build number string of HS beta? ... I can confirm it works on a fresh installation of 10.13.3 ..but

And just for testing purpose, can you try if the attached build (working for me) is ok for you on different OSes you have?

Clover_v2.4k_r4415.pkg.zip

Hi guys, maybe is only me to have problems, so can I ask what's your build number string of HS beta? ... I can confirm it works on a fresh installation of 10.13.3 ..but

And just for testing purpose, can you try if the attached build (working for me) is ok for you on different OSes you have?

Test macOS High Sierra bêta 10.13.4 (17E150g) Works

also test in Snow leopard 10.6.8 Works

 

the MountESP, partutil is different of the one from repos

I don't understand what you mean.

 

EDIT: Oh wait, I think I understand. You mean ReadKeyState from the aggregator. I don't know what you mean by define in Platform.h or whatever, but making assumptions, the problem is the protocol definition is hidden in the protocol implementation and needs to be separated out like the other protocols into the include folder. The protocol GUID is not defined outside the implementation of the protocol so search for the other protocol GUIDs and define the GUID in the same place, it is probably somewhere in the platform folder.....  :sick: ...... Anyway, I think it should be pretty clear that if you read the key state information that you got rid of it, so you either have to put it back or need to translate it into options directly to boot.efi (it does not appear to be removed at all, so maybe even using SearchKeyStroke may be a better idea first to determine if there are any relevant keystrokes). Remember the fact that none of this needs to be done if boot.efi is not being autolaunched with timeout=0.

 

EDIT2: After looking at the protocol implementation, I don't think it removes any information, so it should definitely still be there for boot.efi.

 

EDIT3: More clarity, if there are any keys at all and boot.efi is not being autolaunched with timeout=0, then the GUI must show.

 

EDIT4: Ah, this whole comment is non-sense, even I don't know what I meant anymore because I am so confused by what he said and it just gets worse each time I read it.

 

EDIT5:  :blowup:

 

If you couldn't understand what I meant, then run it by your self :) 

This is the diff patch, try changing the LazyClover variable:

Index: CloverPkg.dec
===================================================================
--- CloverPkg.dec	(revision 4415)
+++ CloverPkg.dec	(working copy)
@@ -70,6 +70,8 @@
   
   ## Include/Protocol/EmuVariableControl.h
   gEmuVariableControlProtocolGuid        = {0x21f41e73, 0xd214, 0x4fcd, {0x85, 0x50, 0x0d, 0x11, 0x51, 0xcf, 0x8e, 0xfb }}
+  ##  Include/Protocol/AppleKeyState.h
+  gAppleKeyStateProtocolGuid               = {0x5b213447, 0x6e73, 0x4901, {0xa4, 0xf1, 0xb8, 0x64, 0xf3, 0xb7, 0xa1, 0x72}}
 
   #Apple's protocols
   gEfiConsoleControlProtocolGuid         = {0xF42F7782, 0x012E, 0x4C12, {0x99, 0x56, 0x49, 0xF9, 0x43, 0x04, 0xF7, 0x21}}
Index: Include/Protocol/AppleKeyAggregator.h
===================================================================
--- Include/Protocol/AppleKeyAggregator.h	(revision 4415)
+++ Include/Protocol/AppleKeyAggregator.h	(working copy)
@@ -5,7 +5,8 @@
 //  Created by Slice on 26.10.16.
 //  based on CupertinoNet
 //
-
+#include <Protocol/AppleKeyState.h>
+#include <Protocol/AppleKeyMapDatabase.h>
 #ifndef _AppleKeyMapAggregator_h
 #define _AppleKeyMapAggregator_h
 
Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.c
===================================================================
--- Protocols/AppleKeyAggregator/AppleKeyAggregator.c	(revision 4415)
+++ Protocols/AppleKeyAggregator/AppleKeyAggregator.c	(working copy)
@@ -19,7 +19,7 @@
 
 #include <Protocol/AppleKeyState.h>
 #include <Protocol/AppleKeyMapDatabase.h>
-#include "AppleKeyAggregator.h"
+#include <Protocol/AppleKeyAggregator.h>
 
 // KeyMapGetKeyStrokesByIndex
 APPLE_KEY_STROKES_INFO *
Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.h
===================================================================
--- Protocols/AppleKeyAggregator/AppleKeyAggregator.h	(revision 4415)
+++ Protocols/AppleKeyAggregator/AppleKeyAggregator.h	(nonexistent)
@@ -1,81 +0,0 @@
-//
-//  AppleKeyMapAggregator.h
-//  
-//
-//  Created by Slice on 26.10.16.
-//  based on CupertinoNet
-//
-
-#ifndef _AppleKeyMapAggregator_h
-#define _AppleKeyMapAggregator_h
-
-#define APPLE_KEY_MAP_PROTOCOLS_REVISION  0x010000
-#define APPLE_KEY_MAP_AGGREGATOR_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'A')
-
-#define APPLE_KEY_STROKES_INFO_SIGNATURE   SIGNATURE_32 ('K', 'e', 'y', 'S')
-
-#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_AGGREGATOR(This) \
-  CR (                                                              \
-    (This),                                                         \
-    APPLE_KEY_MAP_AGGREGATOR,                                       \
-    AggregatorProtocol,                                             \
-    APPLE_KEY_MAP_AGGREGATOR_SIGNATURE                              \
-  )
-
-#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_DATABASE(This)   \
-  CR (                                                              \
-    (This),                                                         \
-    APPLE_KEY_MAP_AGGREGATOR,                                       \
-    DatabaseProtocol,                                               \
-    APPLE_KEY_MAP_AGGREGATOR_SIGNATURE                              \
-  )
-
-#define APPLE_KEY_STROKES_INFO_FROM_LIST_ENTRY(Entry)  \
-((APPLE_KEY_STROKES_INFO *)(                         \
-  CR (                                               \
-    (Entry),                                         \
-    APPLE_KEY_STROKES_INFO_HDR,                      \
-    This,                                            \
-    APPLE_KEY_STROKES_INFO_SIGNATURE                 \
-  )                                                \
-))
-/*
-typedef struct _EFI_LIST_ENTRY {
-  struct _EFI_LIST_ENTRY  *ForwardLink;
-  struct _EFI_LIST_ENTRY  *BackLink;
-} EFI_LIST_ENTRY;
-
-typedef EFI_LIST_ENTRY EFI_LIST;
-*/
-
-// APPLE_KEY_STROKES_INFO_HDR
-typedef struct {
-  UINTN              Signature;      ///<
-  LIST_ENTRY         This;           ///<
-  UINTN              Index;          ///<
-  UINTN              KeyBufferSize;  ///<
-  UINTN              NumberOfKeys;   ///<
-  APPLE_MODIFIER_MAP Modifiers;      ///<
-} APPLE_KEY_STROKES_INFO_HDR;
-
-// APPLE_KEY_STROKES_INFO
-typedef struct {
-  APPLE_KEY_STROKES_INFO_HDR Hdr;   ///<
-  APPLE_KEY                  Keys;  ///<
-} APPLE_KEY_STROKES_INFO;
-
-
-// APPLE_KEY_MAP_AGGREGATOR
-typedef struct {
-  UINTN                             Signature;           ///<0
-  UINTN                             NextKeyStrokeIndex;  ///<0x08
-  APPLE_KEY                         *KeyBuffer;          ///<0x10
-  UINTN                             KeyBuffersSize;      ///<0x18
-  LIST_ENTRY                        KeyStrokesInfoList;  ///<0x20
-  APPLE_KEY_MAP_DATABASE_PROTOCOL   DatabaseProtocol;    ///<0x30 size=8*4
-  APPLE_KEY_STATE_PROTOCOL          AggregatorProtocol;  ///<0x50 size=8*3
-} APPLE_KEY_MAP_AGGREGATOR;  //size=0x68
-
-
-
-#endif
Index: Xcode/Clover/Clover.xcodeproj/project.pbxproj
===================================================================
--- Xcode/Clover/Clover.xcodeproj/project.pbxproj	(revision 4415)
+++ Xcode/Clover/Clover.xcodeproj/project.pbxproj	(working copy)
@@ -1208,7 +1208,6 @@
 			isa = PBXGroup;
 			children = (
 				12AAF5F21DC0F03B00A52B12 /* AppleKeyAggregator.c */,
-				12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */,
 				12AAF5F41DC0F03B00A52B12 /* AppleKeyAggregator.inf */,
 			);
 			path = AppleKeyAggregator;
@@ -2744,6 +2743,7 @@
 		2C794ADC1A0AA85900D845B0 /* Protocol */ = {
 			isa = PBXGroup;
 			children = (
+				12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */,
 				2C794AD21A0AA85900D845B0 /* AppleDeviceControl.h */,
 				2C794AD31A0AA85900D845B0 /* AppleDiskIo.h */,
 				12AAF5171DBE28B800A52B12 /* AppleEvent.h */,
Index: rEFIt_UEFI/Platform/Platform.h
===================================================================
--- rEFIt_UEFI/Platform/Platform.h	(revision 4415)
+++ rEFIt_UEFI/Platform/Platform.h	(working copy)
@@ -65,6 +65,7 @@
 #include <Protocol/EmuVariableControl.h>
 #include <Protocol/AppleSMC.h>
 #include <Protocol/AppleImageCodecProtocol.h>
+#include <Protocol/AppleKeyAggregator.h>
 
 #include "../refit/lib.h"
 #include "string.h"
Index: rEFIt_UEFI/refit/main.c
===================================================================
--- rEFIt_UEFI/refit/main.c	(revision 4415)
+++ rEFIt_UEFI/refit/main.c	(working copy)
@@ -39,7 +39,6 @@
 //#include "../include/Handle.h"
 
 #include "Version.h"
-
 #ifndef DEBUG_ALL
 #define DEBUG_MAIN 1
 #else
@@ -84,6 +83,8 @@
 
 EMU_VARIABLE_CONTROL_PROTOCOL *gEmuVariableControl = NULL;
 
+APPLE_KEY_STATE_PROTOCOL *gAppleKeyState=NULL;
+
 extern VOID HelpRefit(VOID);
 extern VOID AboutRefit(VOID);
 extern BOOLEAN BooterPatch(IN UINT8 *BooterData, IN UINT64 BooterSize, LOADER_ENTRY *Entry);
@@ -1868,7 +1869,6 @@
       RecIter++;
   }
 }
-
 //
 // main entry point
 //
@@ -1897,7 +1897,10 @@
   EFI_TIME          Now;
   BOOLEAN           HaveDefaultVolume;
   CHAR16            *FirstMessage;
-
+  APPLE_MODIFIER_MAP ModifyFlags;
+  UINTN            PressedKeyCount;
+  APPLE_KEY        *Keys=NULL;
+    BOOLEAN           LazyClover=TRUE;
   // CHAR16            *InputBuffer; //, *Y;
   //  EFI_INPUT_KEY Key;
 
@@ -1908,7 +1911,7 @@
   // get TSC freq and init MemLog if needed
   gCPUStructure.TSCCalibr = GetMemLogTscTicksPerSecond(); //ticks for 1second
   //GlobalConfig.TextOnly = TRUE;
-
+  
   // bootstrap
   gST       = SystemTable;
   gImageHandle  = ImageHandle;
@@ -2126,8 +2129,29 @@
 
   //DBG("LoadDrivers() start\n");
   LoadDrivers();
-  //DBG("LoadDrivers() end\n");
-
+    //DBG("LoadDrivers() end\n");
+    //If Clover is too lazy, he will let boot.efi handle the stuff
+    if(!LazyClover){
+    Status=gBS->LocateProtocol(&gAppleKeyStateProtocolGuid,NULL,(VOID**)&gAppleKeyState);
+    if(EFI_ERROR(Status))
+    {
+        gAppleKeyState=NULL;
+    }
+    if(Status==EFI_SUCCESS)
+    {
+        DBG("Protocol Located!\n");
+        Status=gAppleKeyState->ReadKeyState(gAppleKeyState,&ModifyFlags,&PressedKeyCount,Keys);
+        if(Status==EFI_SUCCESS)
+        {
+            DBG("ReadKeyState Succeesful\n");
+            DBG("PressedKeyCount:%d!\n",PressedKeyCount);
+            for(i=0;i<PressedKeyCount;i++)
+            {
+                DBG("Keys:",Keys[i],"\n");
+            }
+        }
+    }}
+  
 /*  if (!gFirmwareClover &&
       !gDriversFlags.EmuVariableLoaded) {
     GetSmcKeys(FALSE);  // later we can get here SMC information
Index: rEFIt_UEFI/refit.inf
===================================================================
--- rEFIt_UEFI/refit.inf	(revision 4415)
+++ rEFIt_UEFI/refit.inf	(working copy)
@@ -251,7 +251,7 @@
   gMsgLogProtocolGuid
   gEfiPlatformDriverOverrideProtocolGuid
   gEmuVariableControlProtocolGuid
-
+  gAppleKeyStateProtocolGuid
 [FeaturePcd]
   gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport

the MountESP, partutil is different of the one from repos

sure, posting the same exactly stuff will not make sense otherwise.

Test macOS High Sierra bêta 10.13.4 (17E150g) Works

17E150g? I have 17E151f ??  Downloaded from the developer center one week ago. 

EDIT

 

WTH, downloaded/installed the beta on a secondary hack the same way and it show 17E150g like you. just logged now  :worried_anim:, what's going on?

..going to sleep

Edited by vector sigma

I think you've read this question tons of times, but...does mouse work in Clover boot screen?

On my main system (the one with Asus P8Z77-v LX2 with UEFI bios), a optical Logitech USB wired mouse is stuck on the Clover boot screen. It moves only if I click on the left button!!!

 

Now I have it connected to a USB 3.0 port, but I've tried it also on a USB 2.0 port without success...

I think you've read this question tons of times, but...does mouse work in Clover boot screen?

 

On my main system (the one with Asus P8Z77-v LX2 with UEFI bios), a optical Logitech USB wired mouse is stuck on the Clover boot screen. It moves only if I click on the left button!!!

 

Now I have it connected to a USB 3.0 port, but I've tried it also on a USB 2.0 port without success...

config.plist

 

<key>Mouse</key>

<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<true/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>8</integer>
</dict>
  • Like 1

It might be in your ESP.

 

I think your correct, I was using apfs mode.  I was able to finally get a decent prelinkedkernel generated with a fresh install and I didn't sign into Apple during install.   I'm in HFS+J and its working well with several reboots and no more error.   APFS wants to load all your preferences for safari etc and photos etc.. it must have been in the ESp and transferred to the prelim ned kernel.   I'm happily in 13.4 beta 2 with my Ryzen 1700 thanks for the reply about the ESP.    The odd thing is that it doesn't happen in 13.3 just 13.4 with the new kernel security measures and file sharing.

 

post-1753549-0-52632500-1518579189_thumb.png

 

If you couldn't understand what I meant, then run it by your self :)

This is the diff patch, try changing the LazyClover variable:

Index: CloverPkg.dec
===================================================================
--- CloverPkg.dec	(revision 4415)
+++ CloverPkg.dec	(working copy)
@@ -70,6 +70,8 @@
   
   ## Include/Protocol/EmuVariableControl.h
   gEmuVariableControlProtocolGuid        = {0x21f41e73, 0xd214, 0x4fcd, {0x85, 0x50, 0x0d, 0x11, 0x51, 0xcf, 0x8e, 0xfb }}
+  ##  Include/Protocol/AppleKeyState.h
+  gAppleKeyStateProtocolGuid               = {0x5b213447, 0x6e73, 0x4901, {0xa4, 0xf1, 0xb8, 0x64, 0xf3, 0xb7, 0xa1, 0x72}}
 
   #Apple's protocols
   gEfiConsoleControlProtocolGuid         = {0xF42F7782, 0x012E, 0x4C12, {0x99, 0x56, 0x49, 0xF9, 0x43, 0x04, 0xF7, 0x21}}
Index: Include/Protocol/AppleKeyAggregator.h
===================================================================
--- Include/Protocol/AppleKeyAggregator.h	(revision 4415)
+++ Include/Protocol/AppleKeyAggregator.h	(working copy)
@@ -5,7 +5,8 @@
 //  Created by Slice on 26.10.16.
 //  based on CupertinoNet
 //
-
+#include <Protocol/AppleKeyState.h>
+#include <Protocol/AppleKeyMapDatabase.h>
 #ifndef _AppleKeyMapAggregator_h
 #define _AppleKeyMapAggregator_h
 
Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.c
===================================================================
--- Protocols/AppleKeyAggregator/AppleKeyAggregator.c	(revision 4415)
+++ Protocols/AppleKeyAggregator/AppleKeyAggregator.c	(working copy)
@@ -19,7 +19,7 @@
 
 #include <Protocol/AppleKeyState.h>
 #include <Protocol/AppleKeyMapDatabase.h>
-#include "AppleKeyAggregator.h"
+#include <Protocol/AppleKeyAggregator.h>
 
 // KeyMapGetKeyStrokesByIndex
 APPLE_KEY_STROKES_INFO *
Index: Protocols/AppleKeyAggregator/AppleKeyAggregator.h
===================================================================
--- Protocols/AppleKeyAggregator/AppleKeyAggregator.h	(revision 4415)
+++ Protocols/AppleKeyAggregator/AppleKeyAggregator.h	(nonexistent)
@@ -1,81 +0,0 @@
-//
-//  AppleKeyMapAggregator.h
-//  
-//
-//  Created by Slice on 26.10.16.
-//  based on CupertinoNet
-//
-
-#ifndef _AppleKeyMapAggregator_h
-#define _AppleKeyMapAggregator_h
-
-#define APPLE_KEY_MAP_PROTOCOLS_REVISION  0x010000
-#define APPLE_KEY_MAP_AGGREGATOR_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'A')
-
-#define APPLE_KEY_STROKES_INFO_SIGNATURE   SIGNATURE_32 ('K', 'e', 'y', 'S')
-
-#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_AGGREGATOR(This) \
-  CR (                                                              \
-    (This),                                                         \
-    APPLE_KEY_MAP_AGGREGATOR,                                       \
-    AggregatorProtocol,                                             \
-    APPLE_KEY_MAP_AGGREGATOR_SIGNATURE                              \
-  )
-
-#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_DATABASE(This)   \
-  CR (                                                              \
-    (This),                                                         \
-    APPLE_KEY_MAP_AGGREGATOR,                                       \
-    DatabaseProtocol,                                               \
-    APPLE_KEY_MAP_AGGREGATOR_SIGNATURE                              \
-  )
-
-#define APPLE_KEY_STROKES_INFO_FROM_LIST_ENTRY(Entry)  \
-((APPLE_KEY_STROKES_INFO *)(                         \
-  CR (                                               \
-    (Entry),                                         \
-    APPLE_KEY_STROKES_INFO_HDR,                      \
-    This,                                            \
-    APPLE_KEY_STROKES_INFO_SIGNATURE                 \
-  )                                                \
-))
-/*
-typedef struct _EFI_LIST_ENTRY {
-  struct _EFI_LIST_ENTRY  *ForwardLink;
-  struct _EFI_LIST_ENTRY  *BackLink;
-} EFI_LIST_ENTRY;
-
-typedef EFI_LIST_ENTRY EFI_LIST;
-*/
-
-// APPLE_KEY_STROKES_INFO_HDR
-typedef struct {
-  UINTN              Signature;      ///<
-  LIST_ENTRY         This;           ///<
-  UINTN              Index;          ///<
-  UINTN              KeyBufferSize;  ///<
-  UINTN              NumberOfKeys;   ///<
-  APPLE_MODIFIER_MAP Modifiers;      ///<
-} APPLE_KEY_STROKES_INFO_HDR;
-
-// APPLE_KEY_STROKES_INFO
-typedef struct {
-  APPLE_KEY_STROKES_INFO_HDR Hdr;   ///<
-  APPLE_KEY                  Keys;  ///<
-} APPLE_KEY_STROKES_INFO;
-
-
-// APPLE_KEY_MAP_AGGREGATOR
-typedef struct {
-  UINTN                             Signature;           ///<0
-  UINTN                             NextKeyStrokeIndex;  ///<0x08
-  APPLE_KEY                         *KeyBuffer;          ///<0x10
-  UINTN                             KeyBuffersSize;      ///<0x18
-  LIST_ENTRY                        KeyStrokesInfoList;  ///<0x20
-  APPLE_KEY_MAP_DATABASE_PROTOCOL   DatabaseProtocol;    ///<0x30 size=8*4
-  APPLE_KEY_STATE_PROTOCOL          AggregatorProtocol;  ///<0x50 size=8*3
-} APPLE_KEY_MAP_AGGREGATOR;  //size=0x68
-
-
-
-#endif
Index: Xcode/Clover/Clover.xcodeproj/project.pbxproj
===================================================================
--- Xcode/Clover/Clover.xcodeproj/project.pbxproj	(revision 4415)
+++ Xcode/Clover/Clover.xcodeproj/project.pbxproj	(working copy)
@@ -1208,7 +1208,6 @@
 			isa = PBXGroup;
 			children = (
 				12AAF5F21DC0F03B00A52B12 /* AppleKeyAggregator.c */,
-				12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */,
 				12AAF5F41DC0F03B00A52B12 /* AppleKeyAggregator.inf */,
 			);
 			path = AppleKeyAggregator;
@@ -2744,6 +2743,7 @@
 		2C794ADC1A0AA85900D845B0 /* Protocol */ = {
 			isa = PBXGroup;
 			children = (
+				12AAF5F31DC0F03B00A52B12 /* AppleKeyAggregator.h */,
 				2C794AD21A0AA85900D845B0 /* AppleDeviceControl.h */,
 				2C794AD31A0AA85900D845B0 /* AppleDiskIo.h */,
 				12AAF5171DBE28B800A52B12 /* AppleEvent.h */,
Index: rEFIt_UEFI/Platform/Platform.h
===================================================================
--- rEFIt_UEFI/Platform/Platform.h	(revision 4415)
+++ rEFIt_UEFI/Platform/Platform.h	(working copy)
@@ -65,6 +65,7 @@
 #include <Protocol/EmuVariableControl.h>
 #include <Protocol/AppleSMC.h>
 #include <Protocol/AppleImageCodecProtocol.h>
+#include <Protocol/AppleKeyAggregator.h>
 
 #include "../refit/lib.h"
 #include "string.h"
Index: rEFIt_UEFI/refit/main.c
===================================================================
--- rEFIt_UEFI/refit/main.c	(revision 4415)
+++ rEFIt_UEFI/refit/main.c	(working copy)
@@ -39,7 +39,6 @@
 //#include "../include/Handle.h"
 
 #include "Version.h"
-
 #ifndef DEBUG_ALL
 #define DEBUG_MAIN 1
 #else
@@ -84,6 +83,8 @@
 
 EMU_VARIABLE_CONTROL_PROTOCOL *gEmuVariableControl = NULL;
 
+APPLE_KEY_STATE_PROTOCOL *gAppleKeyState=NULL;
+
 extern VOID HelpRefit(VOID);
 extern VOID AboutRefit(VOID);
 extern BOOLEAN BooterPatch(IN UINT8 *BooterData, IN UINT64 BooterSize, LOADER_ENTRY *Entry);
@@ -1868,7 +1869,6 @@
       RecIter++;
   }
 }
-
 //
 // main entry point
 //
@@ -1897,7 +1897,10 @@
   EFI_TIME          Now;
   BOOLEAN           HaveDefaultVolume;
   CHAR16            *FirstMessage;
-
+  APPLE_MODIFIER_MAP ModifyFlags;
+  UINTN            PressedKeyCount;
+  APPLE_KEY        *Keys=NULL;
+    BOOLEAN           LazyClover=TRUE;
   // CHAR16            *InputBuffer; //, *Y;
   //  EFI_INPUT_KEY Key;
 
@@ -1908,7 +1911,7 @@
   // get TSC freq and init MemLog if needed
   gCPUStructure.TSCCalibr = GetMemLogTscTicksPerSecond(); //ticks for 1second
   //GlobalConfig.TextOnly = TRUE;
-
+  
   // bootstrap
   gST       = SystemTable;
   gImageHandle  = ImageHandle;
@@ -2126,8 +2129,29 @@
 
   //DBG("LoadDrivers() start\n");
   LoadDrivers();
-  //DBG("LoadDrivers() end\n");
-
+    //DBG("LoadDrivers() end\n");
+    //If Clover is too lazy, he will let boot.efi handle the stuff
+    if(!LazyClover){
+    Status=gBS->LocateProtocol(&gAppleKeyStateProtocolGuid,NULL,(VOID**)&gAppleKeyState);
+    if(EFI_ERROR(Status))
+    {
+        gAppleKeyState=NULL;
+    }
+    if(Status==EFI_SUCCESS)
+    {
+        DBG("Protocol Located!\n");
+        Status=gAppleKeyState->ReadKeyState(gAppleKeyState,&ModifyFlags,&PressedKeyCount,Keys);
+        if(Status==EFI_SUCCESS)
+        {
+            DBG("ReadKeyState Succeesful\n");
+            DBG("PressedKeyCount:%d!\n",PressedKeyCount);
+            for(i=0;i<PressedKeyCount;i++)
+            {
+                DBG("Keys:",Keys[i],"\n");
+            }
+        }
+    }}
+  
 /*  if (!gFirmwareClover &&
       !gDriversFlags.EmuVariableLoaded) {
     GetSmcKeys(FALSE);  // later we can get here SMC information
Index: rEFIt_UEFI/refit.inf
===================================================================
--- rEFIt_UEFI/refit.inf	(revision 4415)
+++ rEFIt_UEFI/refit.inf	(working copy)
@@ -251,7 +251,7 @@
   gMsgLogProtocolGuid
   gEfiPlatformDriverOverrideProtocolGuid
   gEmuVariableControlProtocolGuid
-
+  gAppleKeyStateProtocolGuid
 [FeaturePcd]
   gEfiMdePkgTokenSpaceGuid.PcdUgaConsumeSupport

 

This patch breaks the build, it does not work... Also it's not what needs to be done. You only need to check if there are any keys at all, if not whatever, if there are then you need to check if the auto launched entry is boot.efi. If it is not boot.efi, show the GUI, if it is boot.efi, check that the key presses aren't combinations passed to boot.efi and if so show the GUI, otherwise just continue booting automatically.

 

sure, posting the same exactly stuff will not make sense otherwise.

 

17E150g? I have 17E151f ??  Downloaded from the developer center one week ago. 

EDIT

 

WTH, downloaded/installed the beta on a secondary hack the same way and it show 17E150g like you. just logged now  :worried_anim:, what's going on?

..going to sleep

 

Sometimes you get earlier releases just because of some magic when you go straight to the download in apple dev. I imagine that it is a build that was already set for release and they put it up had problems and pulled it. Since the update channel is usually behind the developer previews straight from apple site.

After getting update notification and rebooting with Clover 4411 I get this on system in signature. All was fine with 43xx. Can't remember the exact version.

 

Sent from my ONEPLUS A5010 using Tapatalk

 

That is a general protection fault, meaning memory was accessed outside of where it was allowed. Depending on when exactly it happened, changes the causes. Just go backwards until you find the revision that works, that will be easier to trace down the issue.

 

config.plist

 

<key>Mouse</key>

<dict>
<key>DoubleClick</key>
<integer>500</integer>
<key>Enabled</key>
<true/>
<key>Mirror</key>
<false/>
<key>Speed</key>
<integer>8</integer>
</dict>

 

 

Already have this in my config.plist. Unfortunately it doesn't move!

That is a general protection fault, meaning memory was accessed outside of where it was allowed. Depending on when exactly it happened, changes the causes. Just go backwards until you find the revision that works, that will be easier to trace down the issue.

 

Yeah I went back to 4392 as I had before after booting with my recovery USB.

Do you have a firmware that has GUI with mouse? Are you using any drivers for clover like the UsbMouse?

 

I've tried with and without UsbMouse, but nothing changes: the pointer moves only if I press repeatedly the left button.

 

What do you mean for "firmware that has GUI with mouse"?

I've tried with and without UsbMouse, but nothing changes: the pointer moves only if I press repeatedly the left button.

 

What do you mean for "firmware that has GUI with mouse"?

@apianti

I have the exact same problem. I've had this issue since macOS Sierra 10.12 and up to 10.13.3

 

I have to click on the menu bar when the OS is loaded to get the pointer to show or I have to disable the automatic login and after I log in the mouse works just fine.

 

I have the mouse support in the UEFI and the Clover's GUI.

I'm not using the UsbMouseDxe though.

 

Update:

I added the UsbMouseDxe-64.efi to the "drivers64UEFI" folder and the problem was solved.

 

Thanks @apianti for the tip it solved an issue that I had for so long :)

The wierd discovery:  :blink:

 

After couple of reboots, I discovered when I use the keyboard in the clover's GUI, for instance when I press return to boot into macOS, when the os is loaded I lose the mouse pointer, but if I let the clover automatically load the OS the mouse pointer is showing like it's suppose to. Why is that?

 

I tried the UsbKBbDXE-64 as well but there was no difference the same thing happens.

@apianti

I have the exact same problem. I've had this issue since macOS Sierra 10.12 and up to 10.13.3

 

I have to click on the menu bar when the OS is loaded to get the pointer to show or I have to disable the automatic login and after I log in the mouse works just fine.

 

I have the mouse support in the UEFI and the Clover's GUI.

I'm not using the UsbMouseDxe though.

 

Update:

I added the UsbMouseDxe-64.efi to the "drivers64UEFI" folder and the problem was solved.

 

Thanks @apianti for the tip it solved an issue that I had for so long :)

The wierd discovery:  :blink:

 

After couple of reboots, I discovered when I use the keyboard in the clover's GUI, for instance when I press return to boot into macOS, when the os is loaded I lose the mouse pointer, but if I let the clover automatically load the OS the mouse pointer is showing like it's suppose to. Why is that?

 

I tried the UsbKBbDXE-64 as well but there was no difference the same thing happens.

 

 

I have mouse issues only in the Clover GUI, while in the OS it works without problems.

  • Like 1

I have mouse issues only in the Clover GUI, while in the OS it works without problems.

I have a very similar motherboard, and the similar mouse. It did not react in the Clover GUI, until I put AptioInputFix.efi in the folder /CLOVER/drivers64UEFI. Now everything is working properly. At the same time, I switched to AptioMemoryFix.efi and have got a fully working nvram without EmuVariableUefi-64.efi and refused scripts.

  • Like 1
×
×
  • Create New...