Keyboard Maestro中文手册
高级课程浅学派
  • Keyboard Maestro简介
  • 重要提示:本手册正在完善中...
  • 写在前面:为什么要做中文手册?
  • 进度
  • 帮助
  • 常见问题
  • 界面介绍
    • 宏组的属性配置
  • 触发器 Trigger
    • 快捷键
    • 全局宏浮窗触发器
    • 状态菜单触发器
    • 输入字符串触发器
    • 外观改变触发器
    • 应用触发
    • 音频输出设备更改触发
    • 剪贴板更改触发器
    • 剪贴板过滤器触发器
    • 定时触发器
    • 显示布局更改触发器
    • 拖动文件触发器
    • 发动机启动触发器
    • 聚焦窗口触发
    • 文件夹触发器
    • 手势触发
    • 组状态菜单触发器
    • 空闲触发
    • 登录触发器
    • MIDI 触发器
    • 安装音量触发器
    • 周期性触发
    • 电源状态改变触发
    • 公共网络触发器
    • 远程触发
    • 睡眠触发
    • 空间改变触发
    • 子程序触发
    • 一天中的时间触发
    • USB 设备密钥触发
    • USB 设备触发
    • 解锁触发器
    • 唤醒触发
    • 无线网络触发
  • 动作 Action
    • 应用程序控制
    • 剪贴板
    • 流程控制
    • 调试器
    • 执行
    • 文件
    • 前端浏览器控制
    • 谷歌浏览器控制
    • 图像
    • 界面控制
    • 键盘大师
    • MIDI
    • 音乐控制
    • 通知
    • 打开
    • QuickTime 播放器控制
    • Safari 控制
    • 串流面板控制
    • 切换器
    • 系统控制
    • 文本
    • 变量
    • 网页
  • 变量
  • 剪贴板
  • 浮窗 Palettes
  • 编程和调试 Programming and Debugging
  • 有用的脚本
  • 设置、同步与附加功能
  • Menu详解
  • 《优雅地使用Mac——小白轻松上手Keyboard Maestro》优惠课正在开发中!
  • 拆解任务的方法
由 GitBook 提供支持
在本页
  • 1. 可输入的内容
  • 2. 选择大小写是否敏感
  • 3. 后续接的内容种类
  • 4. 是否适用变音字母
  • 5. 模拟删除
  • 6.输入字符串触发器的使用注意事项
  • 如何查看键入的确切文本
  • 不能查看键入的确切文本的情形

这有帮助吗?

  1. 触发器 Trigger

输入字符串触发器

Typed String Trigger

上一页状态菜单触发器下一页外观改变触发器

最后更新于1年前

这有帮助吗?

输入字符串触发器主要包括以下几个部分:

1. 可输入的内容

输入字符串触发器允许您使用更详细(因此更具描述性)的按键序列来触发宏。触发器可以包含非 ASCII 字符,但您应该验证删除在这些情况下是否正常工作。触发器可以包含修饰符 (⌃⌥⇧⌘) 字符 (v11.0+),您可以通过点击相应的修饰符来输入这些字符。

2. 选择大小写是否敏感

  • 大小写必须匹配

解释: 这句话写的很难读,对于=em=来说,只能输入=em=才能触发,=Em=、=eM=、=EM=都无法触发。

  • 大小写都可以

  • 大小写影响动作

    • 您可以使用键入的字符串的大小写并影响插入文本操作。这意味着如果您以全大写形式键入字符串,则生成的“插入文本”也将是大写的。如果您仅以大写形式键入第一个字母,则仅第一个结果插入文本将为大写。

      • 解释: 这句话写的很难读,举个例子就容易理解了:

        其中第一个输入的是#em,

        第二个输入的是#Em,

        第三个输入的是#EM。

  • 使用正则表达式来匹配触发器

    • 如果多个输入字符串触发器从末尾开始匹配(例如“hello”和“llo”),则将使用最长的一个。如果存在多个具有相同长度的匹配项(如果使用大小写或变音符号选项,则可能会发生这种情况),将显示冲突浮窗,提供匹配宏的选择。在这种情况下,如果所有键入的字符串触发器都启用了“执行前模拟 N 次删除”选项,则将立即模拟删除,然后显示冲突浮窗;否则将不会模拟删除。

3. 后续接的内容种类

  • 位于任何字符之后可触发

  • 位于分词符之后可触发

    • 您可以将键入的字符串触发器限制为仅在断字后起作用(这意味着任何非字母数字字符,或取消上述序列的任何情况)。请注意,这意味着仅在您键入分词符、然后键入的字符串后才会发生匹配, - Keyboard Maestro 无法预知你未来会键入什么,所以它不能仅在你计划接下来键入一个词边界时才匹配字符串。这意味着,触发条件的检测只能在你实际完成键入动作之后进行,而不是基于你未来的键入计划。

      • 解释: 这一段也写得很难懂,举个例子吧,具要见下图:

        第一行:前方无字符,可以触发

        第二行:前方为其他字符,不能触发

        第三行:前方为空格,可以触发

        所以,对于不会单独出现在字首的字符触发组合,可以用于触发器,像th这样的高频出现在词首的,应当避免当触发器,em也不适用,因为存在email、empty等以em开头的单词。

简而言之,这个设置确保了只有在符合特定前置条件(即,词边界之后立即跟随触发字符串)的情况下,触发器才会被激活,从而提高了触发的准确性和适用性。

4. 是否适用变音字母

Diacritical matter 是指 é、è、ê、ë 这类特殊符号,平时咱们用不到,可以不用考虑。

5. 模拟删除

由于按键首先进入当前应用程序,因此通常会在执行宏之前删除按键,尽管禁用此功能后您可以在很大程度上忽略按键的应用程序中使用它。

解释: 在勾选的情况下,在输入=em=时,会模拟删除4个字符,以将=em=删除

6.输入字符串触发器的使用注意事项

该触发器的适用场景——如何避免宏误触发

  • ⚠️ 通常不应使在非文本输入上下文中使用模拟删除的输入字符串触发器,因为模拟的删除击键可能具有破坏性。

    • 解释: 最好在文本输入的位置使用该触发器,这样可以保证Delete删除键只对刚刚输入的文本进行删除,如果在文件操作时使用,则可能会造成文件删除的破坏性后果。

  • 如果您要立即更改焦点(例如,提示用户输入,或者通过切换窗口或应用程序),那么您可能需要在宏开始时短暂暂停,以便在焦点发生变化之前保证模拟删除执行完毕。

    • 解释: 如果该触发器对应的动作需要变换窗口、焦点,则最好在第一个动作处设置一定的Pause时间,这样可以给模拟删除执行完毕留出足够的时间,如果不如此设置,可能导致:

      1. 无法将之前的输入文本删除,

      2. 切换焦点之后再进行删除操作,可能会不正确地删除切换焦点后对应位置处的内容。

      暂停的时间可以根据自己电脑的性能来合理设置。

  • 为了避免宏意外触发,最好在字符串中包含一致的前缀和/或后缀。例如,要插入您的电子邮件地址,不要仅使用“em”(如果您输入“them”,则会触发),而应使用“=em=”之类的内容,这样您就不会意外输入。

如何在输入过程中断触发器的触发

  • 即使您使用删除键进行更正,键盘大师也会接受触发器(例如,在上面的情况下,如果您输入“=en«delete»m=”,触发器仍然会触发。如果您需要输入触发器没有宏触发的文本,输入并删除中间的 Shift-Space,例如“=e«Shift-Space»«delete»m=”。

    • 解释: 当输入一半时,有输入错误的字符,即使通过Delete进行了修改,仍会正常地触发宏,即会输出them。 如果不想触发该宏,则可以在输入一部分的情况下,按Shift-Space增加一个空格,再按Delete删除该空格,这样就不会触发该宏,即会输出=em=。

  • 如上所述,输入 Shift-Space 将取消序列,任何控制键或命令键(例如 Command-.)、任何宏执行、切换应用程序、单击鼠标或超过几秒钟不输入都会取消序列。点击修饰符不会取消序列,但会被视为触发字符串的一部分 (v11.0+)。

    • 解释: 可以通过上述示例的操作,来中断宏序列。

如何查看键入的确切文本

您可以使用%TriggerValue% 文本Token来确定键入的确切文本。

不能查看键入的确切文本的情形

请注意,系统不允许 Keyboard Maestro Engine 查看在其自己的窗口中键入的键(例如用户输入提示或自定义 HTML 提示),因此键入的字符串触发器将无法在 Keyboard Maestro Engine 窗口中工作。另请注意,类型化字符串触发器在 Keyboard Maestro 编辑器本身中无法正常工作,因为对宏的任何更改都会导致宏被保存并重置类型化字符串触发器缓冲区。因此,您需要使用不同的触发器在 Keyboard Maestro 引擎或编辑器中工作。

系统也将(正确地)不允许 Keyboard Maestro 查看在密码字段中键入的键,因此如果您在大多数密码字段中键入字符串触发器,则不会触发它们。您可以使用“通过键入插入文本”在密码字段中输入内容(尽管这是一个严重的安全问题,并且在某些情况下它无法正常工作),但在密码字段内无法使用“键入字符串”触发器。

您可以使用正则表达式来匹配触发器。触发器与输入序列的末尾进行匹配,因此正则表达式的末尾有一个隐式 z。请注意,尝试将末尾的分词符与 是没有用的,因为输入序列始终以当前字符结束。例如,即使您计划输入的下一个字符是“o”,“ellb”也会匹配“hell”。

具体可参考。

\b 或某种正或负的先行断言匹配
RegEX