绘制手势
绘制手势的方法是:按住一个绘制按钮,移动鼠标,然后松开。绘制期间,Input.Observer 会暂时保留这次按下。松开时,它要么运行一个操作,要么将按下交还给窗口,就像 Input.Observer 不存在一样。
绘制按钮
一开始只有右键是绘制按钮。您可以在 常规 页面上添加或移除按键:
自动化
操作
文本扩展
代码片段
沙盒
应用程序组
忽略组
手势
设置
常规
外观
安全
帮助
关于
常规
开始手势
1
绘制按钮
用于开始手势捕获的鼠标按钮。包含左键的情况不常见但有效,例如用于没有独立辅助按钮的笔或手写板输入。
左键右键中键侧键 1侧键 2
2
忽略的修饰键
按下手势按钮时如果按住其中任一键,则该次按下将跳过手势捕获。
CtrlShiftAlt
- 打开 常规 并找到 开始手势 卡片。
- 在 绘制按钮 ① 中,选择所有应当用于绘制的按键。再次选择已选中的按键即可将其关闭。
- 应用更改。
规则:
- 左键、右键、中键、侧键 1 和 侧键 2 中的任何一个都可以用于绘制,也可以同时使用多个。每个按键各自开始自己的手势。
- 如果没有选择任何绘制按钮,鼠标手势将完全关闭。热键和文本扩展会继续工作。
- 操作的手势触发器可以要求某一个绘制按钮,也可以接受 任意绘制按钮。指定了您在此处关闭的按键的触发器永远不会匹配。请参阅操作编辑器。
- 左键比较特殊。 在手势有效的窗口上,每次 5 像素或以上的左键拖动都会成为手势,因此在那里选择文本、拖动文件和移动窗口将无法使用。它适用于没有第二个按键的笔和绘图板输入。
- 交换了鼠标按键时。 当 Windows 交换了主按键和辅助按键时,名称以 Windows 为准:右键 是打开上下文菜单的那个按键,也就是物理上的左键。
- 每个绘制按钮都可以绘制自己的轨迹样式。请参阅轨迹。
按下何时开始手势
按下绘制按钮会开始手势捕获,除非以下情况之一成立。在这些情况下,按下会毫无延迟地原样传给窗口:
| 按下会直接通过的情况… | 设置位置 |
|---|---|
| Input.Observer 已关闭,或在某个窗口获得焦点时已暂停 | 托盘图标、应用程序组 |
| 按住了 忽略的修饰键 ② 中的某个键(除非您更改,否则为 Ctrl) | 忽略键 |
| 窗口位于某个忽略组中 | 忽略组 |
| 没有任何应用程序组(也没有全局组)为该窗口启用手势 | 作用范围与回退规则 |
| 按下位置在排除区域内 | 排除区域 |
| 上一个手势的轨迹仍在擦除中(仅限内置轨迹,持续一瞬间) | 轨迹 |
某个脚本要求放行下一个手势(EngineDisableNextGesture) | 内置函数 |
起作用的是 按下那一刻指针下方的顶层窗口。从浏览器内的文本框开始绘制的手势,会被视为在浏览器窗口上绘制。绘制过程中移到另一个窗口上不会改变任何事情。
单击还是手势
在指针离按下位置足够远之前,按下都不算手势:
- 最小手势移动距离 为 5 像素,按与按下点之间的直线距离计算。
- 在此之前松开: 这是一次单击。Input.Observer 会将按下和松开发送给按下点处的窗口,因此右键单击仍会打开上下文菜单。
- 移动了这么远: 从那时起它就是一个手势,即使您移回起点也是如此。
备注
高级模式。 最小手势移动距离(0 到 200 像素)位于 常规 页面的 开始手势 卡片上。设为 0 时,最轻微的移动也会形成手势。
绘制期间
- 轨迹 在笔划成为手势并且离起点移动了 8 像素后出现。它绘制在所有显示器之上,因此笔划可以从一个显示器跨到另一个显示器。请参阅轨迹。
- 提示 会显示如果现在松开将运行的操作名称。笔划持续 150 毫秒或移动 24 像素后它就会出现,跟随每一次变化,并在到目前为止的笔划不匹配任何内容时消失。提示显示的内容正是松开时会运行的内容。请参阅提示和消息。
- 按键和其他按钮会被暂时保留。 在松开之前,击键、鼠标滚轮转动和其他鼠标按键都不会到达任何窗口。按下 Ctrl、Shift、Alt 或 Win、其他鼠标按键或转动滚轮,都算作手势的修饰键(请参阅修饰键和时机);其他键则直接被丢弃。松开 Ctrl、Shift、Alt 或 Win 总是会传到窗口。停止所有操作热键仍然有效。
- 按下之前就已按住的键。 如果在绘制过程中松开了这样的键,其松开也会被暂时保留。补发手势期间松开的按键(默认打开,高级模式,常规 页面,微调 卡片)会在手势结束后发送该松开,这样窗口就不会以为该键仍处于按下状态。
结束手势
| 发生的情况 | 指针下方的窗口收到什么 | 运行什么 |
|---|---|---|
| 移动 5 像素之前松开 | 按下点处的单击 | 无 |
| 绘制后松开,且笔划匹配某个操作 | 无:这次按下已被使用 | 该操作 |
| 绘制后松开,且没有任何匹配 | 无:这次按下已被使用 | 无匹配 全局事件(如果您设置了) |
| 保持静止达到取消超时 | 按下点处的按下,然后指针移到其当前位置;随后是您自己的松开 | 无 |
| 手势达到最长手势时间 | 如果按键仍按着,则收到按下 | 无 |
在每一种已开始捕获的情况下,如果您设置了 绘制按钮已释放 全局事件,它都会在您松开时运行,但取消超时或达到最长时间之后除外。请参阅全局事件。
取消超时
当您保持静止时,取消超时会将按下交还给窗口:
- 取消超时 默认为 500 毫秒(常规,结束手势)。将其关闭可让捕获一直保持到您松开为止。其范围为 0 到 10,000 毫秒;设为 0 时,每次捕获一开始就会被取消。
- 手势期间的任何鼠标移动或按键都会使其重新开始计时,因此它只计算您保持静止的时间。在笔划中途停顿这么久会结束手势并交还按下:此时窗口看到的是用该按键进行的普通拖动。
- 被取消的手势不会运行任何内容。
备注
高级模式。 绘制时延长取消超时(默认打开)是上述重新计时规则背后的开关。关闭后,即使您一直在绘制,也必须在从按下开始计算的取消超时内完成整个手势。应用程序组可以通过其 取消超时 卡片(0 到 60,000 毫秒)为自己的窗口覆盖取消超时;请参阅应用程序组。
最长手势时间(默认为 10,000 毫秒,0 表示无限制)会结束从按下开始计算超过该时长仍未结束的任何手势,无论您在做什么。它用于应对松开从未到达 Input.Observer 的情况,例如因为您在 Ctrl+Alt+Del 屏幕上松开了按键。
匹配之后
当笔划匹配某个操作时:
- 激活手势下方的窗口(默认打开,常规,手势匹配时)会将您按下时所在的窗口置于前台,这样操作键入的任何内容都会进入该窗口。
- 操作运行,其前后包裹着任何前置和后置操作。请参阅前置和后置操作。
本页的设置
| 设置 | 页面和卡片 | 默认值 | 范围 |
|---|---|---|---|
| 绘制按钮 | 常规,开始手势 | 右键 | 任意组合,或无 |
| 忽略的修饰键 | 常规,开始手势 | Ctrl | Ctrl、Shift、Alt |
| 最小手势移动距离(高级) | 常规,开始手势 | 5 像素 | 0–200 像素 |
| 滚轮修饰时间窗口(高级) | 常规,开始手势 | 500 毫秒 | 0–10,000 毫秒 |
| 取消超时 | 常规,结束手势 | 500 毫秒 | 关闭,或 0–10,000 毫秒 |
| 绘制时延长取消超时(高级) | 常规,结束手势 | 打开 | |
| 最长手势时间(高级) | 常规,结束手势 | 10,000 毫秒 | 0(无限制)–600,000 毫秒 |
| 激活手势下方的窗口 | 常规,手势匹配时 | 打开 | |
| 补发手势期间松开的按键(高级) | 常规,微调 | 打开 |
滚轮修饰时间窗口 在修饰键和时机中说明。