summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Bus')
-rw-r--r--MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
index a205da0..a11333c 100644
--- a/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
+++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/KeyBoard.c
@@ -299,6 +299,10 @@ UINT8 ModifierValueToEfiScanCodeConvertionTable[] = {
SCAN_F10, // EFI_FUNCTION_KEY_TEN_MODIFIER
SCAN_F11, // EFI_FUNCTION_KEY_ELEVEN_MODIFIER
SCAN_F12, // EFI_FUNCTION_KEY_TWELVE_MODIFIER
+ SCAN_NULL, // EFI_PRINT_MODIFIER
+ SCAN_NULL, // EFI_SYS_REQUEST_MODIFIER
+ SCAN_NULL, // EFI_SCROLL_LOCK_MODIFIER
+ SCAN_PAUSE // EFI_PAUSE_MODIFIER
};
/**
@@ -1476,17 +1480,6 @@ USBParseKey (
continue;
break;
- //
- // PrintScreen, Pause/Break could not be retrieved via SimpleTextInEx protocol
- //
- case EFI_PAUSE_MODIFIER:
- case EFI_BREAK_MODIFIER:
- //
- // Fall through
- //
- continue;
- break;
-
default:
break;
}
@@ -1569,7 +1562,7 @@ UsbKeyCodeToEfiInputKey (
//
// Make sure modifier of Key Descriptor is in the valid range according to UEFI spec.
//
- if (KeyDescriptor->Modifier > EFI_FUNCTION_KEY_TWELVE_MODIFIER) {
+ if (KeyDescriptor->Modifier > (sizeof (ModifierValueToEfiScanCodeConvertionTable) / sizeof (UINT8))) {
return EFI_DEVICE_ERROR;
}