2006-04-22 00:54:32 +02:00
|
|
|
/*++
|
|
|
|
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"
|
|
|
|
|
2007-01-31 05:57:46 +01:00
|
|
|
//
|
|
|
|
// 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
|
|
|
|
);
|
|
|
|
|
2006-04-22 00:54:32 +02:00
|
|
|
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
|