/* Initialize Key Convention Table by using default keyboard layout. */
EFI_STATUS InstallDefaultKeyboardLayout(IN OUT USB_KB_DEV *UsbKeyboardDevice)
/* Initialize Key Convention Table by using default keyboard layout. */
EFI_STATUS InstallDefaultKeyboardLayout(IN OUT USB_KB_DEV *UsbKeyboardDevice)
{
  EFI_STATUS                 Status;
  EFI_HII_DATABASE_PROTOCOL  *HiiDatabase;
  EFI_HII_HANDLE             HiiHandle;
  Status = gBS->LocateProtocol (
                  &gEfiHiiDatabaseProtocolGuid,
                  NULL,
                  (VOID **)&HiiDatabase
                  );
  if (EFI_ERROR (Status)) {
    return Status;
  }
  HiiHandle = HiiAddPackages (
                &gUsbKeyboardLayoutPackageGuid,
                UsbKeyboardDevice->ControllerHandle,
                &mUsbKeyboardLayoutBin,
                NULL
                );
  if (HiiHandle == NULL) {
    return EFI_OUT_OF_RESOURCES;
  }
  Status = HiiDatabase->SetKeyboardLayout (HiiDatabase, &gUsbKeyboardLayoutKeyGuid);
  return Status;
}