#/** @file
# Ps2 Mouse Simulate TouchPad Driver
#
# This dirver directly uses IsaIo protocol service to support a faked Ps2 TouchPad work.
# Copyright (c) 2006 - 2009, Intel Corporation.
#
# All rights reserved. This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution.  The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
#
#**/

[Defines]
  INF_VERSION                    = 0x00010005
  BASE_NAME                      = Ps2MouseAbsolutePointerDxe
  FILE_GUID                      = 2899C94A-1FB6-4b1a-B96B-8364975303E0
  MODULE_TYPE                    = UEFI_DRIVER
  VERSION_STRING                 = 1.0
  ENTRY_POINT                    = InitializePs2MouseAbsolutePointer

#
#  VALID_ARCHITECTURES           = IA32 X64 IPF EBC
#  DRIVER_BINDING                = gPS2MouseAbsolutePointerDriver;
#  COMPONENT_NAME                = gPs2MouseAbsolutePointerComponentName;
#  COMPONENT_NAME2               = gPs2MouseAbsolutePointerComponentName2;
#

[Sources.common]
  ComponentName.c
  CommPs2.h
  CommPs2.c
  Ps2MouseAbsolutePointer.h
  Ps2MouseAbsolutePointer.c

[Packages]
  MdePkg/MdePkg.dec
  MdeModulePkg/MdeModulePkg.dec
  IntelFrameworkPkg/IntelFrameworkPkg.dec
  IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec

[LibraryClasses]
  ReportStatusCodeLib
  UefiBootServicesTableLib
  MemoryAllocationLib
  BaseMemoryLib
  UefiLib
  UefiDriverEntryPoint
  DebugLib

[Protocols]
  gEfiIsaIoProtocolGuid                         ## TO_START
  gEfiAbsolutePointerProtocolGuid               ## BY_START
  gEfiDevicePathProtocolGuid                    ## TO_START

# [Event]
#   ##
#   # Event for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput.
#   #
#   EVENT_TYPE_NOTIFY_WAIT                             ## PRODUCES
#
#   # Periodic timer event to poll the fake Ps2 mouse device and get its packet data.
#   #
#   EVENT_TYPE_PERIODIC_TIMER                          ## PRODUCES

