/* Remove one pre-fetched key out of the Unicode FIFO buffer. The caller should guarantee that Unicode FIFO buffer is not empty by IsUnicodeFiFoEmpty (). */
VOID UnicodeFiFoRemoveOneKey(TERMINAL_DEV *TerminalDevice, UINT16 *Output)
/* Remove one pre-fetched key out of the Unicode FIFO buffer. The caller should guarantee that Unicode FIFO buffer is not empty by IsUnicodeFiFoEmpty (). */
VOID UnicodeFiFoRemoveOneKey(TERMINAL_DEV *TerminalDevice, UINT16 *Output)
{
  UINT8  Head;
  Head = TerminalDevice->UnicodeFiFo->Head;
  ASSERT (Head < FIFO_MAX_NUMBER + 1);
  *Output = TerminalDevice->UnicodeFiFo->Data[Head];
  TerminalDevice->UnicodeFiFo->Head = (UINT8)((Head + 1) % (FIFO_MAX_NUMBER + 1));
}