when the user press "shift" key , the shell core read the data from
STDIN and thought that a bad value so it resume then reset the position
of the cursor
and keep waiting for user input.
if use "ReadKeyStroke" function to read STDIN when it read a "shift" key
,it would return a value "EFI_NOT_READY". so we can skip it or use
"ReadKeyStrokeEx" to replace it.
diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c
b/ShellPkg/Application/Shell/FileHandleWrappers.c
index 0e5efe3..dcc2225 100644
--- a/ShellPkg/Application/Shell/FileHandleWrappers.c
+++ b/ShellPkg/Application/Shell/FileHandleWrappers.c
@@ -421,7 +421,7 @@ FileInterfaceStdInRead(
//
gBS->WaitForEvent (1, &gST->ConIn->WaitForKey, &EventIndex);
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
- if (EFI_ERROR (Status)) {
+ if (EFI_ERROR (Status) && Status != EFI_NOT_READY) {
break;
}
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel