4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync## @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# USB Mouse Driver that manages USB mouse and produces Simple Pointer Protocol.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# USB Mouse Driver consumes USB I/O Protocol and Device Path Protocol, and produces
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# Simple Pointer Protocol on USB mouse devices.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# It manages the USB mouse device via Asynchronous Interrupt Transfer of USB I/O Protocol,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# and parses the data according to USB HID Specification.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# This module refers to following specifications:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# 1. Universal Serial Bus HID Firmware Specification, ver 1.11
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# 2. UEFI Specification, v2.1
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# This program and the accompanying materials
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# are licensed and made available under the terms and conditions of the BSD License
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# which accompanies this distribution. The full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# http://opensource.org/licenses/bsd-license.php
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync##
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync[Defines]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync INF_VERSION = 0x00010005
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BASE_NAME = UsbMouseDxe
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync FILE_GUID = 2D2E62AA-9ECF-43b7-8219-94E7FC713DFE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MODULE_TYPE = UEFI_DRIVER
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync VERSION_STRING = 1.0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ENTRY_POINT = USBMouseDriverBindingEntryPoint
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# The following information is for reference only and not required by the build tools.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# VALID_ARCHITECTURES = IA32 X64 IPF EBC
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# DRIVER_BINDING = gUsbMouseDriverBinding
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# COMPONENT_NAME = gUsbMouseComponentName
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# COMPONENT_NAME2 = gUsbMouseComponentName2
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync[Sources]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ComponentName.c
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MouseHid.c
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UsbMouse.c
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UsbMouse.h
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync[Packages]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MdePkg/MdePkg.dec
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync[LibraryClasses]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync MemoryAllocationLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UefiLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UefiBootServicesTableLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UefiDriverEntryPoint
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync BaseMemoryLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ReportStatusCodeLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync UefiUsbLib
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync[Protocols]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gEfiUsbIoProtocolGuid ## TO_START
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gEfiDevicePathProtocolGuid ## TO_START
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync gEfiSimplePointerProtocolGuid ## BY_START
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# [Event]
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# ##
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# # Periodic timer event for delayed recovery, which deals with device error.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# #
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# EVENT_TYPE_PERIODIC_TIMER ## PRODUCES
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# ##
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# # Event for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# #
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync# EVENT_TYPE_NOTIFY_WAIT ## PRODUCES
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync