Digitizer Display Mapping

This section describes how a Windows touch or pen ditizer can be automatically mapped to the appropriate display, for Windows 10 and later operating systems.

The approach for automatically mapping the digitizer and its display differs for internal vs. external displays.

External displays

Windows will match external digitizers to their display using their Container ID configuration. Windows automatically generates a unique Container ID for the display by using the manufacturer ID, product ID, and serial number obtained from the Extended Display Identification Data (EDID). The display may override this Container ID by handling the DXGKDDI_GET_CHILD_CONTAINER_ID callback. The digitizer must then use this same Container ID, typically via its USB ContainerID descriptor.

If there is a single external display, the only requirement is that the digitizer is also marked as external - no other properties need to match. Matching by Container ID is only necessary when there are multiple external displays, even if not all of them are touch/pen-enabled.

Note

If the user has multiple touch/pen-enabled displays of the same make and model connected, it is important that each display has a different Container ID, to ensure that each of the digitizers is properly mapped to the appropriate display. If multiple devices share the same Container ID, Windows will be unable to map them. If the Container ID is derived from the EDID, then the EDID must have a unique serial number for every device.

Internal displays

If there is a single internal display, the only requirement is that the digitizer is also marked as internal - no other properties need to match.

When there are multiple internal displays, Windows will match digitizers to their display using their ACPI Physical Location Description (_PLD) configuration. In order for the mapping to occur, the digitizer and display must match:

  1. Their container IDs (typically this is the "internal" container ID)
  2. Their _PLD CabinetNumber value (or if only _PLD v1 is supported, their Lid and Dock values)
  3. Their _PLD Panel value

User overrides

Windows allows a user to override their digitizer's display mapping by opening Control Panel > Hardware and Sound > Tablet PC Settings, then clicking Setup....

Container IDs

Container ID support for displays

Using Microsoft OS Container ID Descriptors

DXGKDDI_GET_CHILD_CONTAINER_ID callback function

ACPI _PLD Specification