Supported usages in multi-touch digitizers
In the context of Windows Pointer Device, multi-touch refers to support for two or more contact points. This topic describes the required and optional usages for a multi-touch digitizer device.
Required HID usages for multi-touch digitizers
The report descriptor for a multi-touch digitizer must specify that the device is a HID touch screen (page 0x0D, usage 0x04).
In addition to the existing HID touch usages, multi-touch digitizers must implement the following usages:
- Contact identifier
- Contact count maximum
- Scan Time
Optional HID usages
The following usages are optional, but multi-touch digitizers should report them if the digitizer hardware supports them.
- Confidence
- Pressure
- Azimuth
- In-range (optional for touch, required for pen)
- Width and Height
HID usages for multi-touch digitizers
The HID standard defines the following usages for multi-touch input from digitizers.
Name | Description | CA usage | Page | Type | ID |
---|---|---|---|---|---|
Contact identifier |
Contact identifier |
Touch |
Digitizer |
Dynamic Value (DV) |
0x51 |
Contact count |
Actual contact count |
Touch |
Digitizer |
DV |
0x54 |
Contact count maximum |
Maximum number of contacts supported |
Touch |
Digitizer |
DV |
0x55 |
Contact identifier
Specifies the identifier of the current contact. An identifier must remain constant while the contact is detected by the device. Each separate concurrent contact must have a unique identifier. Identifiers can be reused if a contact is no longer detected. If the device supports "in-air" packets (the contact is hovering above the surface), the identifier must persist from the time that the contact is detected until the time that it goes out of range.
Contact count
Specifies the number of valid contacts in the current packet. Drivers that use parallel or Hybrid mode should include this usage. A device that cannot provide this value must use NULL for all values in the first position that do not contain valid contact information. However, NULL is an option only for Parallel mode devices. Devices should not use a combination of Contact count and NULL for reporting the actual count. Either one or the other should be used.
Contact count maximum
Specifies the total number of contacts that a multi-touch device supports. This usage must be included in the multi-touch top-level collection and not in any child collection. This usage must be present in a feature report in the touch top-level collection. While reporting data, a device must not report more contacts than the contact count maximum. Any new contact information reported after the contact count maximum has been reached will be ignored by the host. A device without the Contact count maximum in the descriptor will be considered to be a single-touch device.