zoukankan      html  css  js  c++  java
  • Windows 数字化器类输入设备--笔设备分析(1)(原创)

    一、前言:

    参考microsoft公司的链接:https://developer.microsoft.com/zh-cn/windows/hardware

    将对Windows数字化器类输入设备--笔设备进行分析

    触摸界面在各类设备上随处可见,从移动电话、平板电脑、网亭到 30 英寸的水平/垂直显示器。

    通过对microsoft提供的适用于各种 Windows 触摸技术的实现和验证指南学习,进一步了解,便于研发。

    二、笔实现指南

    2.1Windows 笔设计

    与用户交互的物理笔设备可能具有多种工业设计。但是,所有兼容集成的 Windows 10 笔设备具有压力敏感笔尖和擦除提示

    擦除提示可以作为笔上的物理按钮或末端擦除按钮实现(类似于传统的铅笔)。

    下图说明了这些潜在的实现;左侧带有末端擦除按钮的笔和右侧带有擦除按钮的笔。

    2.2设备总线连接

    集成的 Windows 笔设备可以使用 Microsoft 提供的内置驱动程序来使用 HID over USB 或 HID over I²C 连接到其 Windows 主机。

    你还可以使用想要的任何其他总线,只要你为笔设备提供的所需第三方 HID 微型端口驱动程序兼容 Windows。

    下图显示了适用于 Windows 笔设备的 Windows 10 驱动程序堆栈。

    其中重点关注HID over USB 技术;

    基本方案是:

    数位板硬件上采用的是电磁式感应原理,在光标定位及移动过程中,完全是通过电磁感应来完成的。
    数位板的板子内,有一块电路板,俗称天线板,上面有横竖均衡排列的铜线条,将数位板切割成一定数量的正方形,板面上方产生均衡的纵横交错的,笔尖在数位板上移动的时候,切割磁场,从而产生电信号,通过多点定位,数位板芯片就可以精确的确定数位板笔尖的位置。
    因此数位板光标移动过程中笔不需要接触数位板就可以移动,感应高度一般为15毫米。有源无线的数位板原理和无源无线的有一定区别,有电池的笔本身可以释放出一定的磁场,而无电池的笔则通过将数位板产生的磁场反射来完成。压感产生于笔中的压力电阻,压感通过磁场信号反馈到数位板上。

    参考技术链接:https://baike.baidu.com/item/%E6%95%B0%E4%BD%8D%E6%9D%BF/980649?fr=aladdin

    2.3电源管理

    电源消耗

    各种集成 Windows 笔电源模式的电源消耗要求由 OEM 或系统组装商制定。但是,Windows 提供的设备可帮助平衡电源效率和响应延迟。

    I²C 设备(非重点关注)

    通过 I²C 连接的集成 Windows 笔设备可以实现对最多四种不同电源状态的支持:

    • 活动
    • 空闲
    • 睡眠或准备唤醒(两者皆可选)
    • 关闭

    下图显示了四种电源状态以及造成状态转换的设备活动。

    活动状态

    Active 状态定义为笔处于屏幕表面的范围内的设备操作模式,或最近 30 秒有活动的操作模式。当电源应用到笔设备,然后设备启动完成之后,该设备应准备就绪并处于 Active 电源状态。

    空闲状态

    Idle 状态定义为最近 30 秒内未发生任何活动的设备操作模式。

    在此模式下设备会选择降低其扫描率以降低电源消耗,同时仍遵守此模式的按下延迟要求。设备检测到活动后,它应转换回 Active 状态。

    睡眠(准备唤醒)状态

    Sleep 状态定义为主机向设备发送 HID I²C“SET_POWER SLEEP”命令后设备所进入的操作模式。

    在此模式下,设备可以选择显著降低其扫描率以降低电源消耗,同时仍能够断言中断以唤醒系统,从而响应合格活动。集成 Windows 笔设备应确保中断不针对虚假触点断言,因为此类触点将导致意外系统唤醒。此模式不存在按下延迟要求。

    该设备在接收到来自主机的 HID I²C “SET_POWER ON”命令后应转换为 Active 状态。

    关闭状态

    Off 状态定义为设备完全关闭其电源的操作模式。当设备接通电源,然后完成设备启动之后,该设备应准备就绪并处于活动电源状态。设备启动应在计算机屏幕初始化并启用前完成。

    在 Off 状态下,设备不应消耗任何电源。

    USB 设备

    通过 USB 连接到主机的集成 Windows 笔设备可以实现对最多四种不同电源状态的支持:

    • 活动
    • 空闲
    • 睡眠或准备唤醒(两者皆可选)
    • 关闭

    下图显示了四种电源状态以及造成状态转换的设备活动。

    活动状态

    活动状态定义为主机未暂停设备的设备操作模式。当电源应用到笔设备,然后设备启动完成之后,该设备应准备就绪并处于活动电源状态。

    设备应遵守此模式的触点按下延迟和触点移动延迟要求。

    空闲状态

    空闲状态定义为以下情况下的设备操作模式:在主机定义的时间段内未发生接触或按钮活动,而设备因此暂停时。这称为“USB 选择性暂停”。

    通过 USB 连接到其主机的所有集成 Windows 笔设备都应该支持选择性暂停。此类设备应通过 Microsoft 操作系统描述符报告此功能。

    在此模式下,笔设备会选择降低其扫描率以减少电源消耗,同时仍遵守此模式的按下延迟要求。

    设备检测到合格活动后,它应发出远程唤醒信号。从检测到活动开始,设备应当缓冲至少相当于 100 毫秒的接触报告,以确保在 USB 主控制器恢复时丢失极小甚至不丢失输入。

    睡眠(准备唤醒)状态

    睡眠状态定义为主机已转换为 S3 或连接待机的设备操作模式。此状态通过延迟模式功能报告向笔设备指示,值为“1”表示允许的最大延迟。设备在检测到活动时应退出此高延迟模式,并响应“主机恢复”。

    在此模式下,设备可以选择显著降低其扫描率以减少电源消耗,同时仍能发出远程唤醒信号(响应合格活动)来唤醒系统。集成 Windows 笔应确保远程唤醒不会因为响应虚假触点而发出信号,因为这将导致意外系统唤醒。此模式不存在触点按下延迟要求。

    关闭状态

    关闭状态定义为该设备完全关闭其电源的设备操作模式。当设备接通电源,然后完成设备启动之后,该设备应准备就绪并处于活动电源状态。设备启动应在初始化并启用计算机屏幕前完成。

    关闭状态下,笔设备不应消耗任何电源。

    2.4笔协议实现

    有关 HID 协议的信息,请参阅以下资源:

    根据 Windows 10 HLK 要求,如果你希望笔设备通过备用总线进行连接,则可能需要第三方 HID 微型端口驱动程序,并且受到支持。你只需在集成 Windows 笔设备固件中报告本主题描述的使用方法。

    Windows 将使用固件及其 HID 驱动程序启用设备的笔和墨迹功能,并且还会向 Windows 应用程序提供访问该设备的权限。

    示例报告描述符主题将提供示例描述符。

    2.4.1所需的 HID 描述符

    2.4.2所需的 HID 顶级集合

    2.4.3Windows 笔状态

    2.4.4示例报告描述符

    三、笔验证指南

  • 相关阅读:
    FastDfs安装
    groovy学习(二)
    jenkins(一)jenkins使用教程
    jenkins(二)Pipeline语法速成
    groovy学习(一)
    Docker笔记(一)
    运维笔记(一)
    Maven管理(一)
    工厂模式案例与理解
    python 探測端口
  • 原文地址:https://www.cnblogs.com/linxw-blog/p/10584657.html
Copyright © 2011-2022 走看看