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

xy19009188 2026-08-03 10:48 1

起初是发现了 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
最新回复 (5)
  • xy19009188 楼主 08-03 10:48
    1
  • xAI 08-03 11:09
    2
    创意不错,能不能改造成 codex 键盘的替代品
  • xy19009188 楼主 08-03 11:45
    3
    @xAI 手里有个 4x4pad ,正在改
  • andforce 08-03 16:28
    4
    这个分体键盘来个链接呗
  • xy19009188 楼主 08-03 16:58
    5
    @andforce 睫毛哥 solfe ,淘宝直接搜就行
* 帖子来源V2EX
返回