Windows集成笔设备一般是指屏(数字化仪/笔数字化转换器)和笔(笔传感器)构成的整体。屏、笔、主机之间的连接包含了屏与笔的连接、屏与主机的连接、笔与主机的连接,集成笔的主要功能由屏与笔的连接和屏与主机的连接来实现,笔与主机的连接可以实现一些可选的扩展功能。

屏与主机的连接

屏通过USB或I2C或SPI(或其他能够提供兼容的HID驱动的总线),使用HID连接到主机上。

在微软的一些文档中,会把数字化仪(屏)和笔传感器(笔)组合在一起叫做集成笔设备。在物理层上,和主机连接的是屏(标准笔设备,不包含笔和主机的蓝牙连接)

  • Pen Reports用于实现书写和向主机传递笔的唯一标识符
  • Mouse Reports用于在Win10以前的系统上显示鼠标光标
  • Device Certification Status
  • Latency Mode用于主机通知集成笔设备何时进入高延迟(低功耗)模式

    笔与主机的连接

    笔通过蓝牙使用HID连接到主机上,主要实现触觉反馈、提笔检测、快捷按键功能。

  • Stylus Identifier用来传递笔的唯一标识符。触摸屏也会给主机传递笔的唯一标识符,因此主机系统可以将笔与触摸屏的输入报告关联起来
  • Haptic Parameters/Waveform/Configuration用于实现触觉反馈(即某些操作会使笔身振动)
  • Keyboard Reports用于实现提笔检测和快捷按钮
    • 放入/取出笔槽时报告WIN+CTRL+F19/WIN+CTRL+F20的键盘组合按键
    • 单击/双击/长按快捷按钮时报告WIN+F20/WIN+F19/WIN+F18的键盘组合按键

笔与主机的蓝牙无缝配对

Surface pro8和pro11的笔看标签应该是同一个型号的,两支笔在两个平板上都能自动连接(放入充电槽或者靠近屏都可以),已经有笔连接的情况下,另一支笔也可以自动连接。

hp的笔也是mpp协议的,在surface上可以书写,但不能自动连接。

把surface的笔放在旁边,然后用hp的笔在surface上书写,不能自动连接上surface的笔,这说明笔需要发送某些信息才能够触发自动连接。(笔靠近屏时可以通过mpp协议发送信息给屏,通过屏传递给系统,放入充电槽时怎么发送给系统?通过NFC传递给充电槽,由充电槽传递给系统?)

实现笔与系统的蓝牙无缝配对需要相关的设备实现Microsoft Bluetooth Out-of-Band集合(这是Vendor-defined类型的集合,usage_page为0xFFF4,usage_id为0x01)。该集合应由屏或充电槽实现。

Device Capability Report用于主机向设备报告自己是否支持无缝配对,并获取设备是否支持无缝配对

Device Bluetooth Report用于向主机报告笔的蓝牙参数

Host Bluetooth Report用于主机向设备提供自己的蓝牙参数

Pairing Key Report用于主机向指定的笔发送蓝牙配对密钥

无缝配对的一般流程:

笔与屏的连接

笔与屏之间没有一一对应的连接关系,只要符合约定的电气传输的协议就能够进行通信。笔输出的是经过编码的高压打码信号,触摸屏按照约定的协议对主动笔的信号进行采样和解码,得到笔尖位置、压力等信息。用于约定笔和触摸屏之间电气信号的交互流程、时序、频点等信息的就是主动笔协议(也就是说,协议没有定义触摸屏/主动笔如何跟系统交互),目前使用比较广泛的是微软主导的MPP协议和谷歌主导的USI协议。

笔到触摸屏的通信使用笔尖的编码脉冲,触摸屏到笔的通信使用整屏的编码脉冲

主动式电容笔和被动式电容笔的最大区别在于,主动式电容笔的内部电路会通过电极向触摸屏发送电信号,从而实现更高性能的书写。主动式电容笔并不会以无线传输的方式与触摸屏或系统进行通信。和被动式电容笔的基本原理一样,触摸屏需要通过检测它和笔尖之间的电信号来识别触摸。区别在于,使用被动式电容笔时,电信号是触摸屏-笔尖-人-地通路产生的,需要较粗的笔尖来产生电信号,而使用主动式电容笔时,电信号是笔的内部电路产生后通过笔尖电极传输到触摸屏的,笔尖可以做到很细。

MPP历史版本

  • mpp1.51:支持单个传输电极并提供 1024 级压力灵敏度
  • mpp2.0:支持两个传输电极以实现倾斜功能,并将压力灵敏度提高到 2048 级
  • mpp2.5:支持触摸和显示驱动程序集成(TDDI)
  • mpp2.6:添加了蓝牙和触觉反馈功能(通过带上行的笔协议实现触觉反馈跟mpp有关,通过蓝牙实现触觉反馈跟mpp无关)

参考链接

MPP_2.0_TC.pdf

应用于电容笔的双协议切换方法_参考网

Windows 笔无缝配对实施指南_ Microsoft Learn

触觉笔实施指南_Microsoft Learn

集成笔设备所需的 HID 顶级集合_Microsoft Learn

Windows集成笔设备的更多相关文章

  1. Windows 数字化器类输入设备--笔设备分析(1)(原创)

    一.前言: 参考microsoft公司的链接:https://developer.microsoft.com/zh-cn/windows/hardware 将对Windows数字化器类输入设备--笔设 ...

  2. 没有了SA密码,无法Windows集成身份登录,DBA怎么办?

    一同事反馈SQL无法正常登录了,以前都是通过windows集成身份验证登录进去的(sa密码早忘记了),今天就改了服务器的机器名,现在无论如何都登录不进去. SQL登录时如果采用windows集成身份验 ...

  3. Windows集成认证全过程

    开发环境:win7旗舰版,vs2013 服务器环境:windows server 2008 R2 IIS7.5 目的:在局域网搭建一个网站,用户必须使用域帐号登录网站访问 Step 1: 创建proj ...

  4. [转]没有了SA密码,无法Windows集成身份登录,DBA怎么办?

    没有了SA密码,无法Windows集成身份登录,DBA怎么办?  原文:http://www.cnblogs.com/i6first/p/3512779.html 一同事反馈SQL无法正常登录了,以前 ...

  5. 配置ArcGIS Server使用Windows AD Windows集成身份认证

    1.配置 ArcGIS Server 以使用 Windows Active Directory 用户和角色. 2.填写Windows域账号凭证,对账号的要求如下: 需要能读取域中的用户和组,一般从属于 ...

  6. SQL SERVER SA密码忘记,windows集成身份验证都登录不了不怎么办

    有时候SQL SERVER 的SA强密码策略真的很烦人,不同的系统密码策略又不一样,导致经常会忘记密码,这不,这回我本机的SQL SERVER很久不用了,彻底忘了密码是什么.查了一下资料还是找到了解决 ...

  7. windows I/O设备

    当外部设备连接到windows后,设备所连接到的集线器驱动程序将为设备分配硬件ID,然后Windows 使用硬件 Id 查找设备与包含设备驱动程序的驱动程序包之间最近的匹配项. 如果查找到,设备就可以 ...

  8. windows集成身份验证

    集成windows身份验证 这种验证方式里面也分为两种情况 NTLM验证 这种验证方式需要把用户的用户名和密码传送到服务端,服务端验证用户名和密码是否和服务器的此用户的密码一致.用户名用明码传送,但是 ...

  9. Windows驱动开发-设备读写方式

    设备读写方式共三种: 方式 Flag 特点 缓冲区方式读写 DO_BUFFERED_IO I/O管理器先创建一个与用户模式数据缓冲区大小相等的系统缓冲区.而你的驱动程序将使用这个系统缓冲区工作.I/O ...

  10. windows驱动开发-设备扩展

    设备对象Device_Object记录通用设备信息,另外一些信息记录在设备扩展里,设备扩展由程序员自己定义,由程序员指定内容和大小,由I/O管理器创建,并保存在非分页内存中. 驱动程序中,尽量避免使用 ...

随机推荐

  1. DotTrace系列:3. 时间度量之墙钟时间和线程时间

    一:背景 1. 讲故事 在用 dotTrace 对程序进行性能评测的时候,有一个非常重要的概念需要使用者明白,那就是 时间度量 (Time measurement),主要分为两种. 墙钟时间 线程时间 ...

  2. XSY3490 / ZROI P618 广义线段树 + 莫队 + 点分树

    \(Solution\) 为了与普通区间区分,我们称线段树上某个结点 \([l, r]\) 为 块 \([l, r]\) 考虑模拟线段树区间查询 \([l, r]\) 时下放到的底部端点,必然是一堆连 ...

  3. SQL Server高级进阶之索引碎片维护

    SELECT OBJECT_SCHEMA_NAME(B.OBJECT_ID) 架构,OBJECT_NAME(B.OBJECT_ID) 表名,B.NAME 索引名,ROUND(A.AVG_FRAGMEN ...

  4. Oracle并发控制

    并发与锁定 当多用户同一时刻访问相同的数据库资源时,将产生并发.并发极易破坏数据的一致性.锁定是处理并发的重要手段,用户在修改某一资源前,必须首先获得资源的修改权.而这种修改权具有排他性. 并发与锁定 ...

  5. Luogu P8800 [蓝桥杯 2022 国 B] 卡牌 题解

    P8800 [蓝桥杯 2022 国 B] 卡牌 我们看到这样一句话: 请问小明最多能凑出多少套牌? 很明显用贪心可以做了. 首先要理解一个东西,卡牌套数等于最少的卡牌牌数.因为一套卡牌需要所有卡牌各一 ...

  6. 文献阅读 A Subdivision Scheme for Hexahedral Meshes

    简介 本文提出了一种六面体体细分的方案,可以将六面体分成比较光顺的六面体.同时增加六面体的数量且不改变六面体的拓扑. 本文作者 Bajaj =.= 论文方案 主要由两个步骤组成 split & ...

  7. CF862E Mahmoud and Ehab and the function

    首先 \(f(j)=\displaystyle|\sum_{i=1}^{n}(-1)^{i-1}a_i+(-1)^ib_{i+j}|=|\sum_{i=1}^{n}(-1)^{i-1}a_i+\sum ...

  8. 如何理解hadoop Zookeeper Phoenix HBase Hive Mapreduce HDFS spark yarn之间的关系

    以前电商平台数据量很小,现在有一份 PB 级的超大数据需要分析统计,比如对用户每日的关键词搜索进行词频统计,能够精琢定位用户需求. 我们以前的方法是使用 oracle 等传统数据库或者写 python ...

  9. IntelliJ IDEA插件IDE Feature Trainer

    这个插件就是个关于IDEA的一些基础快捷键教学,很多快捷键都还没有,比如Ctrl+Alt+← 编辑器基础(Editor Basics) 选择,删除,复制,移动行,收缩和展开代码. Ctrl+Shift ...

  10. BSGS代码简叙

    #include <bits/stdc++.h> using namespace std; #define ll long long const int maxn=1e6+7; const ...