This topic describes driver, bus, and firmware update requirements for touch devices.
No third-party touch drivers are allowed. Touch digitizer firmware/controller must be Human Interface Design (HID)-compliant and require no additional driver installation. This is specifically referenced in the Device.Digitizer.Touch.HIDCompliantFirmware requirement.
The digitizer must connect to the system by using a USB or I2C bus. These buses support the HID Protocol that is specifically referenced in the Device.Digitizer.Touch.DigitizerConnectsOverUSBOrI2C requirement. This mechanism enables touch in the Windows Pre-boot environment. This provides interoperability also ensures consistent and high-performance delivery of touch data from the device to the input stack for the operating system.
Because a touch device must have HID-compliant firmware and report data through a USB or I2C bus without additional driver installation, the firmware must be serviceable by the user; that is, Field updatable. It is mandatory for the wVersionID field to be incremented after a firmware upgrade. The digitizers should be able to recover from a failed firmware update, due to power loss or other error, via a power cycle.
The best-in-class Windows systems utilize UEFI to perform device firmware update via a UEFI capsule. There are significant advantages in this mechanism in that system firmware, ACPI, bus controller firmware and device firmware dependencies can all be addressed by using a single package. The role of the input device, be it a touch, pen or precision touchpad, is to expose an interface for pushing the update payload to the device. This interface is then leveraged by the UEFI implementation.
It is highly recommended that the interface be based on a vendor specific top-level HID collection specifically used for host transfers of firmware payloads to the device. This collection would define an output report optimally sized for payload transfers to the device, as shown in the following figure.
Irrespective of interface implementation, it is essential that device firmware/bootloaders are constructed to recover from power loss during firmware update. If a firmware update does not complete successfully, the device should revert to the previous version of firmware on power cycle.
Using the HID protocol in Windows 8, a Windows Precision Touchpad can provide a vendor-specific top-level collection for performing device firmware and vendor configuration updates.
The vendor-specific firmware update collection can provide an output report for transferring the firmware payload from the host to the device. This is highly advantageous as it allows for firmware updates to be performed without requiring a driver on the host.
Windows Precision Touchpads must be able to recover from a failed firmware update, due to power loss or other error, via a power cycle. It is highly recommended that basic mouse functionality be available even after a failed firmware update.