数字化器显示映射

本节介绍如何将 Windows 触控数字化器或触控笔数字化器自动映射到适用于 Windows 10 及更高版本的操作系统的相应显示器。

自动映射数字化器仪及其显示的方法因内部和外部显示器而不同。

外部显示器

Windows 将使用其容器 ID 配置将外部数字化器与其显示相匹配。 Windows 使用从扩展显示标识数据 (EDID) 获取的制造商 ID、产品 ID 和序列号,自动为显示生成唯一的容器 ID。 显示可以通过处理 DXGKDDI_GET_CHILD_CONTAINER_ID 回调来替代此容器 ID。 然后,数字化器必须使用相同的容器 ID,通常通过其 USB ContainerID 描述符

如果存在单个外部显示器,则唯一的要求是数字化器也标记为外部 - 无需匹配其他属性。 仅当有多个外部显示器时,才需要按容器 ID 进行匹配,即使并非所有外部显示器都已启用触摸/笔。

注意

如果用户连接了多个具有相同品牌和型号且已启用触摸/笔功能的显示器,则每个显示器都必须有不同的容器 ID,以确保每个数字化器都正确映射到适当的显示器。 如果多个设备共享相同的容器 ID,则 Windows 将无法映射它们。 如果容器 ID 派生自 EDID,则 EDID 必须对每个设备具有唯一的序列号。

内部显示器

如果存在单个内部显示器,则唯一的要求是数字化器也标记为内部 - 无需匹配其他属性。

当有多个内部显示器时,Windows 将使用其 ACPI 物理位置说明 (_PLD) 配置将数字化器与其显示器匹配。 为了实现映射,数字化器和显示器必须匹配:

  1. 其容器 ID(通常是“内部”容器 ID)
  2. 其 _PLD CabinetNumber 值(或者,如果仅支持 _PLD v1,则为其 LidDock 值)
  3. 其 _PLD Panel

用户替代

Windows 允许用户通过打开控制面板 > 硬件和声音 > 平板电脑设置,然后单击设置...,来替代其数字化器的显示映射。

容器 ID

显示设备的容器 ID 支持

使用 Microsoft 操作系统容器 ID 描述符

DXGKDDI_GET_CHILD_CONTAINER_ID 回调函数

ACPI _PLD 规范