EmulatorPkg: Fix issue with ReadKeyStroke returning EFI_SUCCESS when only a modifier key is pressed.

This should only happen for ReadKeyStrokeEx. 

signed-off-by: andrewfish



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11920 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
andrewfish 2011-06-28 18:11:34 +00:00
parent d18d8a1d0e
commit 2fbfd3f942
1 changed files with 8 additions and 1 deletions

View File

@ -189,7 +189,14 @@ EmuGopSimpleTextInReadKeyStroke (
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
Status = Private->EmuGraphicsWindow->GetKey (Private->EmuGraphicsWindow, &KeyData);
CopyMem (Key, &KeyData.Key, sizeof (EFI_INPUT_KEY));
if (!EFI_ERROR (Status)) {
if ((KeyData.Key.ScanCode == 0) && (KeyData.Key.UnicodeChar == 0)) {
// Modifier key was pressed
Status = EFI_NOT_READY;
} else {
CopyMem (Key, &KeyData.Key, sizeof (EFI_INPUT_KEY));
}
}
//
// Leave critical section and return