/*++ @file

Copyright (c) 2011, Apple Inc. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

**/

#include <Protocol/SimpleTextInEx.h>

/**
  KeyMapMake gets called on key presses.

  @param  KeyData       Key that was pressed.

  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.

**/
EFI_STATUS
EFIAPI
KeyMapMake (
  IN EFI_KEY_DATA  *KeyData
  );

/**
  KeyMapBreak gets called on key releases.

  @param  KeyData       Key that was pressed.

  @retval EFI_SUCCESS   The constructor always returns EFI_SUCCESS.

**/
EFI_STATUS
EFIAPI
KeyMapBreak (
  IN EFI_KEY_DATA  *KeyData
  );
