]> git.proxmox.com Git - mirror_edk2.git/blame - 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
CommitLineData
ed838d0c 1#/** @file\r
b4e73a63 2# USB Keyboard Driver that manages USB keyboard and produces Simple Text Input\r
3# Protocol and Simple Text Input Ex Protocol.\r
ed838d0c 4#\r
7772b176 5# USB Keyboard Driver consumes USB I/O Protocol and Device Path Protocol, and produces\r
6# Simple Text Input Protocol and Simple Text Input Ex Protocol on USB keyboard devices.\r
7# It initializes the keyboard layout according to info retrieved from HII database.\r
8# If HII cannot provide the info, this module uses its carried default one if PCD allows.\r
9# It manages the USB keyboard device via Asynchronous Interrupt Transfer of USB I/O Protocol,\r
10# and parses the data according to USB HID documents.\r
11# This module refers to following specifications:\r
12# 1. Universal Serial Bus HID Firmware Specification, ver 1.11\r
13# 2. Universal Serial Bus HID Usage Tables, ver 1.12\r
14# 3. UEFI Specification, v2.1\r
15#\r
b4e73a63 16# Copyright (c) 2006 - 2008, Intel Corporation. \r
ed838d0c 17#\r
18# All rights reserved. This program and the accompanying materials\r
19# are licensed and made available under the terms and conditions of the BSD License\r
20# which accompanies this distribution. The full text of the license may be found at\r
21# http://opensource.org/licenses/bsd-license.php\r
22#\r
23# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
24# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
25#\r
26#\r
27#**/\r
28\r
ed838d0c 29[Defines]\r
30 INF_VERSION = 0x00010005\r
31 BASE_NAME = UsbKbDxe\r
32 FILE_GUID = 2D2E62CF-9ECF-43b7-8219-94E7FC713DFE\r
d3f16117 33 MODULE_TYPE = UEFI_DRIVER\r
ed838d0c 34 VERSION_STRING = 1.0\r
ed838d0c 35 ENTRY_POINT = USBKeyboardDriverBindingEntryPoint\r
36\r
37#\r
38# The following information is for reference only and not required by the build tools.\r
39#\r
40# VALID_ARCHITECTURES = IA32 X64 IPF EBC\r
41#\r
d354ab7f 42# DRIVER_BINDING = gUsbKeyboardDriverBinding \r
43# COMPONENT_NAME = gUsbKeyboardComponentName\r
44# COMPONENT_NAME2 = gUsbKeyboardComponentName2\r
45#\r
ed838d0c 46\r
ed838d0c 47[Sources.common]\r
a7022cec 48 EfiKey.c\r
49 EfiKey.h\r
50 KeyBoard.c\r
ed838d0c 51 ComponentName.c\r
a7022cec 52 KeyBoard.h\r
ed838d0c 53\r
ed838d0c 54[Packages]\r
55 MdePkg/MdePkg.dec\r
623ad724 56 MdeModulePkg/MdeModulePkg.dec\r
ed838d0c 57\r
ed838d0c 58[LibraryClasses]\r
59 MemoryAllocationLib\r
60 UefiLib\r
61 UefiBootServicesTableLib\r
62 UefiDriverEntryPoint\r
63 UefiRuntimeServicesTableLib\r
64 BaseMemoryLib\r
65 ReportStatusCodeLib\r
66 DebugLib\r
67 PcdLib\r
dfb74df5 68 UefiUsbLib\r
7772b176 69\r
70[Guids]\r
71 ##\r
72 # Event registered to EFI_HII_SET_KEYBOARD_LAYOUT_EVENT_GUID group,\r
73 # which will be triggered by EFI_HII_DATABASE_PROTOCOL.SetKeyboardLayout().\r
74 #\r
75 gEfiHiiKeyBoardLayoutGuid ## SOMETIME_CONSUMES ## Event\r
ed838d0c 76\r
ed838d0c 77[Protocols]\r
7772b176 78 gEfiUsbIoProtocolGuid ## TO_START\r
79 gEfiDevicePathProtocolGuid ## TO_START\r
80 gEfiSimpleTextInProtocolGuid ## BY_START\r
81 gEfiSimpleTextInputExProtocolGuid ## BY_START\r
7772b176 82 ##\r
83 # If HII Database Protocol exists, then keyboard layout from HII database is used.\r
84 # Otherwise, USB keyboard module tries to use its carried default layout.\r
85 #\r
86 gEfiHiiDatabaseProtocolGuid ## SOMETIMES_CONSUMES (Default value is used if it's absent.)\r
8d4cd915 87 \r
813acf3a 88[FeaturePcd.common]\r
7772b176 89 gEfiMdeModulePkgTokenSpaceGuid.PcdDisableDefaultKeyboardLayoutInUsbKbDriver ## SOMETIME_CONSUMES (Checked when no layout is provided by HII.)\r
813acf3a 90 \r
b3af5df6 91[FixedPcd]\r
92 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardEnable\r
93 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardPresenceDetect\r
94 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardDisable\r
95 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardReset\r
96 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardClearBuffer\r
97 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardSelfTest\r
98 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInterfaceError\r
7772b176 99 gEfiMdePkgTokenSpaceGuid.PcdStatusCodeValueKeyboardInputError\r
100 \r
101\r
102# [Event]\r
103# ##\r
104# # Periodic timer event for generation of repeat key\r
105# #\r
106# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES\r
107# ##\r
108# # Periodic timer event for delayed recovery, which deals with device error.\r
109# #\r
110# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES\r
111# ##\r
112# # Event for EFI_SIMPLE_TEXT_INPUT_PROTOCOL.WaitForKey\r
113# #\r
114# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES\r
115# ##\r
116# # Event for EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.WaitForKeyEx\r
117# #\r
118# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES\r
119#\r
120#\r