TianoCore EDK2 master
|
#include "UsbMouse.h"
Go to the source code of this file.
Variables | |
EFI_DRIVER_BINDING_PROTOCOL | gUsbMouseDriverBinding |
USB Mouse Driver that manages USB mouse and produces Simple Pointer Protocol.
Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file UsbMouse.c.
EFI_STATUS EFIAPI GetMouseState | ( | IN EFI_SIMPLE_POINTER_PROTOCOL * | This, |
OUT EFI_SIMPLE_POINTER_STATE * | MouseState | ||
) |
Retrieves the current state of a pointer device.
This | A pointer to the EFI_SIMPLE_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 | MouseState is NULL. |
Definition at line 856 of file UsbMouse.c.
EFI_STATUS InitializeUsbMouseDevice | ( | IN OUT USB_MOUSE_DEV * | UsbMouseDev | ) |
Initialize the USB mouse device.
This function retrieves and parses HID report descriptor, and initializes state of USB_MOUSE_DEV. Then it sets indefinite idle rate for the device. Finally it creates event for delayed recovery, which deals with device error.
UsbMouseDev | 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 UsbMouse.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 UsbMouse.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 UsbMouse.c.
EFI_STATUS EFIAPI USBMouseDriverBindingEntryPoint | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
Entrypoint of USB Mouse 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 UsbMouse.c.
EFI_STATUS EFIAPI USBMouseDriverBindingStart | ( | 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 Simple Pointer Protocol, and submits Asynchronous Interrupt Transfer to manage the USB mouse device.
This | The USB mouse 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 UsbMouse.c.
EFI_STATUS EFIAPI USBMouseDriverBindingStop | ( | 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 USB mouse 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 | Simple Pointer Protocol is not installed on Controller. |
Others | Fail to uninstall protocols attached on the device. |
Definition at line 395 of file UsbMouse.c.
EFI_STATUS EFIAPI USBMouseDriverBindingSupported | ( | IN EFI_DRIVER_BINDING_PROTOCOL * | This, |
IN EFI_HANDLE | Controller, | ||
IN EFI_DEVICE_PATH_PROTOCOL * | RemainingDevicePath | ||
) |
Check whether USB mouse driver supports this device.
This | The USB mouse 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 UsbMouse.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_DEV instance. |
Definition at line 975 of file UsbMouse.c.
EFI_STATUS EFIAPI UsbMouseReset | ( | IN EFI_SIMPLE_POINTER_PROTOCOL * | This, |
IN BOOLEAN | ExtendedVerification | ||
) |
Resets the pointer device hardware.
This | A pointer to the EFI_SIMPLE_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 907 of file UsbMouse.c.
Event notification function for EFI_SIMPLE_POINTER_PROTOCOL.WaitForInput event.
Event | Event to be signaled when there's input from mouse. |
Context | Points to USB_MOUSE_DEV instance. |
Definition at line 943 of file UsbMouse.c.
EFI_DRIVER_BINDING_PROTOCOL gUsbMouseDriverBinding |
Definition at line 11 of file UsbMouse.c.