]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Bus/Usb/UsbKbDxe/keyboard.h
Merged in the following trackers from EDK:
[mirror_edk2.git] / MdeModulePkg / Bus / Usb / UsbKbDxe / keyboard.h
1 /** @file
2 Copyright (c) 2004 - 2005, Intel Corporation
3 All rights reserved. This program and the accompanying materials
4 are licensed and made available under the terms and conditions of the BSD License
5 which accompanies this distribution. The full text of the license may be found at
6 http://opensource.org/licenses/bsd-license.php
7
8 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10
11 Module Name:
12
13 Keyboard.h
14
15 Abstract:
16
17 Function prototype for USB Keyboard Driver
18
19 Revision History
20
21 **/
22
23 #ifndef _KEYBOARD_H
24 #define _KEYBOARD_H
25
26
27 #include "efikey.h"
28
29 BOOLEAN
30 IsUSBKeyboard (
31 IN EFI_USB_IO_PROTOCOL *UsbIo
32 );
33
34 EFI_STATUS
35 InitUSBKeyboard (
36 IN USB_KB_DEV *UsbKeyboardDevice
37 );
38
39 EFI_STATUS
40 InitKeyboardLayout (
41 IN USB_KB_DEV *UsbKeyboardDevice
42 );
43
44 VOID
45 ReleaseKeyboardLayoutResources (
46 USB_KB_DEV *UsbKeyboardDevice
47 );
48
49 EFI_STATUS
50 EFIAPI
51 KeyboardHandler (
52 IN VOID *Data,
53 IN UINTN DataLength,
54 IN VOID *Context,
55 IN UINT32 Result
56 );
57
58 VOID
59 EFIAPI
60 USBKeyboardRecoveryHandler (
61 IN EFI_EVENT Event,
62 IN VOID *Context
63 );
64
65 EFI_STATUS
66 USBParseKey (
67 IN OUT USB_KB_DEV *UsbKeyboardDevice,
68 OUT UINT8 *KeyChar
69 );
70
71 EFI_STATUS
72 USBKeyCodeToEFIScanCode (
73 IN USB_KB_DEV *UsbKeyboardDevice,
74 IN UINT8 KeyChar,
75 OUT EFI_INPUT_KEY *Key
76 );
77
78 EFI_STATUS
79 InitUSBKeyBuffer (
80 IN OUT USB_KB_BUFFER *KeyboardBuffer
81 );
82
83 BOOLEAN
84 IsUSBKeyboardBufferEmpty (
85 IN USB_KB_BUFFER *KeyboardBuffer
86 );
87
88 BOOLEAN
89 IsUSBKeyboardBufferFull (
90 IN USB_KB_BUFFER *KeyboardBuffer
91 );
92
93 EFI_STATUS
94 InsertKeyCode (
95 IN OUT USB_KB_BUFFER *KeyboardBuffer,
96 IN UINT8 Key,
97 IN UINT8 Down
98 );
99
100 EFI_STATUS
101 RemoveKeyCode (
102 IN OUT USB_KB_BUFFER *KeyboardBuffer,
103 OUT USB_KEY *UsbKey
104 );
105
106 VOID
107 EFIAPI
108 USBKeyboardRepeatHandler (
109 IN EFI_EVENT Event,
110 IN VOID *Context
111 );
112
113 EFI_STATUS
114 SetKeyLED (
115 IN USB_KB_DEV *UsbKeyboardDevice
116 );
117
118 #endif