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
This commit is contained in:
xgu3 2007-01-15 06:24:49 +00:00
parent bf43f5eb3e
commit 591ee27e84
3 changed files with 13 additions and 6 deletions

View File

@ -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

View File

@ -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;

View File

@ -356,8 +356,8 @@ EFI_STATUS
typedef
EFI_STATUS
(EFIAPI *EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL_CONFIGURATION) (
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,
IN VOID **Resources
IN EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL *This,
OUT VOID **Resources
);
struct _EFI_PCI_ROOT_BRIDGE_IO_PROTOCOL {