OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
AIKSource.h
Go to the documentation of this file.
1
15#ifndef AIK_SOURCE_H
16#define AIK_SOURCE_H
17
18#include <Protocol/AmiKeycode.h>
19#include <Protocol/SimpleTextIn.h>
20#include <Protocol/SimpleTextInEx.h>
21
22#include <Library/OcInputLib.h>
23
24typedef struct {
25 //
26 // Preserved handle of gST->ConsoleInHandle
27 //
28 EFI_HANDLE ConSplitHandler;
29
30 //
31 // Solved input protocol instances from ConSplitHandler
32 // We override their ReadKey handlers and implement them
33 // ourselves via polled data from one of these protocols.
34 // Polled proto is prioritised as present: AMI, EX, Legacy.
35 //
37 EFI_SIMPLE_TEXT_INPUT_PROTOCOL *TextInput;
38 EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TextInputEx;
39
40 //
41 // Original implementations of the protocols.
42 //
44 EFI_EVENT AmiWait;
45 EFI_EVENT TextWait;
46 EFI_INPUT_READ_KEY TextReadKeyStroke;
47 EFI_INPUT_READ_KEY_EX TextReadKeyStrokeEx;
48 EFI_EVENT TextWaitEx;
50
51EFI_STATUS
53 AIK_SOURCE *Source,
54 AMI_EFI_KEY_DATA *KeyData,
55 BOOLEAN KeyFiltering
56 );
57
58EFI_STATUS
60 AIK_SOURCE *Source,
62 );
63
64VOID
66 AIK_SOURCE *Source
67 );
68
69#endif
EFI_STATUS AIKSourceInstall(AIK_SOURCE *Source, OC_INPUT_KEY_MODE Mode)
Definition AIKSource.c:128
EFI_STATUS AIKSourceGrabEfiKey(AIK_SOURCE *Source, AMI_EFI_KEY_DATA *KeyData, BOOLEAN KeyFiltering)
Definition AIKSource.c:24
VOID AIKSourceUninstall(AIK_SOURCE *Source)
Definition AIKSource.c:239
EFI_STATUS(EFIAPI * AMI_READ_EFI_KEY)(IN AMI_EFIKEYCODE_PROTOCOL *This, OUT AMI_EFI_KEY_DATA *KeyData)
Definition AmiKeycode.h:39
OC_INPUT_KEY_MODE
Definition OcInputLib.h:23
EFI_HANDLE ConSplitHandler
Definition AIKSource.h:28
EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL * TextInputEx
Definition AIKSource.h:38
EFI_EVENT TextWait
Definition AIKSource.h:45
EFI_SIMPLE_TEXT_INPUT_PROTOCOL * TextInput
Definition AIKSource.h:37
EFI_INPUT_READ_KEY TextReadKeyStroke
Definition AIKSource.h:46
EFI_EVENT AmiWait
Definition AIKSource.h:44
EFI_EVENT TextWaitEx
Definition AIKSource.h:48
EFI_INPUT_READ_KEY_EX TextReadKeyStrokeEx
Definition AIKSource.h:47
AMI_EFIKEYCODE_PROTOCOL * AmiKeycode
Definition AIKSource.h:36
AMI_READ_EFI_KEY AmiReadEfikey
Definition AIKSource.h:43