15.03.2015 Views

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SetupDesignGuide.pdf - Firmware Encoding Index

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!