应用程序手势和语义行为
应用程序手势作为 Windows Vista SDK 的一部分提供。 Microsoft 手势识别器旨在识别这些手势。 默认情况下,不启用手势。 应用程序必须选择要启用的手势。 除了识别手势外,Microsoft 手势识别器还提供替换项以及置信度值作为识别结果的一部分。 若要在应用程序中使用这些手势,必须使用 平板电脑 API 参考从应用程序中订阅它们。 通过 API,可以选择这些手势的子集,并查询特定属性,例如笔划数、热点和其他属性,以及备用项及其置信度值。
对于使用这些手势的笔感知应用程序,不会发送鼠标消息。 相反,手势事件会发送到这些应用程序,通知他们这些手势。 然后,应用程序会执行类似于基于鼠标的操作来响应这些手势。
下表列出了 Microsoft 手势识别器支持的应用程序手势。 若要确保用于应用程序之间常见操作的手势的一致性,应遵循以下建议:
- Action 是与手势关联的建议语义行为。
- 对于下表中标记为“已修复”的手势,Microsoft 建议不要更改建议的语义行为。 如果应用程序不需要指定的语义行为,Microsoft 建议不要将手势用于其他操作或语义行为。
- 对于标记为“特定于应用程序”且具有建议语义行为的手势,Microsoft 建议你支持建议的语义行为(如果应用程序中存在该功能)。 若要保持应用程序之间的一致性,如果应用程序中存在与建议语义对应的功能,请不要为此类手势选择不同的语义行为。 但是,如果应用程序没有与建议的语义对应的功能,则应随意将相关语义行为与手势相关联。 这也适用于特定于应用程序且没有建议语义的所有手势。
- 手势的热点是手势几何图形中的一个区分点。 热点可用于确定执行手势的位置。 手势 API(特别是 Gesture 对象的 HotPoint 属性)使确定给定手势的热点成为可能。 但是,并非所有手势都有特定的区分热点。 对于没有特定区分热点的用户,起始点报告为热点。
注意
一些手势确实有一个与众不同的热点,恰好是起点。 这些在表中是可区分的。
手势 | 笔势名称 | 建议的行为 | 已修复或特定于应用程序 | 热点 | 说明 |
---|---|---|---|---|---|
暂存 |
擦除内容 |
固定 |
起点 |
使笔划尽可能水平,并绘制至少三个笔划。 如果手势的高度增加,则前后笔划的数量也需要增加。 |
|
Triangle |
插入 |
特定于应用程序的 |
起点 |
在一次笔划中绘制三角形,而无需抬起笔。 确保三角形的顶部向上指向。 |
|
Square |
操作项 |
特定于应用程序的 |
起点 |
从左上角开始绘制正方形。 用一个笔划绘制正方形,而无需抬起笔。 |
|
星形 |
操作项 |
特定于应用程序的 |
起点 |
用 5 分绘制star。 只需一次笔划即可执行此操作,无需抬起触控笔。 |
|
检查 |
签出 |
特定于应用程序的 |
角 |
检查的向上笔划的长度必须是较小的向下笔划的 2 到 4 倍。 |
|
Curlicue |
剪切 |
固定 |
起点是区分热点 |
从左下角到右上角绘制卷曲。 在要剪切的单词上开始卷曲。 |
|
Double-Curlicue |
复制 |
固定 |
起点是区分热点 |
以一个角度绘制双卷曲,从左下角到右上方。 在要复制的单词上启动 double-curlicue。 |
|
圆形 |
特定于应用程序的 |
特定于应用程序的 |
起点 |
在一次笔划中绘制圆圈,无需抬起笔。 从最顶端开始绘制圆圈。 |
|
双圆 |
粘贴 |
固定 |
起点 |
绘制彼此重叠的两个圆圈。 只需一次笔划即可执行此操作,无需抬起触控笔。 |
|
左半圆 |
撤消 |
固定 |
起点是区分热点 |
确保从右到左绘制半圆。 弧线的两端应位于同一水平线上。 |
|
右半圆 |
重做 |
固定 |
起点是区分热点 |
确保从左到右绘制半圆。 弧线的两端应位于同一水平线上。 |
|
西文插入记号 |
粘贴、插入 |
特定于应用程序的 |
先 端 |
绘制长度相等的插入点两侧。 确保角度锐利,并且该点未舍入为曲线。 |
|
倒插入点 |
插入 |
特定于应用程序的 |
先 端 |
绘制长度相等的插入点两侧。 确保角度锐利,并且该点未舍入为曲线。 |
|
V 形左 |
特定于应用程序的 |
特定于应用程序的 |
先 端 |
绘制长度相等的 V 形的两侧。 确保角度锐利,并且该点未舍入为曲线。 |
|
雪佛龙右 |
特定于应用程序的 |
特定于应用程序的 |
先 端 |
绘制长度相等的 V 形的两侧。 确保角度锐利,并且该点未舍入为曲线。 |
|
向上箭头 |
特定于应用程序的 |
特定于应用程序的 |
箭头头 |
不要在两个以上的笔划中绘制箭头。 在一个笔划或两个笔划中绘制箭头,其中一个笔划是线条,另一个是箭头头。 不支持将头部作为三角形写入的单笔划箭头。 |
|
向下箭头 |
特定于应用程序的 |
特定于应用程序的 |
箭头头 |
不要在两个以上的笔划中绘制箭头。 在一个笔划或两个笔划中绘制箭头,其中一个笔划是线条,另一个是箭头头。 不支持将头部作为三角形写入的单笔划箭头。 |
|
向左箭头 |
特定于应用程序的 |
特定于应用程序的 |
箭头头 |
不要在两个以上的笔划中绘制箭头。 在一个笔划或两个笔划中绘制箭头,其中一个笔划是线条,另一个是箭头头。 不支持将头部作为三角形写入的单笔划箭头。 |
|
向右箭头 |
特定于应用程序的 |
特定于应用程序的 |
箭头头 |
不要在两个以上的笔划中绘制箭头。 在一个笔划或两个笔划中绘制箭头,其中一个笔划是线条,另一个是箭头头。 不支持将头部作为三角形写入的单笔划箭头。 |
|
向上 |
特定于应用程序的 |
特定于应用程序的 |
起点 |
此手势是单一的快速向上轻拂。 此手势由 Flicks 手势使用。 |
|
向下 |
特定于应用程序的 |
特定于应用程序的 |
起点 |
此手势是单次快速向下轻拂。 此手势由 Flicks 手势使用。 |
|
左 |
Backspace |
固定 |
起点 |
此手势是向左快速轻拂的单个手势。 此手势由 Flicks 手势使用。 |
|
Right |
Space |
固定 |
起点 |
此手势是向右快速轻拂的单个手势。 此手势由 Flicks 手势使用。 |
|
向上向左 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从向上笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
右上 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从向上笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
向左下 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从下划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
右下 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从下划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
向左向上 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从左笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
左下 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从左笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
向右向上 |
输入法编辑器 (输入法) 转换 |
固定 |
方向更改点 |
从右笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
右下 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从右笔划开始,在单个笔划中绘制此手势。 确保两侧长度相等,且角度为直角。 |
|
向上-向下 |
撤消 |
固定 |
方向更改点 |
从向上笔划开始,在单个笔划中绘制此手势。 将两个笔划绘制得尽可能接近。 |
|
向下向上 |
特定于应用程序的 |
特定于应用程序的 |
方向更改点 |
从下划开始,在单个笔划中绘制此手势。 将两个笔划绘制得尽可能接近。 |
|
左-右 |
向左移动光标 |
固定 |
方向更改点 |
从左笔划开始,在单个笔划中绘制此手势。 将两个笔划绘制得尽可能接近。 |
|
Right-Left |
向右移动光标 |
固定 |
方向更改点 |
从右笔划开始,在单个笔划中绘制此手势。 将两个笔划绘制得尽可能接近。 |
|
向上向左长 |
减少缩进 |
固定 |
方向更改点 |
从向上笔划开始,在单个笔划中绘制此手势。 左笔划的长度是向上笔划的两到四倍,两个笔划是直角。 |
|
向上向右长 |
Tab |
固定 |
方向更改点 |
从向上笔划开始,在单个笔划中绘制此手势。 右笔划的长度是向上笔划的 2 到 4 倍,两个笔划是直角。 |
|
向下-左-长 |
Enter |
固定 |
方向点更改 |
在从向下笔划开始的单笔划中绘制此笔势。 左笔划的长度是向下笔划和两个笔划的直角的两到四倍。 |
|
右下-长 |
Space |
固定 |
方向点更改 |
在从向下笔划开始的单笔划中绘制此笔势。 右笔划是向下笔划和两个笔划直角的两到四倍。 |
|
惊叹号 |
特定于应用程序的 |
特定于应用程序的 |
线条的中心 |
绘制线条后不久绘制点,并将其放置在靠近线条的位置。 |
|
点击 |
单击 |
固定 |
起点是区分热点 |
快速点击。 |
|
双击 |
左键双击 |
固定 |
起点是区分热点 |
快速点击,点击时尽可能靠近彼此。 |
注意
除了作为系统手势外,还支持将点击和双击作为应用程序手势。 这是为了解决你可能想要启用具有点击或双击作为其一部分的应用程序手势的方案。 此类手势的一个示例是感叹号手势。 在这种情况下,请启用点击应用程序手势,但不侦听点击系统手势。 这允许侦听单个组件,该组件可以识别和区分手势中的点击和点击。 在手势内点击的情况下,只会识别整个手势。