summaryrefslogtreecommitdiff
path: root/EdkModulePkg
diff options
context:
space:
mode:
authorxgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524>2007-01-15 06:24:49 +0000
committerxgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524>2007-01-15 06:24:49 +0000
commit591ee27e8495b232e4b68d9df90c4a478a00f991 (patch)
tree634ac9ad4483df2be43608518c90d8edab61a6d4 /EdkModulePkg
parentbf43f5eb3ef77a43fc192692acc51547663dd29d (diff)
downloadedk2-platforms-591ee27e8495b232e4b68d9df90c4a478a00f991.tar.xz
To fix,
1. ScrollLock key does not work in USB KB driver 2. PCI_ROOT_BRIDGE_IO.configuration should use OUT for Resources git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2248 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg')
-rw-r--r--EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h4
-rw-r--r--EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c11
2 files changed, 11 insertions, 4 deletions
diff --git a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h
index 091dd695a5..31307ebe57 100644
--- a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h
+++ b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h
@@ -65,6 +65,7 @@ typedef struct {
UINT8 ShiftOn;
UINT8 NumLockOn;
UINT8 CapsOn;
+ UINT8 ScrollOn;
UINT8 LastKeyCodeArray[8];
UINT8 CurKeyChar;
@@ -113,6 +114,7 @@ typedef struct {
typedef struct {
UINT8 NumLock : 1;
UINT8 CapsLock : 1;
- UINT8 Resrvd : 6;
+ UINT8 ScrollLock : 1;
+ UINT8 Resrvd : 5;
} LED_MAP;
#endif
diff --git a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c
index 1328e6a098..b6b97c3b48 100644
--- a/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c
+++ b/EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c
@@ -761,9 +761,13 @@ USBParseKey (
// fall through
//
case 0x47:
- //
- // fall through
- //
+ //
+ // Turn on the ScrollLock light on KB
+ //
+ UsbKeyboardDevice->ScrollOn ^= 1;
+ SetKeyLED (UsbKeyboardDevice);
+ continue;
+ break;
case 0x48:
//
// fall through
@@ -1042,6 +1046,7 @@ SetKeyLED (
//
Led.NumLock = (UINT8) UsbKeyboardDevice->NumLockOn;
Led.CapsLock = (UINT8) UsbKeyboardDevice->CapsOn;
+ Led.ScrollLock = (UINT8) UsbKeyboardDevice->ScrollOn;
Led.Resrvd = 0;
ReportId = 0;