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
UINT8 ShiftOn;\r
UINT8 NumLockOn;\r
UINT8 CapsOn;\r
+ UINT8 ScrollOn; \r
UINT8 LastKeyCodeArray[8];\r
UINT8 CurKeyChar;\r
\r
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
// 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
//\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
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