Mouse操作:

preview mouse down, StylusDevice:null

mouse down,StylusDevice:null

preview mouse up, StylusDevice:null

mouse up,StylusDevice:null

Stylus操作:

preview StylusDown , StylusDevice:2

StylusDown, StylusDevice:2

preview mouse down, StylusDevice:2

mouse down,StylusDevice:2

preview StylusUp, StylusDevice:2

StylusUp, StylusDevice:2

preview mouse up, StylusDevice:2

mouse up,StylusDevice:2

Touch操作:

preview StylusDown , StylusDevice:4

StylusDown, StylusDevice:4

preview TouchDown , TouchDevice:4

TouchDown , TouchDevice:4

preview mouse down, StylusDevice:4

mouse down,StylusDevice:4

preview StylusUp, StylusDevice:4

StylusUp, StylusDevice:4 preview

TouchUp , TouchDevice ID:4

TouchUp , TouchDevice:4

preview mouse up, StylusDevice:4

mouse up,StylusDevice:4

解读:

1,鼠标Mouse操作不会引发触笔事件或触摸事件。其鼠标事件参数e.StylusDevice==null。

2,触笔Stylus操作先引发触笔事件,然后引发鼠标事件。触笔事件参数e.StylusDevice.Id有整数值,与由其引发的鼠标事件参数e.StylusDevice.ID相同。

3,触摸Touch操作先引发触笔事件,然后引发触摸事件,最后引发鼠标事件。Stylus事件、Mouse事件的e.StylusDevice.ID与Touch事件的e.TouchDevice.ID相同。

4,触摸Touch不可以Capture,所以不能保证TouchUp事件被触发。但TouchUp必然伴随StylueUp。为保证TouchUp被处理,应对Touch引发Stylus进行Capture,处理相应的StylusUp事件。

5,因为4,我们处理Touch操作,除了PreviewTouchDown和TouchDown,应使用Stylus事件。

6,平板电脑手写板手触InkCanvas或自定义墨迹控件,当需要丢弃手指误触形成的墨迹时,可以对墨迹是由笔还是触摸形成的进行判断,判断依据是伴随PreviewStylusDown事件是否出现了PreviewTouchDown,两者时间间隔应很短,且e.StylusDevice.ID=e.TouchDevice.ID。

7,触摸状态,出现笔悬停,自动引发StylusUp事件

Mouse Touch Stylus的更多相关文章

  1. ExtJS笔记 Using Events

    Using Events The Components and Classes of Ext JS fire a broad range of events at various points in ...

  2. Android 4.0 事件输入(Event Input)系统

    参考:http://blog.csdn.net/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2. ...

  3. 各式 Web 前端開發工具整理

    程式碼編寫工具 (Coding Tools) 工作流程/建置/組合 (Workflow/Builds/Assemblers) lumbar brunch grunt lineman yeoman Ta ...

  4. puppeteer(五)chrome启动参数列表API

    List of Chromium Command Line Switches https://peter.sh/experiments/chromium-command-line-switches/ ...

  5. CEF 支持的命令行参数

    参考:https://peter.sh/experiments/chromium-command-line-switches/ List of Chromium Command Line Switch ...

  6. MotionEvent分析及ImageView缩放实现

    这个类在各种View和用户的手势操作之间的交互存在很大的自定义空间.要理解清楚这个类的一些特性和意义,对自定义的新型控件很有帮助 先翻译一下开发者文档的描述 Overview Motion event ...

  7. Kinect 开发 —— 骨骼追踪进阶(上)

    Kinect传感器核心只是发射红外线,并探测红外光反射,从而可以计算出视场范围内每一个像素的深度值.从深度数据中最先提取出来的是物体主体和形状,以及每一个像素点的游戏者索引信息.然后用这些形状信息来匹 ...

  8. What is Away3D

    做了几个基于Flash平台的3D的项目,一路走来收获颇多.Away3D作为一个开源的Flash3D引擎,在3D页游领域,无疑是当前OGRE在国内的地位. 翻译出了多年前做Away3D中国社区的时候翻译 ...

  9. Three.js制作360度全景图

    这是个基于three.js的插件,预览地址:戳这里 使用方法: 1.这个插件的用法很简单,引入如下2个js <script src="js/three.min.js"> ...

随机推荐

  1. Linux系统之更改默认块大小

    查看操作系统块大小:#tune2fs  -l /dev/sda1 |grep 'Block size'               ( tune2fs  -l  /dev/sda1可以查看更多相关文件 ...

  2. Kotlin语言学习笔记(5)

    委托模式(Delegation) 类的委托 interface Base { fun print() } class BaseImpl(val x: Int) : Base { override fu ...

  3. 面向对象三大特性一一继承(inheritance)和组合(Composition)

    记住2句话(常识),像个正常人思考! 1.“  is-a ”关系 用 继承! 学生是人,学生继承人这个类, 2. “has-a ”关系 用 组合!电脑有显卡,那么我们就在计算机类中增加显卡属性来复用显 ...

  4. git 拉取某个分支到本地

    git 拉取其实只需要 git fetch origin xxx. git pull origin xxx即可

  5. System.Data.SqlClient.SqlError: 尚未备份数据库的日志尾部

    SQL还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "***" 的日志尾部.如果该日志包含您不希望丢失的工作,请使用 BAC ...

  6. Linux下启动Tomcat启动并显示控制台日志信息

    Linux下如何启动Tomcat像Windows启动并显示控制台日志信息一样? Windows下启动tomcat,一般直接运行startup.bat,启动后如下图所示: Linux下直接启动./sta ...

  7. Appuim学习路-Appuim介绍

    (学一个东西,总的知道它支持什么.为什么要选择它吧?所以我就去看github上的介绍了.发现大家介绍的来源大多来自于此)   Appium是一个开源的自动化框架,是跨平台的,允许所有平台使用同一套AP ...

  8. Redis网络协议

    Redis网络协议较为简单,易于阅读. 命令或数据已\r\n结尾,但除了状态回复,其他数据都是二进制安全的(包含长度) 头部如下: + 正确的状态信息,具体信息是当前行+后面的字符. -  一条错误信 ...

  9. php的反射

    我们可以在PHP运行时,通过PHP的反射动态的获取类的方法.属性.参数等详细信息.   用途:插件的设计,文档的自动生成,扩充PHP语言. <?php class Person { const ...

  10. memcache缓存失效

    缓存过期 memcached在处理过期的缓存项时,采用懒惰模式处理方法. 缓存项过期,不会立即删除,直到对该缓存项执行了get操作,才会删除过期缓存. > set key 0 10 > t ...