GoForum🌐 V2EX

做了一个 macOS 环形应用切换器,现在支持 Microsoft Surface Dial

xy19009188 · 2026-08-03 10:49 · 0 次点赞 · 0 条回复

起初是发现了 OrbitRing Launcher 这个软件,感觉它的环形交互很新颖,和我手里的 Sofle 分体键盘编码器特别搭。

不过体验后发现,OrbitRing 主要适配的是鼠标指针,并不能直接使用编码器或者鼠标滚轮进行选择。虽然指针操作可能更快,但我就是想折腾一下编码器,于是给作者写了一封建议邮件,不过一直没有收到回复。

正好现在有了 Codex ,我便尝试让它从头写一个类似的 macOS 环形应用切换器。做出来以后发现确实很好用,但键盘上的小编码器手感偏硬,长时间旋转并不舒服。

我就在想:要是有一个独立的大旋钮就好了。

随后看了一圈市面上的桌面旋钮,发现大多数产品都不开源,通常也是通过模拟鼠标滚轮进行控制,并不是真正的原生刻度旋转。

这时我突然想到了微软的 Surface Dial。搜索后发现,macOS 上已经有一些能够读取 Surface Dial 原生 HID 数据的开源方案,而且它本身支持刻度震动反馈、磁吸底座,微软的做工也更有保障。

于是我花了一天时间,在原来的编码器版本上适配了 Surface Dial 。然后在小黄鱼花 120 元包邮买了一个仅拆封的,到手以后发现意外地好用:

旋转一格、切换一项,刻度反馈清晰,按下旋钮即可确认。

它和环形应用切换器的交互非常契合。

项目地址

Surface Dial 操作方式

  • 第一次旋转:唤出环形界面
  • 继续旋转:逐项切换应用
  • 按下旋钮:确认当前选择
  • 进入第二层后:旋转选择当前应用的快捷操作
  • 原生读取 Surface Dial HID 数据,不需要模拟鼠标滚轮
  • 支持 Surface Dial 刻度震动反馈
  • 支持系统休眠唤醒
  • 支持设备断开后自动重连

应用功能

除了 Surface Dial ,目前还支持:

  • 使用鼠标滚轮或键盘编码器控制
  • 自定义启动快捷键
  • 自定义旋转多少格切换一次
  • 环形显示当前运行的应用
  • 可选择是否显示应用名称
  • 可选择是否启用第二层操作菜单
  • 关闭第二层时,选中后直接切换或启动应用
  • 第二层默认定位到“切换当前窗口”
  • 切换到已最小化的应用时,自动恢复窗口
  • 自定义关闭窗口快捷键
  • 支持关闭当前窗口或彻底退出应用
  • 环形启动器模式
  • 可配置多套常用应用组合

安装说明

下载并解压后,将应用拖入“应用程序”目录。

首次启动时,需要按照提示授予辅助功能权限:

系统设置 → 隐私与安全性 → 辅助功能

因为目前没有 Apple 开发者签名,如果系统提示应用无法打开,可以前往:

系统设置 → 隐私与安全性

在页面下方选择“仍要打开”。

也可以在终端中执行:

”`bash xattr -dr com.apple.quarantine /Applications/OrbitLauncher.app

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: xy19009188
发布: 2026-08-03
点赞: 0
回复: 0