On 23 August 2018 at 07:14, Haojian Zhuang <[email protected]> wrote: > Since hotkey 'f' is used to start AndroidFastbootApp. If user > press 'f' key too long, it may be recognized pressing 'f' key > multiple times. Then AndroidFastbootApp exists since it delcares > any key press could make it exit. > > So only use ENTER or SPACE key to exit AndroidFastbootApp. > > Cc: Leif Lindholm <[email protected]> > Cc: Ard Biesheuvel <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Haojian Zhuang <[email protected]>
Reviewed-by: Ard Biesheuvel <[email protected]> Pushed as 6861765935d5b69803321ba6e43240845c7ab0e5 Thanks > --- > EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c | 14 > ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c > b/EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.c > index c5e8a7e34af2..c1ed94f92b6f 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)) { > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

