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:
@@ -189,7 +189,14 @@ EmuGopSimpleTextInReadKeyStroke (
|
|||||||
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
|
OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||||
|
|
||||||
Status = Private->EmuGraphicsWindow->GetKey (Private->EmuGraphicsWindow, &KeyData);
|
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
|
// Leave critical section and return
|
||||||
|
Reference in New Issue
Block a user