]> git.proxmox.com Git - mirror_edk2.git/commitdiff
To fix,
authorxgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 15 Jan 2007 06:24:49 +0000 (06:24 +0000)
committerxgu3 <xgu3@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 15 Jan 2007 06:24:49 +0000 (06:24 +0000)
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

EdkModulePkg/Bus/Usb/UsbKb/Dxe/efikey.h
EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.c
MdePkg/Include/Protocol/PciRootBridgeIo.h

index 091dd695a51f264ffb0c6c59d869d4f7fc720c35..31307ebe57f9f96ebb05e6e0b2079db96e7acf93 100644 (file)
@@ -65,6 +65,7 @@ typedef struct {
   UINT8                         ShiftOn;\r
   UINT8                         NumLockOn;\r
   UINT8                         CapsOn;\r
+  UINT8                         ScrollOn;  \r
   UINT8                         LastKeyCodeArray[8];\r
   UINT8                         CurKeyChar;\r
 \r
@@ -113,6 +114,7 @@ typedef struct {
 typedef struct {\r
   UINT8 NumLock : 1;\r
   UINT8 CapsLock : 1;\r
-  UINT8 Resrvd : 6;\r
+  UINT8 ScrollLock : 1;\r
+  UINT8 Resrvd : 5;\r
 } LED_MAP;\r
 #endif\r
index 1328e6a0983b1acdc9754d8055792c6f789e5e14..b6b97c3b48e0fdd91e6cd0f1975b41f444b2437f 100644 (file)
@@ -761,9 +761,13 @@ USBParseKey (
     // fall through\r
     //\r
     case 0x47:\r
-    //\r
-    // fall through\r
-    //\r
+         //\r
+           // Turn on the ScrollLock light on KB\r
+           //\r
+      UsbKeyboardDevice->ScrollOn ^= 1;\r
+      SetKeyLED (UsbKeyboardDevice);\r
+      continue;\r
+      break;    \r
     case 0x48:\r
     //\r
     // fall through\r
@@ -1042,6 +1046,7 @@ SetKeyLED (
   //\r
   Led.NumLock   = (UINT8) UsbKeyboardDevice->NumLockOn;\r
   Led.CapsLock  = (UINT8) UsbKeyboardDevice->CapsOn;\r
+  Led.ScrollLock = (UINT8) UsbKeyboardDevice->ScrollOn;  \r
   Led.Resrvd    = 0;\r
 \r
   ReportId      = 0;\r
index db0a4eed5f3a97770af65a6673fb72154443ad99..af3d9ed188eab9f21c14c2b17e39c2f434bf2390 100644 (file)
@@ -356,8 +356,8 @@ EFI_STATUS
 typedef\r
 EFI_STATUS\r
 (EFIAPI *EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION) (\r
-  IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL           *This,\r
-  IN  VOID                                     **Resources\r
+  IN  EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL          *This,\r
+  OUT VOID                                     **Resources\r
   );\r
 \r
 struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {\r