summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h')
-rw-r--r--MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
index 99fbbcdab3..8a12d0fa3f 100644
--- a/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
+++ b/MdeModulePkg/Bus/Usb/UsbKbDxe/EfiKey.h
@@ -1,7 +1,7 @@
/** @file
Header file for USB Keyboard Driver's Data Structures.
-Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@@ -39,6 +39,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <IndustryStandard/Usb.h>
+#define KEYBOARD_TIMER_INTERVAL 200000 // 0.02s
+
#define MAX_KEY_ALLOWED 32
#define HZ 1000 * 1000 * 10
@@ -58,10 +60,11 @@ typedef struct {
} USB_KEY;
typedef struct {
- USB_KEY Buffer[MAX_KEY_ALLOWED + 1];
- UINT8 BufferHead;
- UINT8 BufferTail;
-} USB_KB_BUFFER;
+ VOID *Buffer[MAX_KEY_ALLOWED + 1];
+ UINTN Head;
+ UINTN Tail;
+ UINTN ItemSize;
+} USB_SIMPLE_QUEUE;
#define USB_KB_DEV_SIGNATURE SIGNATURE_32 ('u', 'k', 'b', 'd')
#define USB_KB_CONSOLE_IN_EX_NOTIFY_SIGNATURE SIGNATURE_32 ('u', 'k', 'b', 'x')
@@ -109,7 +112,8 @@ typedef struct {
EFI_USB_INTERFACE_DESCRIPTOR InterfaceDescriptor;
EFI_USB_ENDPOINT_DESCRIPTOR IntEndpointDescriptor;
- USB_KB_BUFFER KeyboardBuffer;
+ USB_SIMPLE_QUEUE UsbKeyQueue;
+ USB_SIMPLE_QUEUE EfiKeyQueue;
BOOLEAN CtrlOn;
BOOLEAN AltOn;
BOOLEAN ShiftOn;
@@ -119,6 +123,8 @@ typedef struct {
UINT8 LastKeyCodeArray[8];
UINT8 CurKeyCode;
+ EFI_EVENT TimerEvent;
+
UINT8 RepeatKey;
EFI_EVENT RepeatTimer;
@@ -135,8 +141,6 @@ typedef struct {
BOOLEAN MenuKeyOn;
BOOLEAN SysReqOn;
BOOLEAN AltGrOn;
-
- EFI_KEY_STATE KeyState;
//
// Notification function list
//
@@ -555,27 +559,11 @@ USBKeyboardWaitForKey (
**/
EFI_STATUS
-EFIAPI
KbdFreeNotifyList (
IN OUT LIST_ENTRY *NotifyList
);
/**
- Check whether there is key pending in the keyboard buffer.
-
- @param UsbKeyboardDevice The USB_KB_DEV instance.
-
- @retval EFI_SUCCESS There is pending key to read.
- @retval EFI_NOT_READY No pending key to read.
-
-**/
-EFI_STATUS
-EFIAPI
-USBKeyboardCheckForKey (
- IN OUT USB_KB_DEV *UsbKeyboardDevice
- );
-
-/**
Check whether the pressed key matches a registered key or not.
@param RegsiteredData A pointer to keystroke data for the key that was registered.
@@ -586,11 +574,23 @@ USBKeyboardCheckForKey (
**/
BOOLEAN
-EFIAPI
IsKeyRegistered (
IN EFI_KEY_DATA *RegsiteredData,
IN EFI_KEY_DATA *InputData
);
+/**
+ Timer handler to convert the key from USB.
+
+ @param Event Indicates the event that invoke this function.
+ @param Context Indicates the calling context.
+**/
+VOID
+EFIAPI
+USBKeyboardTimerHandler (
+ IN EFI_EVENT Event,
+ IN VOID *Context
+ );
+
#endif