Writing

JoyBridge:用手柄控制 Mac 快捷键

一个 macOS 原生小工具实验:把 Joy-Con、Switch Pro Controller 或兼容蓝牙手柄的按钮,映射成 Mac 上的键盘按键和快捷键。

Ai 降临 个人工具 macOS App
JoyBridge-new MVP 的 macOS 应用界面截图,显示手柄连接、权限状态和映射配置

JoyBridge 是我做的一个 macOS 原生生产力小工具。它的想法很直接:把 Nintendo Joy-Con、Switch Pro Controller 或兼容蓝牙手柄的按钮,映射成 Mac 上的键盘按键或快捷键。

它不是游戏工具,也不是为了把功能做得很大。它先解决一个很具体的问题:让一个放在手边的实体手柄,变成可以触发常用操作的快捷键控制器。

项目名

JoyBridge。

这个名字来自一个很朴素的连接动作:把 Joy-Con 这样的游戏硬件,桥接到日常工作流里。

这是个什么

JoyBridge 是一个 macOS 原生 App,当前使用 Swift、SwiftUI 和 AppKit 开发。它通过 Apple 的 GameController.framework 监听手柄输入,再通过 CoreGraphics 的 CGEvent 模拟键盘事件。

现在它支持把手柄按钮映射成单个按键、纯修饰键,或者组合快捷键,比如:

  • A 映射为空格;
  • B 映射为 Escape
  • X 映射为 Command + C
  • Y 映射为 Command + V
  • 左右肩键可以映射为前进、后退或翻页类操作。

对我来说,它更像是一个“身体化快捷键”实验:有些高频操作不一定非要藏在键盘组合里,也可以交给一个更顺手的实体按钮。

谁会用

它适合那些经常在 Mac 上阅读、写作、整理资料、演示、剪辑,或者做重复操作的人。

如果一个人已经有 Joy-Con、Switch Pro Controller,或者其他兼容蓝牙手柄,JoyBridge 可以让这些设备多一个用途:不只是玩游戏,也能参与日常工作。

当前版本更适合愿意折腾和反馈问题的朋友测试者。它还不是一个给所有人直接下载使用的正式产品。

做到什么程度了

当前最新共享测试版是 v0.10.0,日期是 2026-05-11

这个版本已经能完成一条完整的本地测试流程:

  • 检测 Accessibility 辅助功能权限;
  • 识别当前连接的手柄;
  • 选择并锁定目标手柄;
  • 编辑按钮到键盘动作的映射;
  • 暂停或启用全部映射输出;
  • 关闭主窗口后继续留在菜单栏运行;
  • 复制诊断信息,方便朋友测试时反馈问题;
  • 通过本地脚本打包成朋友测试版 .zip

它目前仍然是本地朋友测试版,没有经过 Apple 公证,也不是 App Store 发行版。也就是说,它已经可以用于验证想法和收集反馈,但还没有到公开发布的阶段。

链接与截图

项目仓库:

https://github.com/Hugh-Afterlight/JoyBridge-new

这篇记录使用的是当前测试版界面的截图。截图里可以看到权限状态、控制器状态、目标手柄选择、映射开关和运行检查面板。

我想让别人记住什么

JoyBridge 最有意思的地方,不是技术本身有多复杂,而是它把一个熟悉但原本属于游戏场景的硬件,重新接到了日常生产力里。

它也是我用 Ai 协作推进个人项目的一次记录:先把范围压小,只做“手柄按钮到键盘输入”这一件事;再一步步补上权限检测、状态显示、测试说明、打包脚本和朋友反馈流程。

我希望这个项目留下的感觉是:个人工具不一定要一开始就做成产品,也不一定要追求完整平台。很多时候,一个真实的小问题、一个能跑通的工作流、一次认真整理过的测试,就已经值得发布出来。