diff options
Diffstat (limited to 'EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c')
-rw-r--r-- | EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c index c5e8a7e34a..c1ed94f92b 100644 --- a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c +++ b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c @@ -426,6 +426,7 @@ FastbootAppEntryPoint ( EFI_EVENT WaitEventArray[2];
UINTN EventIndex;
EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextIn;
+ EFI_INPUT_KEY Key;
mDataBuffer = NULL;
@@ -508,12 +509,21 @@ FastbootAppEntryPoint ( // Talk to the user
mTextOut->OutputString (mTextOut,
- L"Android Fastboot mode - version " ANDROID_FASTBOOT_VERSION ". Press any key to quit.\r\n");
+ L"Android Fastboot mode - version " ANDROID_FASTBOOT_VERSION ". Press RETURN or SPACE key to quit.\r\n");
// Quit when the user presses any key, or mFinishedEvent is signalled
WaitEventArray[0] = mFinishedEvent;
WaitEventArray[1] = TextIn->WaitForKey;
- gBS->WaitForEvent (2, WaitEventArray, &EventIndex);
+ while (1) {
+ gBS->WaitForEvent (2, WaitEventArray, &EventIndex);
+ Status = TextIn->ReadKeyStroke (gST->ConIn, &Key);
+ if (Key.ScanCode == SCAN_NULL) {
+ if ((Key.UnicodeChar == CHAR_CARRIAGE_RETURN) ||
+ (Key.UnicodeChar == L' ')) {
+ break;
+ }
+ }
+ }
mTransport->Stop ();
if (EFI_ERROR (Status)) {
|