From 022dbc27ad2c2f3cb2bccdb3a315d2f6a8c3de02 Mon Sep 17 00:00:00 2001 From: Darbin Reyes Date: Wed, 27 Nov 2024 20:54:25 -0800 Subject: [PATCH] Pkg-Module: Features/VirtualKeyboardDxe PART 2 The Keyboard.c driver did not include ScanCodes like F1,F2,F12,etc. and UnicodeChars like Backspace, Tab in VK_NOTIFY NotifyList which is why these keys were not getting registered and not getting pushed in the KeyBuffer stack which resulted in undefined behavior of continuous backspace and not recognizing the relevant key push after the buffer overflow condition. Signed-off-by: Contributor Name --- .../VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c | 1 + 1 file changed, 1 insertion(+) diff --git a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c index 230cb0d276..912bf5f46c 100644 --- a/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c +++ b/Features/Intel/UserInterface/VirtualKeyboardFeaturePkg/VirtualKeyboardDxe/Keyboard.c @@ -885,6 +885,7 @@ VkApiStart ( KeyData.KeyState.KeyShiftState = 0; KeyData.Key.ScanCode = SCAN_NULL; NotifyHandle = NULL; + KeyData.Key.UnicodeChar = CHAR_NULL; for (KeyData.Key.ScanCode = SCAN_UP; KeyData.Key.ScanCode <= SCAN_ESC; KeyData.Key.ScanCode++) { Status = SimpleEx->RegisterKeyNotify (