22.2.2 ReadKeyStroke() and ReadKeyStrokeEx() Implementation
The ReadKeyStroke()
and ReadKeyStrokeEx()
functions are non-blocking
operations that returns immediately with their Key and KeyData parameters
containing the key code for the next key in the queue or it returns that there
was no key code ready. These functions never wait for a key to be pressed.
ReadKeyStroke()
may be implemented to layer on top of ReadKeyStrokeEx()
to
share as much logic as possible.
If a key is read, the device specific keystroke information, such as scan codes
must be converted into EFI_INPUT_KEY
and EFI_KEY_DATA
structure contents.
The Console Support chapter of the UEFI Specification provides the details on
how different keys, toggle keys, and shift states are to be translated into
these structures.