mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-25 11:55:28 +01:00
a65f244b2a
Signed-off-by: SergeySlice <sergey.slice@gmail.com>
87 lines
3.0 KiB
C
87 lines
3.0 KiB
C
//
|
|
// AppleKeyMapAggregator.h
|
|
//
|
|
//
|
|
// Created by Slice on 26.10.16.
|
|
// based on CupertinoNet
|
|
//
|
|
|
|
#ifndef _AppleKeyMapAggregator_h
|
|
#define _AppleKeyMapAggregator_h
|
|
|
|
#include <Protocol/AppleKeyState.h>
|
|
#include <Protocol/AppleKeyMapDatabase.h>
|
|
#include <Protocol/AppleEvent.h>
|
|
|
|
|
|
#define APPLE_KEY_MAP_PROTOCOLS_REVISION 0x010000
|
|
#define APPLE_KEY_MAP_AGGREGATOR_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'A')
|
|
|
|
#define APPLE_KEY_STROKES_INFO_SIGNATURE SIGNATURE_32 ('K', 'e', 'y', 'S')
|
|
|
|
#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_AGGREGATOR(This) \
|
|
CR ( \
|
|
(This), \
|
|
APPLE_KEY_MAP_AGGREGATOR, \
|
|
AggregatorProtocol, \
|
|
APPLE_KEY_MAP_AGGREGATOR_SIGNATURE \
|
|
)
|
|
|
|
#define APPLE_KEY_MAP_AGGREGATOR_PRIVATE_FROM_DATABASE(This) \
|
|
CR ( \
|
|
(This), \
|
|
APPLE_KEY_MAP_AGGREGATOR, \
|
|
DatabaseProtocol, \
|
|
APPLE_KEY_MAP_AGGREGATOR_SIGNATURE \
|
|
)
|
|
|
|
#define APPLE_KEY_STROKES_INFO_FROM_LIST_ENTRY(Entry) \
|
|
((APPLE_KEY_STROKES_INFO *)( \
|
|
CR ( \
|
|
(Entry), \
|
|
APPLE_KEY_STROKES_INFO_HDR, \
|
|
This, \
|
|
APPLE_KEY_STROKES_INFO_SIGNATURE \
|
|
) \
|
|
))
|
|
/*
|
|
typedef struct _EFI_LIST_ENTRY {
|
|
struct _EFI_LIST_ENTRY *ForwardLink;
|
|
struct _EFI_LIST_ENTRY *BackLink;
|
|
} EFI_LIST_ENTRY;
|
|
|
|
typedef EFI_LIST_ENTRY EFI_LIST;
|
|
*/
|
|
|
|
// APPLE_KEY_STROKES_INFO_HDR
|
|
typedef struct {
|
|
UINTN Signature; ///<
|
|
LIST_ENTRY This; ///<
|
|
UINTN Index; ///<
|
|
UINTN KeyBufferSize; ///<
|
|
UINTN NumberOfKeys; ///<
|
|
APPLE_MODIFIER_MAP Modifiers; ///<
|
|
} APPLE_KEY_STROKES_INFO_HDR;
|
|
|
|
// APPLE_KEY_STROKES_INFO
|
|
typedef struct {
|
|
APPLE_KEY_STROKES_INFO_HDR Hdr; ///<
|
|
APPLE_KEY_CODE Keys; ///<
|
|
} APPLE_KEY_STROKES_INFO;
|
|
|
|
|
|
// APPLE_KEY_MAP_AGGREGATOR
|
|
typedef struct {
|
|
UINTN Signature; ///<0
|
|
UINTN NextKeyStrokeIndex; ///<0x08
|
|
APPLE_KEY_CODE *KeyBuffer; ///<0x10
|
|
UINTN KeyBuffersSize; ///<0x18
|
|
LIST_ENTRY KeyStrokesInfoList; ///<0x20
|
|
APPLE_KEY_MAP_DATABASE_PROTOCOL DatabaseProtocol; ///<0x30 size=8*4
|
|
APPLE_KEY_STATE_PROTOCOL AggregatorProtocol; ///<0x50 size=8*3
|
|
} APPLE_KEY_MAP_AGGREGATOR; //size=0x68
|
|
|
|
EFI_STATUS InstallAggregator();
|
|
|
|
#endif
|