导入和导出
导出会将全部或部分配置写入一个文件,您可以保存、共享或将其带到另一台计算机上。导入会读取这样的文件,向您显示它将做出的每项更改,并且在您同意之前不做任何更改。两者都位于配置窗口标题栏的 ⋯ 菜单中,旁边还有 从 StrokesPlus.net 导入…。
该文件是一个纯文本配置文件,格式与您自己的 config.toml 相同,只包含您所选的部分。您手动编写的、包含 config.toml 部分节的文件也可以以同样的方式导入。
导出
- 打开 ⋯ 菜单并选择 导出… ②。
- 在 选择要导出的内容 中,勾选您需要的内容。一开始没有任何选中项;全选 和 全不选 可以帮上忙,按名称筛选… 可以查找项目。Space 会勾选所选项目。
- 选择 导出… 并选择保存文件的位置(默认为
input-observer-export.toml)。
可以导出的内容:
| 类别 | 其下包含的内容 |
|---|---|
| 应用程序组 | 每个应用程序组,包含一个 组设置 项(其窗口规则、排除区域、配置方案、前置和后置脚本以及开关),以及按操作类别分文件夹存放的操作 |
| 手势 | 每个手势形状 |
| 配置方案 | 每个手势配置方案 |
| 代码片段 | 每个代码片段,按类别分文件夹存放 |
| 排除区域 | 适用于所有窗口的区域 |
| 全局事件 | 每个全局事件,以及全局前置和后置脚本 |
| 外观 | 提示窗口、手势轨迹和显示消息 |
| 设置 | 常规设置、手势匹配和文本扩展 |
- 选中项所需的内容会一起导出。 选中的操作或组所使用的手势或配置方案会自动选中,并且无法取消选中;它会显示有多少个选中项在使用它。选中的脚本按名称调用的代码片段会自动选中,但您可以取消选中。如果某个脚本调用了您的配置中没有的代码片段,导出会在写入文件后加以说明。
- 组设置连同其部分操作 会被导出为只包含这些操作的组。没有组设置的操作会单独导出,导入时会询问要将它们放入哪个组。
- 勾选所有内容 会导出整个配置。
- 永远不会导出: 插件、AutoHotkey 设置、密码记住的时长,以及 随 Windows 启动。这些内容属于某一台计算机,或者会让共享的文件选择 Input.Observer 要运行的程序。您的许可证根本不在您的配置中。
- 导出始终是纯文本,即使您的配置受密码保护也是如此;对话框会发出警告。任何能打开该文件的人都可以阅读您的脚本。
导入
- 打开 ⋯ 菜单并选择 导入… ①,然后选择文件。
- 导入 预览会列出文件中的所有内容以及每一项将会如何处理。对预览询问的每一项作出决定(见下文)。
- 选择 导入。
- 结果会作为未保存的更改显示在配置窗口中。检查一遍,然后选择 应用 或 保存并关闭 以保留,或者选择 放弃 以舍弃。
| 操作 | ||
|---|---|---|
| 关闭标签页 | 已存在于您的配置中 | 覆盖 |
| 粘贴为纯文本 | 新建 | 添加 |
每一项会如何处理
文件中有而您的配置中没有的项目会被添加。当某一项与您已有的项目匹配时,预览会询问 ②,在每个这样的项目都作出决定之前,导入 一直不可用。全部覆盖 和 全部保留 会一次性决定所有未决项目。
| 项目 | 何时与您的项目匹配 | 选项 |
|---|---|---|
| 手势 | 是同一个手势(它来自您的配置) | 覆盖(采用文件中的形状和名称)或 保留您的版本 |
| 手势 | 另一个手势具有相同的名称 | 保留您的版本、覆盖 或 并列添加。选择前两项时,文件中的操作会使用您的手势。 |
| 操作、配置方案 | 是同一个项目 | 覆盖、保留您的版本 或 作为副本导入(配置方案的副本会获得一个以 -1、-2… 结尾的新名称) |
| 应用程序组 | 是同一个组;文件中的全局组总是与您的全局组匹配 | 仅针对组设置选择 覆盖 或 保留您的版本。其操作会逐一列出并合并到您的组中,因此您那些文件中没有的操作会保留下来。 |
| 代码片段 | 是同一个代码片段 | 覆盖、保留您的版本 或 作为副本导入。名称已被您另一个代码片段使用的代码片段会在名称后加上 -1、-2… 后添加。 |
| 设置、全局事件、全局前置或后置脚本 | 始终(每种只有一个) | 覆盖 或 保留您的版本。文件中的设置节只会更改其中包含的设置。 |
| 排除区域(所有窗口) | 永不 | 始终添加 |
文件中的操作会进入您配置中具有相同标识的组,否则进入您的全局组;当操作在没有其组的情况下到达时,预览会询问。当某一项获得新名称或新标识时,文件中所有引用它的内容都会相应更新,包括脚本中以普通名称写出的代码片段调用。
合并还是替换
当文件是一个完整的配置时,预览会提供 将其合并到您的配置中(上述规则)或 用它替换您的配置 ①。替换会使该文件成为您的配置。无论哪种方式,插件、AutoHotkey 设置、密码记住的时长以及 随 Windows 启动 都会保留其当前值。
什么会阻止导入
导入要么全部成功,要么什么都不做。 在做出任何更改之前,Input.Observer 会构建结果,并以启动时检查配置的相同方式对其进行检查。如果结果无效,则不会导入任何内容,预览会列出问题。在以下情况下导入会被拒绝:
- 文件已加密——请在其来源处删除密码,重新导出,然后导入那个文件;
- 它不是 Input.Observer 能够读取的配置文件,或者大于 8 MB;
- 它由此版本无法读取的更新版本的 Input.Observer 写入(只是稍新一些的部分会被导入,预览会列出它跳过的设置);
- 某个操作使用了文件和您的配置中都没有的手势,或者某个组或操作限定于文件和您的配置中都没有的配置方案;
- 结果会出现多个全局组、两个同名的代码片段,或者超过 64 个手势配置方案;
- Input.Observer 本身在结果中发现了问题。
永远不会导入的设置会被排除并列出。调用了双方都没有的代码片段的脚本只会产生警告,而不会被拒绝。
导入的脚本会在每次被触发时以您的权限运行,就像您自己的脚本一样。预览会标记每个包含脚本的项目,并单独标记 AutoHotkey 脚本。请只导入来自您信任的人的文件。
从 StrokesPlus.net 导入
从 StrokesPlus.net 导入… 会读取 StrokesPlus.net 的设置文件,并将其转换为普通的导入预览,因此上述所有内容都适用。
- 打开 ⋯ 菜单并选择 从 StrokesPlus.net 导入…。如果存在 StrokesPlus.net 的设置文件夹,文件选择器会在其中打开。便携版 StrokesPlus.net 会将
StrokesPlus.net.json保存在其程序旁边;请浏览到那里。 - 如果文件已加密,请输入保存它时所用的密码。
- 检查预览。顶部的方框会按类别列出未能沿用或有所更改的内容,显示所有项目 可查看完整列表。
- 选择 导入,然后选择 应用 或 保存并关闭。
预期结果:
- 应用程序组、被忽略的程序、手势、手势操作、热键、文本扩展、全局事件、排除区域和匹配设置都会沿用过来。步骤和脚本会被转换为 Input.Observer 自己的步骤和脚本语言。
- 任何未能完整沿用的内容都会以关闭状态导入,并附有说明原因:脚本无法完全转换的操作(未转换的行保留为
// SP.net:注释)、其手势不在文件中的操作、仅由鼠标按键触发的操作、没有按键的热键、没有触发文本的文本扩展,以及其窗口规则都没有对应项的应用程序组。 - 手势匹配一开始选择“保留您的版本”。 StrokesPlus.net 通过对绘制的示例取平均值来为手势评分;而 Input.Observer 默认取最佳示例。文件中的匹配设置也会提供,但覆盖您的设置会改变您现有手势的评分方式,因此由您决定。低于 50 的匹配阈值会以 50 导入,这是 手势 页面允许的最小值。导入的手势可能需要重新检查其匹配设置(匹配)。
- 无法读取 StrokesPlus.net 较旧的二进制设置文件(
.bin)。请先启动一次 StrokesPlus.net,让它保存StrokesPlus.net.json,然后导入该文件。 - 再次导入同一个文件时,会将其项目与之前导入的项目对应起来,而不是添加重复项。