summaryrefslogtreecommitdiff
path: root/Nt32Pkg
diff options
context:
space:
mode:
authorqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2011-10-26 09:36:55 +0000
committerqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2011-10-26 09:36:55 +0000
commitaf1600fd9a0b9a413cfc2b031c641002beafd48f (patch)
treeca7292317f545b5ead8d0b82e6ea5b015b9d473a /Nt32Pkg
parent501793fad4084c43828ba2f4e2d9355d29abe9f7 (diff)
Fix a bug which cause a CRTL, ALT, or SHIFT is pressed on the GOP console for NT32, it inserts a ' 'character character.
Root cause is that the parameter of UnicodeStr doesn’t initialize. Signed-off-by: qianouyang Reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12575 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'Nt32Pkg')
-rw-r--r--Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c b/Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c
index 85848aa6c..607caad2e 100644
--- a/Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c
+++ b/Nt32Pkg/WinNtGopDxe/WinNtGopScreen.c
@@ -781,7 +781,7 @@ WinNtGopThreadWindowProc (
// The ESC key also generate WM_CHAR.
//
if (wParam == 0x1B) {
- return 0;
+ return 0;
}
if (AltIsPress == TRUE) {
@@ -815,15 +815,13 @@ WinNtGopThreadWindowProc (
return 0;
case WM_KEYDOWN:
- Key.ScanCode = SCAN_NULL;
+ Key.ScanCode = SCAN_NULL;
+ Key.UnicodeChar = CHAR_NULL;
//
// A value key press will cause a WM_KEYDOWN first, then cause a WM_CHAR
// So if there is no modifier key updated, skip the WM_KEYDOWN even.
//
if (WinNtGopConvertParamToEfiKey (Private, &wParam, &lParam, &Key)) {
- if (Key.ScanCode != SCAN_NULL) {
- Key.UnicodeChar = CHAR_NULL;
- }
//
// Support the partial keystroke, add all keydown event into the queue.
//