OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AIK.h
Go to the documentation of this file.
1
15#ifndef AIK_SELF_H
16#define AIK_SELF_H
17
18#include "AIKData.h"
19#include "AIKSource.h"
20#include "AIKTarget.h"
21#include "AIKTranslate.h"
22
23#include <Library/OcInputLib.h>
24#include <Library/UefiLib.h>
25
26//
27// Maximum amount of keys polled at once
28//
29#define AIK_KEY_POLL_LIMIT (AIK_TARGET_BUFFER_SIZE)
30
31//
32// Defines key polling frequency
33//
34#define AIK_KEY_POLL_INTERVAL EFI_TIMER_PERIOD_MILLISECONDS(10)
35
36typedef struct {
37 //
38 // Input mode
39 //
41
42 //
43 // Remove key if it was not submitted after this value.
44 //
46
47 //
48 // Perform ASCII and scan code input key filtering.
49 //
50 BOOLEAN KeyFiltering;
51
52 //
53 // Input sources
54 //
56
57 //
58 // Output targets
59 //
61
62 //
63 // Key data
64 //
66
67 //
68 // AppleKeyMapAggregator polling event
69 //
71
72 //
73 // Keyboard input polling event
74 //
76
77 //
78 // Indicates keyboard input polling event to avoid reentrancy if any
79 //
81
82 //
83 // Indicates we are done for any event in case it gets fired.
84 // Not really needed. Added in case of bogus firmware.
85 //
86 BOOLEAN OurJobIsDone;
87} AIK_SELF;
88
89//
90// This is only used in Shims, where no other way exists.
91//
92extern AIK_SELF gAikSelf;
93
94EFI_STATUS
96 AIK_SELF *Keycode
97 );
98
99VOID
101 AIK_SELF *Keycode
102 );
103
104EFI_STATUS
106 AIK_SELF *Keycode
107 );
108
109VOID
111 AIK_SELF *Keycode
112 );
113
114#endif
AIK_SELF gAikSelf
Definition AIK.c:23
VOID AIKProtocolArriveUninstall(AIK_SELF *Keycode)
Definition AIK.c:84
EFI_STATUS AIKProtocolArriveInstall(AIK_SELF *Keycode)
Definition AIK.c:55
VOID AIKUninstall(AIK_SELF *Keycode)
Definition AIK.c:227
EFI_STATUS AIKInstall(AIK_SELF *Keycode)
Definition AIK.c:169
OC_INPUT_KEY_MODE
Definition OcInputLib.h:23
Definition AIK.h:36
BOOLEAN KeyFiltering
Definition AIK.h:50
AIK_TARGET Target
Definition AIK.h:60
UINT8 KeyForgotThreshold
Definition AIK.h:45
EFI_EVENT PollKeyboardEvent
Definition AIK.h:75
AIK_SOURCE Source
Definition AIK.h:55
OC_INPUT_KEY_MODE Mode
Definition AIK.h:40
BOOLEAN OurJobIsDone
Definition AIK.h:86
AIK_DATA Data
Definition AIK.h:65
EFI_EVENT KeyMapDbArriveEvent
Definition AIK.h:70
BOOLEAN InPollKeyboardEvent
Definition AIK.h:80