]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
Retired gSimpleTextInExNotifyGuid, used local structure address to be notify handle.
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbKbDxe / UsbKbDxe.inf
index 5e84288286c814171b8a69ce8cc00370bfaf4237..f5701a834db2fae761e151f1e474dde77953ecb7 100644 (file)
@@ -2,6 +2,17 @@
 # USB Keyboard Driver that manages USB keyboard and produces Simple Text Input\r
 # Protocol and Simple Text Input Ex Protocol.\r
 #\r
+# USB Keyboard Driver consumes USB I/O Protocol and Device Path Protocol, and produces\r
+# Simple Text Input Protocol and Simple Text Input Ex Protocol on USB keyboard devices.\r
+# It initializes the keyboard layout according to info retrieved from HII database.\r
+# If HII cannot provide the info, this module uses its carried default one if PCD allows.\r
+# It manages the USB keyboard device via Asynchronous Interrupt Transfer of USB I/O Protocol,\r
+# and parses the data according to USB HID documents.\r
+# This module refers to following specifications:\r
+# 1. Universal Serial Bus HID Firmware Specification, ver 1.11\r
+# 2. Universal Serial Bus HID Usage Tables, ver 1.12\r
+# 3. UEFI Specification, v2.1\r
+#\r
 # Copyright (c) 2006 - 2008, Intel Corporation. \r
 #\r
 #  All rights reserved. This program and the accompanying materials\r
@@ -21,7 +32,6 @@
   FILE_GUID                      = 2D2E62CF-9ECF-43b7-8219-94E7FC713DFE\r
   MODULE_TYPE                    = UEFI_DRIVER\r
   VERSION_STRING                 = 1.0\r
-\r
   ENTRY_POINT                    = USBKeyboardDriverBindingEntryPoint\r
 \r
 #\r
@@ -45,7 +55,6 @@
   MdePkg/MdePkg.dec\r
   MdeModulePkg/MdeModulePkg.dec\r
 \r
-\r
 [LibraryClasses]\r
   MemoryAllocationLib\r
   UefiLib\r
   DebugLib\r
   PcdLib\r
   UefiUsbLib\r
-  BaseLib\r
 \r
 [Guids]\r
-  gEfiHotPlugDeviceGuid                         # ALWAYS_CONSUMED\r
-  gSimpleTextInExNotifyGuid                     # ALWAYS_CONSUMED\r
+  ##\r
+  # Event registered to EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID group,\r
+  # which will be triggered by EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout().\r
+  #\r
+  gEfiHiiKeyBoardLayoutGuid                     ## SOMETIME_CONSUMES  ## Event\r
 \r
 [Protocols]\r
-  gEfiUsbIoProtocolGuid                         # PROTOCOL TO_START\r
-  gEfiDevicePathProtocolGuid                    # PROTOCOL TO_START\r
-  gEfiSimpleTextInProtocolGuid                  # PROTOCOL BY_START\r
-  gEfiSimpleTextInputExProtocolGuid             # PROTOCOL BY_START\r
-  gEfiHiiDatabaseProtocolGuid                   # PROTOCOL TO_START\r
-\r
+  gEfiUsbIoProtocolGuid                         ## TO_START\r
+  gEfiDevicePathProtocolGuid                    ## TO_START\r
+  gEfiSimpleTextInProtocolGuid                  ## BY_START\r
+  gEfiSimpleTextInputExProtocolGuid             ## BY_START\r
+  ##\r
+  # If HII Database Protocol exists, then keyboard layout from HII database is used.\r
+  # Otherwise, USB keyboard module tries to use its carried default layout.\r
+  #\r
+  gEfiHiiDatabaseProtocolGuid                   ## SOMETIMES_CONSUMES (Default value is used if it's absent.)\r
+  \r
 [FeaturePcd.common]\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver\r
+  gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver ## SOMETIME_CONSUMES (Checked when no layout is provided by HII.)\r
   \r
 [FixedPcd]\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardClearBuffer\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest\r
   gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError\r
-  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError
\ No newline at end of file
+  gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError\r
+  \r
+\r
+# [Event]\r
+#   ##\r
+#   # Periodic timer event for generation of repeat key\r
+#   #\r
+#   EVENT_TYPE_PERIODIC_TIMER                   ## PRODUCES\r
+#   ##\r
+#   # Periodic timer event for delayed recovery, which deals with device error.\r
+#   #\r
+#   EVENT_TYPE_PERIODIC_TIMER                   ## PRODUCES\r
+#   ##\r
+#   # Event for EFI_SIMPLE_TEXT_INPUT_PROTOCOL.WaitForKey\r
+#   #\r
+#   EVENT_TYPE_NOTIFY_WAIT                      ## PRODUCES\r
+#   ##\r
+#   # Event for EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx\r
+#   #\r
+#   EVENT_TYPE_NOTIFY_WAIT                      ## PRODUCES\r
+#\r
+#\r