summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus/Usb
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-16 01:51:53 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-16 01:51:53 +0000
commit4ff492c312d1b3a69116f7d15e564170f481891d (patch)
tree1c56718bbcf8d8ec853e75c7eee161aa6302a53a /MdeModulePkg/Bus/Usb
parent66b96f921368fdbb2c28d48b2cfda7febb51a6ad (diff)
downloadedk2-platforms-4ff492c312d1b3a69116f7d15e564170f481891d.tar.xz
Update USB keyboard driver to return scan code for Pause key.
Signed-off-by: vanjeff Reviewed-by: erictian Reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11656 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Bus/Usb')
-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 a205da09a3..a11333ccf5 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;
}