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 ShiftOn;
UINT8 NumLockOn; UINT8 NumLockOn;
UINT8 CapsOn; UINT8 CapsOn;
UINT8 ScrollOn;
UINT8 LastKeyCodeArray[8]; UINT8 LastKeyCodeArray[8];
UINT8 CurKeyChar; UINT8 CurKeyChar;
@ -113,6 +114,7 @@ typedef struct {
typedef struct { typedef struct {
UINT8 NumLock : 1; UINT8 NumLock : 1;
UINT8 CapsLock : 1; UINT8 CapsLock : 1;
UINT8 Resrvd : 6; UINT8 ScrollLock : 1;
UINT8 Resrvd : 5;
} LED_MAP; } LED_MAP;
#endif #endif

View File

@ -762,8 +762,12 @@ USBParseKey (
// //
case 0x47: case 0x47:
// //
// fall through // Turn on the ScrollLock light on KB
// //
UsbKeyboardDevice->ScrollOn ^= 1;
SetKeyLED (UsbKeyboardDevice);
continue;
break;
case 0x48: case 0x48:
// //
// fall through // fall through
@ -1042,6 +1046,7 @@ SetKeyLED (
// //
Led.NumLock = (UINT8) UsbKeyboardDevice->NumLockOn; Led.NumLock = (UINT8) UsbKeyboardDevice->NumLockOn;
Led.CapsLock = (UINT8) UsbKeyboardDevice->CapsOn; Led.CapsLock = (UINT8) UsbKeyboardDevice->CapsOn;
Led.ScrollLock = (UINT8) UsbKeyboardDevice->ScrollOn;
Led.Resrvd = 0; Led.Resrvd = 0;
ReportId = 0; ReportId = 0;

View File

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