]> git.proxmox.com Git - mirror_edk2.git/blob - EdkModulePkg/Bus/Usb/UsbKb/Dxe/keyboard.h
1. UINTN & INTN issue for EBC architecture:
[mirror_edk2.git] / EdkModulePkg / Bus / Usb / UsbKb / Dxe / keyboard.h
1 /*++
2 Copyright (c) 2006, 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 #ifndef _KEYBOARD_H
23 #define _KEYBOARD_H
24
25 #include "efikey.h"
26
27 BOOLEAN
28 IsUSBKeyboard (
29 IN EFI_USB_IO_PROTOCOL *UsbIo
30 );
31
32 EFI_STATUS
33 InitUSBKeyboard (
34 IN USB_KB_DEV *UsbKeyboardDevice
35 );
36
37 EFI_STATUS
38 EFIAPI
39 KeyboardHandler (
40 IN VOID *Data,
41 IN UINTN DataLength,
42 IN VOID *Context,
43 IN UINT32 Result
44 );
45
46 VOID
47 EFIAPI
48 USBKeyboardRecoveryHandler (
49 IN EFI_EVENT Event,
50 IN VOID *Context
51 );
52
53 EFI_STATUS
54 USBParseKey (
55 IN OUT USB_KB_DEV *UsbKeyboardDevice,
56 OUT UINT8 *KeyChar
57 );
58
59 EFI_STATUS
60 USBKeyCodeToEFIScanCode (
61 IN USB_KB_DEV *UsbKeyboardDevice,
62 IN UINT8 KeyChar,
63 OUT EFI_INPUT_KEY *Key
64 );
65
66 EFI_STATUS
67 InitUSBKeyBuffer (
68 IN OUT USB_KB_BUFFER *KeyboardBuffer
69 );
70
71 BOOLEAN
72 IsUSBKeyboardBufferEmpty (
73 IN USB_KB_BUFFER *KeyboardBuffer
74 );
75
76 BOOLEAN
77 IsUSBKeyboardBufferFull (
78 IN USB_KB_BUFFER *KeyboardBuffer
79 );
80
81 EFI_STATUS
82 InsertKeyCode (
83 IN OUT USB_KB_BUFFER *KeyboardBuffer,
84 IN UINT8 Key,
85 IN UINT8 Down
86 );
87
88 EFI_STATUS
89 RemoveKeyCode (
90 IN OUT USB_KB_BUFFER *KeyboardBuffer,
91 OUT USB_KEY *UsbKey
92 );
93
94 VOID
95 EFIAPI
96 USBKeyboardRepeatHandler (
97 IN EFI_EVENT Event,
98 IN VOID *Context
99 );
100
101 EFI_STATUS
102 SetKeyLED (
103 IN USB_KB_DEV *UsbKeyboardDevice
104 );
105
106 #endif