按钮状态转换

设备中应该会发彺某些按钮状态转换。 支持悬停的设备必须在其描述符中包含“In-range”和“Tip”用法。

下表中列出了这些设备的转换。

事件 按钮状态
设备进入范围 In-range=on; Tip=off
设备与数字化器表面接触 In-range=on; Tip=on
触点在数字化器表面上移动 In-range=on; Tip=on
触点脱离数字化器表面 In-range=off; Tip=off
触点超出范围 In-range=off; Tip=off

注意:为“范围外”事件报告的 X 和 Y 坐标必须与在检测到“范围外”事件之前最后一个“范围内”事件报告的坐标匹配。 对于设备很快“超出范围”的情况,即在同一扫描中检测到“向上”和“范围外”,则需要报告事件和数据包。 一个用于“向上”,另一个用于“范围外”。

不支持悬停的设备不需要在其描述符中包含“In-range”用法。 下表中列出了这些设备的转换。

事件 按钮状态
设备与数字化器表面接触 Tip=on
触点在数字化器表面上移动 In-range=on; Tip=on
触点脱离数字化器表面 In-range=off; Tip=off

注意:在手指从数字化器表面抬离时报告的 X 和 Y 坐标与为检测到的最后一个“移动”数据包报告的坐标必须相同。

下表中提供了支持橡皮擦和反转用法的触笔设备的转换。 只有这些是有效状态。 任何其他状态都可能会被 Windows 拒绝。

事件 按钮状态
触笔尖端正在悬停 In-range=on; Tip=off; Inverted=off; Eraser=off
触笔尖端在表面上 In-range=on; Tip=on; Inverted=off; Eraser=off
触笔尖端离开表面再次悬停 In-range=on; Tip=off; Inverted=off; Eraser=off
尖端超出范围 In-range=off; Tip=off; Inverted=off; Eraser=off
触笔的橡皮擦端正在悬停 In-range=on; Tip=off; Inverted=on; Eraser=off
触笔的橡皮擦端在表面上 In-range=on; Tip=off; Inverted=off; Eraser=on
触笔的橡皮擦端离开表面再次悬停 In-range=on; Tip=off; Inverted=on; Eraser=off
橡皮擦超出范围 In-range=off; Tip=off; Inverted=off; Eraser=off