Windows 与 Mac 键盘的差异

Hacker News Top 新闻

摘要

一篇关于 Windows 与 Mac 键盘差异的深度参考文章,涵盖了按键命名、修饰键布局、符号与文字标注等在跨平台应用(尤其是 Web 应用)开发中容易踩坑的细节。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/10/09 06:38

# 深入探讨:Windows 与 Mac 键盘之间的差异 – Unsung Source: https://unsung.aresluna.org/deeper-dive-keyboard-differences-between-windows-and-macs/ 多年来,我了解到 Mac 和 Windows 在键盘处理方面有很多坑和奇怪的差异——尤其是对于需要同时照顾两个平台的 Web 应用来说,因为它们使用同一套代码。我觉得如果把所有这些整理在一起,或许对某些人有帮助。 这篇文章旨在作为参考资料,里面没有什么可爱或引人入胜的故事——如果你觉得无聊,可以直接跳过! ##### 按键名称不同 Windows 叫 Backspace 的键,Mac 叫 Delete。Windows 叫 Delete 的键,Mac 叫 Forward Delete。(这意味着不指定平台就说"Delete"可能会造成困惑。) Windows 叫 ⏎ Enter 的键,Mac 叫 ⏎ Return。不过,Mac 也有一个 ⌤ Enter 键,但只出现在数字键盘上(早期甚至在笔记本上也有!)。在没有物理 Enter 键的键盘上,你可以通过 Fn+Return 来模拟它。 在大多数 Mac 软件中,Enter 和 Return 的功能是一样的。少数例外——例如 Photoshop 中 Return 换行而 Enter 提交,还有一些经典的 Pro 应用如 Cubase 或 Pro Tools 也有不同的行为——但这似乎是一种正在消亡的传统。(如果你对 Return 和 Enter 的历史感兴趣,我曾经写过一篇文章:https://aresluna.org/the-day-return-became-enter/。) Windows 通常把这个副键称为 Numpad Enter。我不确定 Fn+Enter 能否模拟它。 一般来说,第三方键盘使用 Windows 的叫法——即 Backspace 和 Enter。如果键盘提供 Mac 风格的标记,通常也仅限于修饰键。 ##### 修饰键 Windows 上的 ⌃ Control 相当于 Mac 上的 ⌘ Command。(例如,粘贴在 Windows 上是 ⌃V,在 Mac 上是 ⌘V。)但令人困惑的是,Apple 设备仍然有一个 Control 键。这个键最初是为终端应用设计的,但如今很多 GUI 应用将其用作一个额外的修饰键,其重要性远不如在 Windows 上。 这意味着,对于应用来说,Windows 设备提供 Ctrl、Alt 和 Shift——而 Mac 提供 ⌘ Command、⌥ Option、⌃ Control 和 ⇧ Shift。多了一个修饰键,因此有更多操作空间。(我们不计算 Windows 键或🌐 Globe/Fn 键(https://aresluna.org/fn/),因为它们在技术上由操作系统保留。) 有些键盘提供可替换的键帽,让你根据平台进行更换,例如: 还有些键盘用固定键帽覆盖了所有场景,但方式比较别扭: 许多键盘则只保留 Windows 风格的标记。 ##### 符号 vs. 文字 Apple 设备更依赖按键和菜单上的符号,尽管并非完全一致。以下是所有的符号: - ⇧ Shift - ⌃ Control - ⌥ Option - ⌘ Command - ⏎ Return - ⌤ Enter - 🌐 Globe/Fn - ⇥ Tab - ⎋ Esc(不知为何没有印在键盘上) - ⌫ Delete - ⦦ Forward Delete - ⌧ Clear - ≣ 上下文菜单键(仅全尺寸键盘上有) - ⇞ Page Up(仅全尺寸键盘上有) - ⇟ Page Down(仅全尺寸键盘上有) - ↖ Home(仅全尺寸键盘上有) - ↘ End(仅全尺寸键盘上有) 其实,最后四个我说谎了。在现代 Apple 键盘上,它们是: - ↑ Page Up - ↓ Page Down - ⤒ Home - ⤓ End 将普通的方向键复用为 Page Up 和 Page Down 是 Apple 键盘设计师几个令人费解的决定之一。方向键的符号是这样的——◀▶▲▼——但这只出现在 Apple 键盘上。下面是一把较老和一把较新的 Apple 键盘,展示了发生了什么: (幸运的是,这种令人困惑的双方向键情况只出现在不太流行的全尺寸键盘上。) 从历史上看,Apple 键盘在非美式键盘上更多地使用符号,但从 2026 款机型开始,他们在所有键盘上统一了何时只显示符号、何时显示符号和文字标记的规则。(唯一只印文字标记的键是 Esc,这让 ⎋ 出现在菜单中显得格外令人困惑。) --- Windows 键盘通常使用文字——这就是为什么在空间有限时,你会看到 Ctrl、Bkspc、PrtSc、Del、PgUp、Win 等缩写。(我不认为 Apple 会缩写其键帽标记,唯一例外是 Esc 代表 Escape。)在一些国家,标记会被翻译——例如在德国,Ctrl 有时显示为 Strg。 被借用到 Windows 侧的符号有: - ⇧ 代表 Shift - ⇪ 或 🔒 或类似的符号代表 Caps Lock(在非美式键盘上) - ⏎ 代表 Enter——注意与 Mac 的 ⏎ Return 使用相同的箭头 - ← 代表 Backspace——注意与 Mac 的 ⌫ Delete 使用不同的箭头 - ⇥ 代表 Tab(有时你还会看到 ⭾,这是一个同时代表 Tab 和反向 Tab 的符号;反向 Tab 曾经是 1970 年代某些终端上的独立按键) - ⊞ 代表 Windows 键——键帽上标志的样式会随键盘年代不同而变化,大致与当时的 Windows 标志对应;有些键盘也使用更抽象的形状,或者将该键称为 Start 或 System 而不是 Windows - ≣ 代表上下文菜单键(也叫 Application 键)——正如 Apple 在其大型键盘上添加了该键一样,Microsoft 开始移除它,转而使用emoji 键 (https://www.theverge.com/2019/10/11/20909475/microsoft-office-key-emoji-key-keyboards)、Office 键 (https://www.theverge.com/2019/10/11/20909475/microsoft-office-key-emoji-key-keyboards),然后是Copilot 键 (https://blogs.windows.com/windowsexperience/2024/01/04/introducing-a-new-copilot-key-to-kick-off-the-year-of-ai-powered-windows-pcs/) - ⌃ 代表 Control(尤其在技术语境中) 我没有见过 Windows 阵营还有其他流行的符号,我甚至不确定上述符号是否被广泛理解。但这是一个例子: (我之前写过更多关于 Mac 符号的内容(https://unsung.aresluna.org/shift-and-option-and-splat-and-escape/),也写过关于罕见的加拿大符号的文章(https://unsung.aresluna.org/key-symbols-we-lost-to-time-pt-2-the-mac-side/)。) ##### 如何显示快捷键 在菜单等地方,Windows 用加号连接按键组合/快捷键,而 Apple 则直接将它们拼接在一起: - Windows:Shift+A、Ctrl+Shift+G、Ctrl+F11、Alt+Enter - Mac:⇧A、⌃⇧G、⌘F11、⌥⏎ 下面是同一个 Chrome 菜单在 Windows 和 macOS 上的样子: (换句话说,你永远不会像我上面那样说"⌃V 是 Windows 上的粘贴"。) ##### 功能键 Windows 和 Mac 都有功能键。 在 Windows 上,传统上这些键被操作系统或应用用作快捷键。以下是一些知名的功能键分配示例: - Alt+F4 – 关闭应用 - F1 – 帮助 - F11 – 最大化窗口 - F12 – 浏览器中的开发者工具 在 Mac 上,传统上应用不使用功能键,因为它们完全保留给用户自由使用。(不过,⌃ 和功能键的某些组合被操作系统用于辅助功能,如今我也偶尔看到应用使用功能键。) Windows 键盘最高到 F12,但一些 Mac 键盘复用了三个特殊的 PC 键,甚至接管了多余的 Num Lock/Caps Lock/Scroll Lock 区域,最高可达 F19: ##### 输入额外字符 在文本框中,Apple 有一个系统:按住 ⌥ 加上有字母的键可以输出更多字符,例如 ⌥Q 输出 œ,⌥7 输出 ¶ 段落标记。此外,⇧ 在此语境中也起作用,例如 ⌥⇧Q 输出 Œ,⌥⇧7 输出 ‡ 双剑标。 注意,不仅字母,基本上所有可打印字符的键都有隐藏的 ⌥ 和 ⌥⇧ 分配。 而且,⌥ 的分配因地区而异!上面是美式英语,下面是波兰语,有很多不同: 这意味着最好避免在文本框中使用基于 ⌥ 的快捷键,因为它们可能与某些重要字符冲突。 顺便说一下,上面两个只是示意图,在某些实体键盘上(这里是英式英语),一些重要的 ⌥ 组合实际上印在键帽上: --- Windows 没有上述功能。但 Windows 有一个替代功能:通过输入 Alt+数字键盘,可以按代码输入任何字符。(例如,Alt+0128 输出 €。需要启用 Num Lock。我认为没有数字键盘的话无法实现。) Mac 也有这个功能的一个版本,但需要先添加 Unicode Hex Input 键盘并切换到它。然后按 ⌥20AC 就能输出 €。 ##### Windows 上的右 Alt 键 虽然 Mac 的修饰键是完全对称的,但 Windows 对 Alt 做了一个例外。在许多非美式键盘上,右 Alt 也被称为AltGr (https://en.wikipedia.org/wiki/AltGr_key),其功能类似于 Mac 上的 ⌥:与可打印字符键组合使用时可以输出字符。 例如,在波兰语键盘上 AltGr+A = ą,AltGr+C = ć,AltGr+Shift+A = Ą,还有 15 种更多组合。许多其他键盘也有类似的功能。 与 Mac 上 ⌥ 的不同之处在于,这些通常保留给每种语言所需的核心字母和标点,而不是 Apple 提供的那种排版大杂烩。 出于历史原因,以及对于没有物理 AltGr 键的键盘,你也可以使用 Ctrl+Alt 组合来实现(即 Ctrl+Alt+A = ą)。这意味着,就像在 Mac 上需要小心 ⌥ 快捷键一样,在 Windows 上也应该注意Ctrl+Alt 快捷键 (https://aresluna.org/the-curious-case-of-the-disappearing-polish-s/)。 和 Mac 一样,在一些键盘上,选定的 AltGr 选项会印在键帽的角落或前部: ##### 文本框 Mac OS 应用和浏览器/网站中的文本框使用一些基于 ⌃ Control 键的标准 Unix/Linux 快捷键: - ⌃A – 移动到行首 - ⌃E – 移动到行尾 - ⌃F – 向右移动,或前进(按住 ⌥ 可按词跳转) - ⌃B – 向左移动,或后退(按住 ⌥ 可按词跳转) - ⌃N – 向下移动或下一条命令 - ⌃P – 向上移动或上一条命令 - ⌃L – 滚动窗口使文本光标位于垂直中央 - ⌃H – 删除(退格) - ⌃D – 向前删除 - ⌃K – 删除(kill)到行尾 - ⌃T – 交换(转置)相邻字符 - ⌃O – 插入新行,但(与 Return 不同)不将光标移到该行 上述许多快捷键都可以按住 ⇧ 来扩展选区。 一小群热情的用户非常喜欢这些快捷键。 --- Windows 仍然支持 Shift+Delete 剪切、Ctrl+Insert 复制和 Shift+Insert 粘贴。我不确定有多少人使用这些。 --- 在 Mac 上,在简单的输入框中,↑ 和 ↓ 跳转到开头和结尾(与 ⌘←→ 相同)。这经常与命令行历史记录、自动补全弹出框等产生冲突。 Windows 没有这个惯例,而是由 Home 和 End 来实现此功能。 --- Mac 支持受 iPhone 启发的惯例:长按按键可以显示相关的重音字符,而不是触发自动重复输入。Windows 没有此功能。 ##### 值得了解的快捷键约定差异 在 Mac 上,重做通常是 ⌘⇧Z。在 Windows 上,通常是 Ctrl+Y。 在 Mac 上,刷新(在浏览器中等)通常是 ⌘R。在 Windows 上,通常是 F5,不过现在有些浏览器也支持 Ctrl+R,大概是因为功能键比以前更难触及了。 ##### 保留键 Windows 以其命名的 ⊞ Windows 键完全由操作系统保留使用,Mac 的 🌐 Fn/Globe 键也是如此。(虽然我不完全确定,因为我发现有一个地方用户可以创建 🌐 快捷键——只是不确定这是否是有意为之。) 不过,每个平台都有大量实际上不可用的快捷键组合,例如 Mac 上的 ⌘⇥ 和 ⌘M,或 Windows 上的 Alt+Tab 和 Ctrl+Shift+Escape。 以下官方列表可以帮助你: - Mac 键盘快捷键 (https://support.apple.com/en-us/102650) - Windows 键盘快捷键 (https://support.microsoft.com/en-us/accessibility/windows/keyboard-shortcuts-in-windows) 如果你是一个 Web 应用,你不仅会与操作系统争夺快捷键(就像任何应用一样),还会与浏览器本身争夺。你通常可以接管像⌘S (https://aresluna.org/the-curious-case-of-the-disappearing-polish-s/)或 ⌘P 这样的快捷键,但根据浏览器或平台的不同,有些可能是不可覆盖的。没有 Mac 浏览器允许网站接管 ⌘Q、⌘W 或 ⌘T。Safari 不允许 Web 应用覆盖 ⌘R。Arc 浏览器不允许覆盖 ⌘⇧C。(这不是一份完整的列表。) ##### 跳转导航 Tab 和 Shift+Tab 通常用于在 UI 元素之间跳转,但在原生应用中行为略有不同。 在 Windows 上,Tab 会遍历所有元素: 在 Mac 上,Tab 仅跳转到需要键盘操作的元素(如输入框)。你可以在系统设置中切换一个偏好设置,让 macOS 模仿 Windows 的行为——见下面最后一个开关——但并非在所有地方都支持良好。 --- PgUp 和 PgDn 的行为不同: - 在 Windows 上,它们将文本光标向上或向下移动一屏。 - 在 Mac 上,它们滚动视图上下,但不会移动文本光标(如果有光标的话)(所以它们更像是点击滚动条槽的效果)。 类似地,Home 和 End 的行为也不同: - 在 Windows 上,它们将内容(和光标如果有)滚动到视图的顶部或底部,或将光标移动到输入框的开头或结尾。 - 在 Mac 上,在视图中它们滚动到开头或结尾*而不移动光标*。在输入框中,Home/End 没有任何作用,但你可以使用 ⌘←→ 来达到相同的效果。 在两个平台上,Fn+↑↓ 相当于 PgUp/PgDn,Fn+←→ 相当于 Home/End。(你觉得这样说有多困惑吗?因为 ↑↓ 在 Mac 上已经意味着 PgUp/Dn 了!) --- Windows 有一个传统,通过按 Alt 加字母键来访问菜单和可见控件。这一机制已经经历了多年的演变(https://unsung.aresluna.org/a-tiny-bit-old-windows-got-right/),也不再像以前那样一致了,但了解它还是有价值的。 ##### 不太常用的按键 在 100 多个键的键盘上,Windows 可能有: - Insert – 在某些场景中仍用于覆盖输入模式 - Print Screen – 今天已被截图功能接管 - Num Lock (https://aresluna.org/this-is-a-story-of-a-figma-bug/)和Scroll Lock (https://unsung.aresluna.org/lock-scroll-with-a-vengeance/) - Pause/Break Mac 有: - Help – 很少使用,如今已被弃用,取而代之的是…… - ≣ 上下文菜单键 – 显示与右键单击相同的菜单 - ⌧ Clear – 一个确定性的退格键 (https://unsung.aresluna.org/deterministic-vs-idempotent/),如今与实际的 Delete 键很少有区别 Mac 从来没有在数字键盘上设置过方向键,也没有 Num Lock 键来启用它。(我打破了承诺。这里有一个关于 Num Lock 的有趣 bug 故事。) 令人意外的是,不仅第三方键盘偏爱 Windows 风格的标记。Apple 在 1980 年代到 2000 年代之间的一些键盘上也显示了 PC 风格的标记!(这是为了争取当时处境艰难的 Mac 的 PC 兼容性。)这是经典的 Apple Extended Keyboard,上面显示了 Insert、Delete(命名为 Del 以避免与自身的 Delete 混淆)、Print Screen、Scroll Lock、Pause、Num Lock 和 Alt 的标记: 我遗漏了什么或者犯了错误吗?请告诉我 (https://unsung.aresluna.org/about/)!

相似文章

@amiaoapp: Mac 用户终于有救了!这可能是今年最让我相见恨晚的 Mac 工具。 有没有被输入法逼疯过? 明明切到英文准备敲代码,下一秒又莫名变回中文; 打开 ChatGPT 是英文,切到微信要中文,来回切几十次; 更离谱的是,有些软件还会偷偷帮你切…

X AI KOLs Timeline

LockIME 是一款免费开源的 Mac 工具,可以锁定输入法,支持全局、按应用和按网址自动切换,避免手动切换输入法的烦恼。

凯西

Product Hunt

Keysi 是一款 macOS 应用,按住 ⌘ 即可查看当前应用的所有快捷键并直接执行,免费使用;Pro 版(一次性 $14.99)提供间隔重复练习和快捷键提醒功能。

自定义我的 Compaq MX-11800 键盘

Hacker News Top

一篇个人博客文章,详细描述了自定义 Compaq MX-11800 键盘的过程,涵盖了焊接问题、开关不兼容性以及使用 Karabiner-Elements 进行 macOS 键重映射。