按键动作
space: 表示空格键enter: 表示回车键tab: 表示 Tab 键shift: 表示 Shift 键backspace: 表示删除键deleteForward: 表示向右删除键,即物理键盘的 Delete 键,删除光标右侧的一个字符。详见下方 向右删除 deleteForward。dismissKeyboard: 表示收起键盘moveCursorBackward: 表示光标左移moveCursorForward: 表示光标右移returnPrimaryKeyboard: 表示返回主键盘。主键盘指pinyin中文键盘或者alphabetic英文键盘类型。returnLastKeyboard: 表示返回上一个键盘。功能会按键盘切换顺序的逆序,返回上一个使用过的键盘类型。注意:当键盘切换到中文键盘pinyin时,会清空键盘切换栈,此时再触发返回上一个键盘动作无效。symbolicKeyboardLockStateToggle: 表示符号键盘锁定状态切换。锁定状态下,点击符号键盘中的符号键不会切换回主键盘。符号键盘指类型为symbolic的键盘。settings: 表示打开主应用界面。nextKeyboard:表示切换到 iOS 系统键盘列表中的下一个键盘。
配置示例:
action: space向右删除 deleteForward
Section titled “向右删除 deleteForward”deleteForward: 与 backspace 方向相反,删除光标右侧的内容。
- 点击一次,删除光标右侧的一个字符(emoji 按整体删除)。
- 有选中文字时,删除选中的文字。
- 输入中(有编码)时,删除编码中光标右侧的部分,不会删除已上屏的文字。
- 光标右侧没有内容时,不做任何操作。
长按连续删除需要同时配置 repeatAction;长按时始终逐字删除,不会像 backspace 那样加速成按词、按句删除。
配置示例:
action: deleteForwardrepeatAction: deleteForward字符输入 character
Section titled “字符输入 character”character: 表示输入一个字符。此符号会发送给输入法引擎 rime,输入法引擎会根据当前的输入状态决定如何处理这个字符。
配置示例:
action: { character: 'a' }符号输入 symbol
Section titled “符号输入 symbol”symbol: 表示输入一个符号。此符号会直接发送给系统,不会经过输入法引擎 rime。
配置示例:
action: { symbol: '!' }发送组合符号
Section titled “发送组合符号”sendKeys: 表示发送一组符号给输入法引擎 rime。
- 当需要辅助键(如 Shift、Ctrl、Alt)时,可以在辅助键后加上
+号,表示按下该辅助键。 - 多个字符之间无需用
+号连接,直接写在一起即可。
配置示例:
action: { sendKeys: 'Shift+a' }action: { sendKeys: 'nihao' }切换 RIME Option 选项状态
Section titled “切换 RIME Option 选项状态”rimeOption: 调整 RIME Option 选项状态。此选项对应的值为方案配置中 Option 的名称。
配置示例:
action: { rimeOption: 'ascii_mode' }执行 AI 指令
Section titled “执行 AI 指令”ai: 表示执行一个 AI 指令。此指令会在后台执行,不会弹出命令页面。
配置示例:
action: { ai: 'AI 指令名称' }phrase: 表示调用一个常语语
配置示例:
action: { phrase: '常用语 title' }Snippet
Section titled “Snippet”snippet: 表示一个模板片段,它的功能与常用语是完全相同的。它省略了常用语创建的步骤,可以将常用语的内容,直接放到这个条指令中。
配置示例:
action: { snippet: '这是一个日期:{{date:yyyy-MM-dd}}' }注意:常用语下的内置变量与自定义变量在这里都可以使用,具体请查阅 常用语
openURL: 表示打开一个链接。
配置示例:
action: { openURL: 'https://imfuxiao.github.io/Hamster3Document' }打开链接的特殊用法:
- 使用
#pasteboardContent表示打开剪贴板内容作为链接。
配置示例:
action: { openURL: '#pasteboardContent' }- 使用
#selectText表示打开当前选中内容作为链接。
配置示例:
action: { openURL: '#selectText' }- 以上两种特殊用法可以结合使用。
配置示例:
action: { openURL: '#pasteboardContent#selectText' }运行指定脚本
Section titled “运行指定脚本”runScript: 表示运行指定脚本。
配置示例:
action: { runScript: 'myScript' }静默执行 JavaScript 脚本
Section titled “静默执行 JavaScript 脚本”runScriptSilently: 表示静默执行一个 JavaScript 脚本。此脚本会在后台执行,不会弹出脚本页面。
配置示例:
action: { runScriptSilently: '脚本名称' }keyboardType: 表示切换到指定类型的键盘。
系统规定了以下几种键盘类型:
pinyin: 拼音中文键盘alphabetic: 英文键盘symbolic: 符号键盘numeric: 数字键盘emojis: Emoji 键盘
配置示例:
action: { keyboardType: 'pinyin' }除了以上几种系统键盘类型外,用户还可以自定义其他键盘类型。
配置示例:
action: { keyboardType: '自定义键盘名称' }shortcut: 表示执行一个快捷指令。
系统预定义了以下快捷指令:
-
#简繁切换:简体与繁体切换。 -
#中英切换:中文与英文切换。注意此切换是指 rime 中 ascii_mode 的切换,非键盘类型切换。 -
#RimeSwitcher:进入 rime switch 状态。 -
#次选上屏:将当前第二个候选文字上屏。 -
#三选上屏:将当前第三个候选文字上屏。 -
#方案切换:显示当前方案切换页面,用于切换当前方案列表中的其他方案。 -
#左手模式:切换到单手模式下的左手模式。 -
#右手模式:切换到单手模式下的右手模式。 -
#行首:光标移动到当前行的行首。 -
#行尾:光标移动到当前行的行尾。 -
#换行:插入一个\r。 -
#Enter:插入一个\n。 -
#重输:清空已键入的 preedit 内容。 -
#subCollectionPageUp:子分类符号页向上翻页。 -
#subCollectionPageDown:子分类符号页向下翻页。 -
#verticalCandidatesPageDown: 纵向候选栏向下翻页。 -
#verticalCandidatesPageUp: 纵向候选栏向上翻页。 -
#showPhraseView:显示常用语视图。 -
#showPasteboardView:显示剪贴板视图。 -
#toggleScriptView:脚本页面显示与隐藏切换。 -
#candidatesBarStateToggle: 候选栏状态切换。用来展开候选文字或收起候选文字。 -
#rimePreviousPage:rime 候选页向前翻页。仅在开启手工分页模式下有效。 -
#rimeNextPage:rime 候选页向后翻页。仅在开启手工分页模式下有效。 -
#toggleEmbeddedInputMode:内嵌模式状态切换。 -
#keyboardPerformance:显示当前键盘性能信息。 -
#keyboardMenu:显示键盘菜单页面 -
#clearSystemPasteboard: 清空系统剪贴板中内容 -
#toggleSplitState: 切换键盘分体状态
配置示例:
action: { shortcut: '#candidatesBarStateToggle' }切换 RIME 方案
Section titled “切换 RIME 方案”switchRimeSchema: 表示切换到指定 RIME 方案。
配置示例:
action: { switchRimeSchema: '方案ID或方案名称' }- v1.4.0 及以上版本有效
发送系统通知
Section titled “发送系统通知”userNotification: 表示由键盘发送一条系统通知。通知正文为 JSON 格式,包含快捷指令名称与内容,可供快捷指令自动化读取使用。
参数支持以下两种写法:
- 简单写法:表示希望运行的 Shortcut 名称
配置示例:
action: { userNotification: 'Shut Down' }对应通知内容
{ "shortcutName": "Shut Down"}- 完整写法:支持以下字段:
shortcutName:快捷指令名称,必填。content:通知携带的内容,可选,默认为空。notifyTitle:通知标题,可选,默认为「元书输入法」。
配置示例:
action: { userNotification: "{ shortcutName: 'Shut Down', content: '#selectText', notifyTitle: '关机' }" }content 的特殊用法:
- 使用
#selectText表示使用当前选中的文字作为内容。 - 使用
#pasteboardContent表示使用剪贴板内容作为内容。
发送的通知正文示例:
{"notifyTitle":"关机","shortcutName":"Shut Down","content":"选中的文字"}在 Shortcut 应用使用元书通知
Section titled “在 Shortcut 应用使用元书通知”iOS Shortcut 中可通过指定应用的「通知」自动化触发某条指令。
方法:
- 新建指令
- 选择 「Automation」,选择「Apps」下的「Notification」
- 点击 「App」参数,选择「元书输入法」
可选项:
- Add Filter: 你可以根据「通知」中的输入参数
notifyTitle设置通知的 Title,进一步在这里通过 Title 过滤通知

如何读取通知中的内容?
- 选择「Scripting」后,选择「Dictionaries」下的「Get Dictionary from Input」选项
- 点击上个选项中的「Input」,选择「Notification」,选择后,再次点击「Notification」选项,选择「Body」,表示读取通知中的内容。

如何运行指定名称的 Shortcut?
在上一步「如何读取通知中的内容」中读取到了通知内容,通知内容是一个字典,其中字典的 shortcutName 表示希望运行的 Shortcut。
- 选择「Scription」后,选择「Shortcuts」下的「Run Shortcut」
- 点击「shortcut」,选择「Select Variable」选项,默认系统将整个字典内容传给了参数,这里需要调整下:
- 点击「Dictionary」引用,获取自定义参数选项
- 选择「Dictionary」参数,在页面「Get Value for Key」输入栏中输入
shortcutName,表示从字典中获取shortcutName对应的值作为运行 Shortcut 的名称获取字典中的其他 key 对应的内容是类似的操作

组合 Action
Section titled “组合 Action”combine:组合 action,用于触发多个 action
配置示例:
- 切换到英文键盘且将输入方案转为 melt_eng
action: combine: - keyboardType: alphabetic - switchRimeSchema: melt_eng延迟 Action
Section titled “延迟 Action”在使用组合指令时,某两个指令之间可能需要强制延迟一段时间,此时可以使用延迟指令。
延迟指令中的参数为整数类型,单位毫秒(1秒=1000毫秒),表示将下一条指令延迟指定时间后执行。
此指令只能在 combine 指令下使用,其他地方使用无效。
action: combine: - keyboardType: alphabetic - delay: 1000 - switchRimeSchema: melt_eng