Repolode
sindresorhus

sindresorhus/KeyboardShortcuts

为 macOS 应用添加用户可自定义全局快捷键的 Swift 包,内置快捷键录制界面。

Star
2,736
Fork
253
未关闭 Issue
3
最近提交
2个月前

这是什么?

KeyboardShortcuts 是一个面向 macOS 应用的 Swift 包,用于实现用户可自定义的全局键盘快捷键。开发者只需定义一个具名快捷键,在设置界面放入 SwiftUI 或 Cocoa 录制控件,再为按下或松开事件注册回调即可。快捷键会保存在 UserDefaults 中,若所选组合与系统或应用主菜单冲突,录制控件会提示用户。

该包支持沙盒环境并兼容 Mac App Store,不会弹出权限请求。此外还提供在 NSMenuItem 中显示快捷键、将修饰键转换为符号、监听硬编码快捷键,以及在 macOS 13 及以上版本中按住按键时重复触发动作等辅助功能。

支持 macOS 10.15 及以上版本,通过 Swift Package Manager 安装。限制包括沙盒应用无法使用媒体键,且标准接口无法监听 Caps Lock 键。

核心功能

  • 01提供 SwiftUI 版 Recorder 和 Cocoa 版 RecorderCocoa 录制控件。
  • 02自动将用户设置的快捷键保存在 UserDefaults 中。
  • 03在快捷键与系统快捷键或应用主菜单冲突时给出提示。
  • 04同时支持按下与松开事件的监听。
  • 05可将录制的快捷键绑定到 NSMenuItem。
  • 06通过 Swift Package Manager 安装。

适用场景

  • 为菜单栏工具添加用户可配置的全局快捷键。
  • 让用户在 macOS 应用的偏好设置窗口中自定义快捷键。
  • 结合自有存储,实现应用内可录制、可保存的快捷键。

快速上手

  1. 1

    在 Xcode 的 Swift Package Manager 标签页中使用仓库地址添加该包

  2. 2

    注册快捷键名称,然后在设置界面中添加 Recorder 视图

  3. 3

    使用 onKeyUp 或 onKeyDown 监听快捷键

使用前须知

  • 仅支持 macOS 10.15 及以上版本,不适用于其他平台。
  • 全局快捷键依赖 Apple 尚未提供替代方案的 Carbon API,且沙盒应用不支持媒体键。

收录于专题

标签

常见问题

KeyboardShortcuts 是什么?
为 macOS 应用添加用户可自定义全局快捷键的 Swift 包,内置快捷键录制界面。 KeyboardShortcuts 是一个面向 macOS 应用的 Swift 包,用于实现用户可自定义的全局键盘快捷键。开发者只需定义一个具名快捷键,在设置界面放入 SwiftUI 或 Cocoa 录制控件,再为按下或松开事件注册回调即可。快捷键会保存在 UserDefaults 中,若所选组合与系统或应用主菜单冲突,录制控件会提示用户。
KeyboardShortcuts 可以免费使用吗?用的什么许可证?
KeyboardShortcuts 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
KeyboardShortcuts 还在维护吗?
半年内有更新。KeyboardShortcuts 最近一次提交是在 2026年9月11日。
KeyboardShortcuts 适合用来做什么?
为菜单栏工具添加用户可配置的全局快捷键。 让用户在 macOS 应用的偏好设置窗口中自定义快捷键。 结合自有存储,实现应用内可录制、可保存的快捷键。
KeyboardShortcuts 怎么安装和运行?
在 Xcode 的 Swift Package Manager 标签页中使用仓库地址添加该包 注册快捷键名称,然后在设置界面中添加 Recorder 视图 使用 onKeyUp 或 onKeyDown 监听快捷键
在哪里获取 KeyboardShortcuts?
源代码和安装说明在 GitHub 上:https://github.com/sindresorhus/KeyboardShortcuts

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目