UEFI Absolute Pointer Protocol for Touchscreens

The UEFI Absolute Pointer protocol provides a standardized software interface that enables UEFI firmware, boot managers, and pre-boot applications to receive input from absolute positioning devices such as touchscreens and digitizers. Unlike traditional mouse drivers that report directional motion deltas, this protocol captures precise coordinates mapped directly to display space. This article explains the primary function of the protocol, its technical architecture, and its role in modern touch-enabled computing environments.

Purpose of the Protocol

In the UEFI environment, input devices are categorized by how they track movement. Traditional mice and trackpads use the EFI_SIMPLE_POINTER_PROTOCOL, which measures relative movement (how far the cursor moved along the X and Y axes since the last sample).

Touchscreens, graphics tablets, and digital styluses cannot function reliably using relative movement. When a user taps a specific button on a screen, the hardware detects a distinct point in physical space. The EFI_ABSOLUTE_POINTER_PROTOCOL was introduced to handle these hardware types by reporting exact, fixed coordinates rather than relative displacement.

Key Functional Components

The protocol operates through a set of defined functions and data structures that translate raw digitizer readings into actionable pre-boot input:

  • Coordinate Reporting (GetState): The primary function, GetState(), retrieves the current status of the touch device. It populates an EFI_ABSOLUTE_POINTER_STATE structure containing the current absolute X, Y, and Z positions, along with bitmasks indicating active touch contact or button presses.
  • Device Bounds and Resolution (Mode): The protocol exposes an EFI_ABSOLUTE_POINTER_MODE structure that defines the physical capabilities of the digitizer. It specifies the minimum and maximum coordinate values the hardware can register across all axes (e.g., AbsoluteMinX, AbsoluteMaxX). Pre-boot user interfaces use these bounds to scale touch coordinates directly to the display resolution provided by the UEFI Graphics Output Protocol (GOP).
  • Event Notification (WaitForInput): Instead of requiring the system to constantly poll the touchscreen hardware, the protocol provides an event handle. Applications can register this event with the UEFI task priority and event services, allowing the system to sleep or perform other tasks until a finger or stylus physically touches the panel.
  • Hardware Reset (Reset): The protocol includes a reset routine to re-initialize the touch controller hardware and flush internal buffers if tracking desynchronizes or errors occur during boot.

Importance in Modern Systems

The primary utility of the UEFI Absolute Pointer protocol is enabling fully functional, keyboard-less operation prior to the operating system loading. It is critical for:

  • Tablet and 2-in-1 Firmware Setup: Allowing users to navigate UEFI BIOS settings, toggle hardware features, and configure boot priorities using solely a touch panel.
  • Pre-Boot Authentication (PBA): Facilitating the entry of BitLocker PINs, passwords, or on-screen virtual keyboard inputs on slate devices without a physical keyboard attached.
  • Boot Loaders and Recovery Menus: Providing touch targets for multi-boot selection menus, system diagnostics, and operating system recovery environments.