TianoCore EDK2 master
|
#include "UsbMouseAbsolutePointer.h"
Go to the source code of this file.
Variables | |
EFI_DRIVER_BINDING_PROTOCOL | gUsbMouseAbsolutePointerDriverBinding |
USB Mouse Driver that manages USB mouse and produces Absolute Pointer Protocol.
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI GetMouseAbsolutePointerState | ( | IN EFI_ABSOLUTE_POINTER_PROTOCOL * | This, |
OUT EFI_ABSOLUTE_POINTER_STATE * | State | ||
) |
Retrieves the current state of a pointer device.
This | A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL instance. |
MouseState | A pointer to the state information on the pointer device. |
EFI_SUCCESS | The state of the pointer device was returned in State. |
EFI_NOT_READY | The state of the pointer device has not changed since the last call to GetState(). |
EFI_DEVICE_ERROR | A device error occurred while attempting to retrieve the pointer device's current state. |
EFI_INVALID_PARAMETER | State is NULL. |
Definition at line 876 of file UsbMouseAbsolutePointer.c.
EFI_STATUS InitializeUsbMouseDevice | ( | IN USB_MOUSE_ABSOLUTE_POINTER_DEV * | UsbMouseAbsolutePointerDev | ) |
Initialize the USB mouse device.
This function retrieves and parses HID report descriptor, and initializes state of USB_MOUSE_ABSOLUTE_POINTER_DEV. Then it sets indefinite idle rate for the device. Finally it creates event for delayed recovery, which deals with device error.
UsbMouseAbsolutePointerDev | Device instance to be initialized. |
EFI_SUCCESS | USB mouse device successfully initialized. |
EFI_UNSUPPORTED | HID descriptor type is not report descriptor. |
Other | USB mouse device was not initialized successfully. |
Definition at line 537 of file UsbMouseAbsolutePointer.c.
BOOLEAN IsUsbMouse | ( | IN EFI_USB_IO_PROTOCOL * | UsbIo | ) |
Uses USB I/O to check whether the device is a USB mouse device.
UsbIo | Pointer to a USB I/O protocol instance. |
TRUE | Device is a USB mouse device. |
FALSE | Device is a not USB mouse device. |
Definition at line 491 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI OnMouseInterruptComplete | ( | IN VOID * | Data, |
IN UINTN | DataLength, | ||
IN VOID * | Context, | ||
IN UINT32 | Result | ||
) |
Handler function for USB mouse's asynchronous interrupt transfer.
This function is the handler function for USB mouse's asynchronous interrupt transfer to manage the mouse. It parses data returned from asynchronous interrupt transfer, and get button and movement state.
Data | A pointer to a buffer that is filled with key data which is retrieved via asynchronous interrupt transfer. |
DataLength | Indicates the size of the data buffer. |
Context | Pointing to USB_KB_DEV instance. |
Result | Indicates the result of the asynchronous interrupt transfer. |
EFI_SUCCESS | Asynchronous interrupt transfer is handled successfully. |
EFI_DEVICE_ERROR | Hardware error occurs. |
Definition at line 744 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Entrypoint of USB Mouse Absolute Pointer Driver.
This function is the entrypoint of USB Mouse Driver. It installs Driver Binding Protocols together with Component Name Protocols.
ImageHandle | The firmware allocated handle for the EFI image. |
SystemTable | A pointer to the EFI System Table. |
EFI_SUCCESS | The entry point is executed successfully. |
Definition at line 34 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingStart | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Starts the mouse device with this driver.
This function consumes USB I/O Protocol, initializes USB mouse device, installs Absolute Pointer Protocol, and submits Asynchronous Interrupt Transfer to manage the USB mouse device.
This | The driver binding instance. |
Controller | Handle of device to bind driver to. |
RemainingDevicePath | Optional parameter use to pick a specific child device to start. |
EFI_SUCCESS | This driver supports this device. |
EFI_UNSUPPORTED | This driver does not support this device. |
EFI_DEVICE_ERROR | This driver cannot be started due to device Error. |
EFI_OUT_OF_RESOURCES | Can't allocate memory resources. |
EFI_ALREADY_STARTED | This driver has been started. |
Definition at line 128 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingStop | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN UINTN | NumberOfChildren, | ||
IN EFI_HANDLE * | ChildHandleBuffer | ||
) |
Stop the USB mouse device handled by this driver.
This | The driver binding protocol. |
Controller | The controller to release. |
NumberOfChildren | The number of handles in ChildHandleBuffer. |
ChildHandleBuffer | The array of child handle. |
EFI_SUCCESS | The device was stopped. |
EFI_UNSUPPORTED | Absolute Pointer Protocol is not installed on Controller. |
Others | Fail to uninstall protocols attached on the device. |
Definition at line 395 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI USBMouseAbsolutePointerDriverBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Check whether USB Mouse Absolute Pointer Driver supports this device.
This | The driver binding protocol. |
Controller | The controller handle to check. |
RemainingDevicePath | The remaining device path. |
EFI_SUCCESS | The driver supports this controller. |
other | This device isn't supported. |
Definition at line 67 of file UsbMouseAbsolutePointer.c.
EFI_STATUS EFIAPI UsbMouseAbsolutePointerReset | ( | IN EFI_ABSOLUTE_POINTER_PROTOCOL * | This, |
IN BOOLEAN | ExtendedVerification | ||
) |
Resets the pointer device hardware.
This | A pointer to the EFI_ABSOLUTE_POINTER_PROTOCOL instance. |
ExtendedVerification | Indicates that the driver may perform a more exhaustive verification operation of the device during reset. |
EFI_SUCCESS | The device was reset. |
EFI_DEVICE_ERROR | The device is not functioning correctly and could not be reset. |
Definition at line 921 of file UsbMouseAbsolutePointer.c.
Event notification function for EFI_ABSOLUTE_POINTER_PROTOCOL.WaitForInput event.
Event | Event to be signaled when there's input from mouse. |
Context | Points to USB_MOUSE_ABSOLUTE_POINTER_DEV instance. |
Definition at line 966 of file UsbMouseAbsolutePointer.c.
Handler for Delayed Recovery event.
This function is the handler for Delayed Recovery event triggered by timer. After a device error occurs, the event would be triggered with interval of EFI_USB_INTERRUPT_DELAY. EFI_USB_INTERRUPT_DELAY is defined in USB standard for error handling.
Event | The Delayed Recovery event. |
Context | Points to the USB_MOUSE_ABSOLUTE_POINTER_DEV instance. |
Definition at line 998 of file UsbMouseAbsolutePointer.c.
EFI_DRIVER_BINDING_PROTOCOL gUsbMouseAbsolutePointerDriverBinding |
Definition at line 11 of file UsbMouseAbsolutePointer.c.