PlatformVirtualKeyboard.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /** @file
  2. Copyright (c) 2018, Linaro. All rights reserved.
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef __PLATFORM_VIRTUAL_KEYBOARD_H__
  6. #define __PLATFORM_VIRTUAL_KEYBOARD_H__
  7. //
  8. // Protocol interface structure
  9. //
  10. typedef struct _PLATFORM_VIRTUAL_KBD_PROTOCOL PLATFORM_VIRTUAL_KBD_PROTOCOL;
  11. typedef struct _VIRTUAL_KBD_KEY VIRTUAL_KBD_KEY;
  12. #define VIRTUAL_KEYBOARD_KEY_SIGNATURE SIGNATURE_32 ('v', 'k', 'b', 'd')
  13. struct _VIRTUAL_KBD_KEY {
  14. UINTN Signature;
  15. EFI_INPUT_KEY Key;
  16. };
  17. typedef
  18. EFI_STATUS
  19. (EFIAPI *PLATFORM_VIRTUAL_KBD_REGISTER)(
  20. IN VOID
  21. );
  22. typedef
  23. EFI_STATUS
  24. (EFIAPI *PLATFORM_VIRTUAL_KBD_RESET)(
  25. IN VOID
  26. );
  27. typedef
  28. BOOLEAN
  29. (EFIAPI *PLATFORM_VIRTUAL_KBD_QUERY)(
  30. IN VIRTUAL_KBD_KEY *VirtualKey
  31. );
  32. typedef
  33. EFI_STATUS
  34. (EFIAPI *PLATFORM_VIRTUAL_KBD_CLEAR)(
  35. IN VIRTUAL_KBD_KEY *VirtualKey
  36. );
  37. struct _PLATFORM_VIRTUAL_KBD_PROTOCOL {
  38. PLATFORM_VIRTUAL_KBD_REGISTER Register;
  39. PLATFORM_VIRTUAL_KBD_RESET Reset;
  40. PLATFORM_VIRTUAL_KBD_QUERY Query;
  41. PLATFORM_VIRTUAL_KBD_CLEAR Clear;
  42. };
  43. extern EFI_GUID gPlatformVirtualKeyboardProtocolGuid;
  44. #endif /* __PLATFORM_VIRTUAL_KEYBOARD_H__ */