起初是发现了 OrbitRing Launcher 这个软件,感觉它的环形交互很新颖,和我手里的 Sofle 分体键盘编码器特别搭。
不过体验后发现,OrbitRing 主要适配的是鼠标指针,并不能直接使用编码器或者鼠标滚轮进行选择。虽然指针操作可能更快,但我就是想折腾一下编码器,于是给作者写了一封建议邮件,不过一直没有收到回复。
正好现在有了 Codex ,我便尝试让它从头写一个类似的 macOS 环形应用切换器。做出来以后发现确实很好用,但键盘上的小编码器手感偏硬,长时间旋转并不舒服。
我就在想:要是有一个独立的大旋钮就好了。
随后看了一圈市面上的桌面旋钮,发现大多数产品都不开源,通常也是通过模拟鼠标滚轮进行控制,并不是真正的原生刻度旋转。
这时我突然想到了微软的 Surface Dial。搜索后发现,macOS 上已经有一些能够读取 Surface Dial 原生 HID 数据的开源方案,而且它本身支持刻度震动反馈、磁吸底座,微软的做工也更有保障。
于是我花了一天时间,在原来的编码器版本上适配了 Surface Dial 。然后在小黄鱼花 120 元包邮买了一个仅拆封的,到手以后发现意外地好用:
旋转一格、切换一项,刻度反馈清晰,按下旋钮即可确认。
![]()
![]()
它和环形应用切换器的交互非常契合。
项目地址
- GitHub:S7venYoung/RingLauncher
- Surface Dial 版本:OrbitLauncher v0.2.0 Surface Dial Preview 1
- 直接下载:OrbitLauncher-macOS-arm64.zip
Surface Dial 操作方式
- 第一次旋转:唤出环形界面
- 继续旋转:逐项切换应用
- 按下旋钮:确认当前选择
- 进入第二层后:旋转选择当前应用的快捷操作
- 原生读取 Surface Dial HID 数据,不需要模拟鼠标滚轮
- 支持 Surface Dial 刻度震动反馈
- 支持系统休眠唤醒
- 支持设备断开后自动重连
应用功能
除了 Surface Dial ,目前还支持:
- 使用鼠标滚轮或键盘编码器控制
- 自定义启动快捷键
- 自定义旋转多少格切换一次
- 环形显示当前运行的应用
- 可选择是否显示应用名称
- 可选择是否启用第二层操作菜单
- 关闭第二层时,选中后直接切换或启动应用
- 第二层默认定位到“切换当前窗口”
- 切换到已最小化的应用时,自动恢复窗口
- 自定义关闭窗口快捷键
- 支持关闭当前窗口或彻底退出应用
- 环形启动器模式
- 可配置多套常用应用组合
安装说明
下载并解压后,将应用拖入“应用程序”目录。
首次启动时,需要按照提示授予辅助功能权限:
系统设置 → 隐私与安全性 → 辅助功能
因为目前没有 Apple 开发者签名,如果系统提示应用无法打开,可以前往:
系统设置 → 隐私与安全性
在页面下方选择“仍要打开”。
也可以在终端中执行:
xattr -dr com.apple.quarantine /Applications/OrbitLauncher.app

