/*++ Copyright (c) 2006, Intel Corporation All rights reserved. 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 http://opensource.org/licenses/bsd-license.php THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. Module Name: Keyboard.h Abstract: Function prototype for USB Keyboard Driver Revision History --*/ #ifndef _KEYBOARD_H #define _KEYBOARD_H #include "efikey.h" // // EFI Component Name Functions // EFI_STATUS EFIAPI UsbKeyboardComponentNameGetDriverName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, IN CHAR8 *Language, OUT CHAR16 **DriverName ); EFI_STATUS EFIAPI UsbKeyboardComponentNameGetControllerName ( IN EFI_COMPONENT_NAME_PROTOCOL *This, IN EFI_HANDLE ControllerHandle, IN EFI_HANDLE ChildHandle OPTIONAL, IN CHAR8 *Language, OUT CHAR16 **ControllerName ); BOOLEAN IsUSBKeyboard ( IN EFI_USB_IO_PROTOCOL *UsbIo ); EFI_STATUS InitUSBKeyboard ( IN USB_KB_DEV *UsbKeyboardDevice ); EFI_STATUS EFIAPI KeyboardHandler ( IN VOID *Data, IN UINTN DataLength, IN VOID *Context, IN UINT32 Result ); VOID EFIAPI USBKeyboardRecoveryHandler ( IN EFI_EVENT Event, IN VOID *Context ); EFI_STATUS USBParseKey ( IN OUT USB_KB_DEV *UsbKeyboardDevice, OUT UINT8 *KeyChar ); EFI_STATUS USBKeyCodeToEFIScanCode ( IN USB_KB_DEV *UsbKeyboardDevice, IN UINT8 KeyChar, OUT EFI_INPUT_KEY *Key ); EFI_STATUS InitUSBKeyBuffer ( IN OUT USB_KB_BUFFER *KeyboardBuffer ); BOOLEAN IsUSBKeyboardBufferEmpty ( IN USB_KB_BUFFER *KeyboardBuffer ); BOOLEAN IsUSBKeyboardBufferFull ( IN USB_KB_BUFFER *KeyboardBuffer ); EFI_STATUS InsertKeyCode ( IN OUT USB_KB_BUFFER *KeyboardBuffer, IN UINT8 Key, IN UINT8 Down ); EFI_STATUS RemoveKeyCode ( IN OUT USB_KB_BUFFER *KeyboardBuffer, OUT USB_KEY *UsbKey ); VOID EFIAPI USBKeyboardRepeatHandler ( IN EFI_EVENT Event, IN VOID *Context ); EFI_STATUS SetKeyLED ( IN USB_KB_DEV *UsbKeyboardDevice ); #endif