/* Timer handler to convert the key from USB. */
VOID EFIAPI USBKeyboardTimerHandler(IN EFI_EVENT Event, IN VOID *Context)
/* Timer handler to convert the key from USB. */
VOID EFIAPI USBKeyboardTimerHandler(IN EFI_EVENT Event, IN VOID *Context)
{
  EFI_STATUS    Status;
  USB_KB_DEV    *UsbKeyboardDevice;
  UINT8         KeyCode;
  EFI_KEY_DATA  KeyData;
  UsbKeyboardDevice = (USB_KB_DEV *)Context;
  Status = USBParseKey (UsbKeyboardDevice, &KeyCode);
  if (EFI_ERROR (Status)) {
    return;
  }
  Status = UsbKeyCodeToEfiInputKey (UsbKeyboardDevice, KeyCode, &KeyData);
  if (EFI_ERROR (Status)) {
    return;
  }
  Enqueue (&UsbKeyboardDevice->EfiKeyQueue, &KeyData, sizeof (KeyData));
}