SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
SetupDesignGuide.pdf - Firmware Encoding Index
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Setup Design Guide<br />
DRAFT<br />
} EFI_KEY;<br />
Figure 1<br />
typedef struct {<br />
EFI_KEY<br />
CHAR16<br />
CHAR16<br />
CHAR16<br />
CHAR16<br />
UINT16<br />
} EFI_KEY_DESCRIPTOR;<br />
Key;<br />
Unicode;<br />
ShiftedUnicode;<br />
AltGrUnicode;<br />
ShiftedAltGrUnicode;<br />
Modifier;<br />
//<br />
// This structure allows a sparse set of keys to be redefined<br />
// or a complete redefinition of the keyboard layout. Most<br />
// keyboards have a lot of commonality in their layouts, therefore<br />
// only defining those keys that need to change from the default<br />
// minimizes the passed in information.<br />
//<br />
// Additionally, when an update occurs, the active keyboard layout<br />
// will be switched to the newly updated keyboard layout. This<br />
// allows for situations that when a keyboard layout driver is<br />
// loaded as part of system initialization, the system will default<br />
// the keyboard behavior to the new layout.<br />
//<br />
// Each call to update the keyboard mapping should contain the<br />
// complete set of key descriptors to be updated, since every<br />
// call to the HII which contains an EFI_HII_KEYBOARD_PACK will<br />
// wipe the previous set of overrides. A call to<br />
//<br />
typedef struct {<br />
EFI_HII_PACK_HEADER Header;<br />
EFI_KEY_DESCRIPTOR *Descriptor;<br />
UINTN<br />
DescriptorCount;<br />
} EFI_HII_KEYBOARD_PACK;<br />
typedef union {<br />
EFI_HII_IFR_PACK<br />
EFI_HII_FONT_PACK<br />
EFI_HII_STRING_PACK<br />
EFI_HII_KEYBOARD_PACK<br />
} EFI_HII_PACK_LIST;<br />
*IfrPack;<br />
*FontPack;<br />
*StringPack;<br />
*KeyboardPack;<br />
51