# 快捷键

快捷键触发器可能是所有触发器中最常见和最基本的触发器。当您按下配置的键盘按键时，系统会吞下击键，并且 Keyboard Maestro 会执行宏。

![快捷键触发界面](https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403291048482.png)

### 哪些键可以用作快捷键

可以是字母、数字、符号或功能键，通常与一个或多个修饰键（Shift、Control、Option 和/或 Command）组合使用。几乎任何键都可以作为触发器，请记住，数字键盘与主键盘上的数字键算作不同的键。

您可以在快捷键框中键入所需的键或组合键，或从右侧的弹出菜单（如下图所示）中选择预定义的键（按住任何所需的修饰符）。

![](https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403291045292.png)

快捷键可以包括零个或多个普通修饰键（Command、Option、Shift、Control）以及另一个键（例如字母、数字、功能键或其他键）。

### 何时触发

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403291043380.png" alt=""><figcaption></figcaption></figure>

| 触发情形                   | 释义            |
| ---------------------- | ------------- |
| is pressed             | 按下按键          |
| is long pressed        | 长按按键，松开触发     |
| is down                | 按住按键          |
| is released            | 释放按键          |
| ------                 | ------        |
| is tapped              | 轻敲按键（快速按下并释放） |
| is tapped once         | 轻敲1次          |
| is tapped only once    | 只轻敲2次         |
| is tapped twice        | 轻敲2次          |
| is tapped only twice   | 只轻敲2次         |
| is tapped 3 times      | 轻敲3次          |
| is tapped only 3 times | 只轻敲3次         |
| is tapped 4 times      | 轻敲4次          |
| is tapped only 4 times | 只轻敲4次         |

### **is pressed** 、**is long pressed**、**is down**、**is tapped** **的区别**:

**is pressed**: `Keyboard Maestro` 监测特定键的按下事件。

&#x20;&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311408368.gif" alt=""><figcaption></figcaption></figure>

由上图可以看出，在长按`F4`的情况下，按下`F4`的一瞬间，动作就被触发。

**is long pressed**: 长按按键，在松开时触发。

&#x20;&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311404419.gif" alt=""><figcaption></figcaption></figure>

由上图可以看出，在长按`F4`的情况下，松开时，触发动作；而轻敲一下，不会触发动作。

**is down**：按住按键，可以重复触发。

&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311416546.gif" alt=""><figcaption></figcaption></figure>

**is tapped**意思是 「快速按下并释放」。

&#x20;&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311415479.gif" alt=""><figcaption></figcaption></figure>

由上图可以看出，在长按`F4`的情况下，按的时间超出了一定时间，不会触发动作；只有在短时间内轻敲按键（快速按下并释放），才会在完成动作时（也就是松开按键时）触发动作。

***

### **is tapped twice 与 is tapped only twice 的区别：**

配置为**is tapped twice**的宏会在两次轻敲之后立即触发。

&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311420952.gif" alt=""><figcaption></figcaption></figure>

但当触发器配置为**is tapped only twice**时，由于`Keyboard Maestro` 无法预见未来，因此要确定这是明确的第二次点击，宏在释放按键时并不会触发，必须等待一小段时间才能看到没有按下第三次。因此，当使用**is tapped only twice**选项时，在执行宏之前会有短暂的延迟。

&#x20;

<figure><img src="https://cdn.jsdelivr.net/gh/wuzimuws/imgbed@main/img/202403311421536.gif" alt=""><figcaption></figcaption></figure>

### 注意

⚠️ 请记住，无论您是否在按下、按下、释放或点击快捷键时触发宏，该键都会被系统吞没，无法用于其正常用途。如果您想在不被系统吞掉按键的情况下触发宏，可以使用 `USB_Device_Key` 触发器。

⚠️ 请注意，`Keyboard Maestro` 本身键入的按键是否会触发快捷键（从而被吞掉并执行宏）或不会触发快捷键（从而进入应用程序）尚未定义 - 可能会发生哪种行为以及哪种行为发生的情况会因许多不可预测的因素而有所不同，但键盘大师会尽力确保不会因响应自己的输入而触发宏。如果您希望根据击键触发宏，可以使用“通过快捷键触发宏”操作。

尽管您可以使用 USB\_Device\_Key 触发器来检测修饰键按下以及其他按钮按下（例如鼠标按钮或非标准键盘（如 XK-24）上的按键），但单独的修饰符（例如仅 Control）不能用作快捷键。

### 如何知道按下了哪个键？

您可以使用 `%TriggerValue%` Text Token来确定键入的快捷键，因此您可以拥有一个具有多个快捷键的宏，这些快捷键的行为根据按下的键而有所不同。

### 如何设计并记住如此多的快捷键？

快捷键的缺点是您需要记住复杂的快捷键组合。这可以通过选择一致的快捷键来缓解（例如 Control-Letter 表示插入文本，Control-Option-Letter 表示启动应用程序）。您还可以使用 KeyCue 、CheatSheet 等工具来显示命令键和宏快捷键。

为了进一步帮助解决此问题，如果使用同一快捷键执行多个宏，冲突的宏将显示在冲突调色板中，允许您选择所需的宏。您可以使用数字键从调色板中选择宏，或者通过键入第一个不同字符来过滤宏，直到只剩下一个。您可以使用此功能来允许单个快捷键执行多个可能的操作之一。具体请参考 浮窗Palettes。

### 关于Fn 键

Fn 键不是修饰键，不能用作修饰键。它保留了切换功能键角色的正常用途，因此它可能是快捷键的一部分，但前提是功能键通常具有其硬件（例如亮度增加）角色，然后 Fn 键使它们成为合适的功能键用于快捷键触发器。硬件键（​​如亮度提高）不能用作快捷键，但功能键可以。

### 快捷键与其他应用程序的快捷键冲突时，会发生什么

快捷键将覆盖应用程序菜单命令键或应用程序中通常使用的任何其他键，但如果任何其他应用程序注册相同的快捷键，则您的宏和其他应用程序的操作都会发生。
