Home | History | Annotate | Download | only in Protocol
      1 /** @file
      2 
      3   Copyright (c) 2017, Linaro. All rights reserved.
      4 
      5   This program and the accompanying materials
      6   are licensed and made available under the terms and conditions of the BSD License
      7   which accompanies this distribution.  The full text of the license may be found at
      8   http://opensource.org/licenses/bsd-license.php
      9 
     10   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef __PLATFORM_VIRTUAL_KEYBOARD_H__
     16 #define __PLATFORM_VIRTUAL_KEYBOARD_H__
     17 
     18 //
     19 // Protocol interface structure
     20 //
     21 typedef struct _PLATFORM_VIRTUAL_KBD_PROTOCOL  PLATFORM_VIRTUAL_KBD_PROTOCOL;
     22 
     23 typedef struct _VIRTUAL_KBD_KEY                VIRTUAL_KBD_KEY;
     24 
     25 #define VIRTUAL_KEYBOARD_KEY_SIGNATURE         SIGNATURE_32 ('v', 'k', 'b', 'd')
     26 
     27 struct _VIRTUAL_KBD_KEY {
     28   UINTN                    Signature;
     29   EFI_INPUT_KEY            Key;
     30 };
     31 
     32 typedef
     33 EFI_STATUS
     34 (EFIAPI *PLATFORM_VIRTUAL_KBD_REGISTER) (
     35   IN VOID
     36   );
     37 
     38 typedef
     39 EFI_STATUS
     40 (EFIAPI *PLATFORM_VIRTUAL_KBD_RESET) (
     41   IN VOID
     42   );
     43 
     44 typedef
     45 BOOLEAN
     46 (EFIAPI *PLATFORM_VIRTUAL_KBD_QUERY) (
     47   IN VIRTUAL_KBD_KEY                           *VirtualKey
     48   );
     49 
     50 typedef
     51 EFI_STATUS
     52 (EFIAPI *PLATFORM_VIRTUAL_KBD_CLEAR) (
     53   IN VIRTUAL_KBD_KEY                           *VirtualKey
     54   );
     55 
     56 struct _PLATFORM_VIRTUAL_KBD_PROTOCOL {
     57   PLATFORM_VIRTUAL_KBD_REGISTER                Register;
     58   PLATFORM_VIRTUAL_KBD_RESET                   Reset;
     59   PLATFORM_VIRTUAL_KBD_QUERY                   Query;
     60   PLATFORM_VIRTUAL_KBD_CLEAR                   Clear;
     61 };
     62 
     63 extern EFI_GUID gPlatformVirtualKeyboardProtocolGuid;
     64 
     65 #endif /* __PLATFORM_VIRTUAL_KEYBOARD_H__ */
     66