From 2fbfd3f942e9cb7586f3cd713a4a375cf8fa2ac4 Mon Sep 17 00:00:00 2001 From: andrewfish Date: Tue, 28 Jun 2011 18:11:34 +0000 Subject: 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 --- EmulatorPkg/EmuGopDxe/GopInput.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'EmulatorPkg') diff --git a/EmulatorPkg/EmuGopDxe/GopInput.c b/EmulatorPkg/EmuGopDxe/GopInput.c index 571776b194..288a151d6d 100644 --- a/EmulatorPkg/EmuGopDxe/GopInput.c +++ b/EmulatorPkg/EmuGopDxe/GopInput.c @@ -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 -- cgit v1.2.3