OpenLogi

Actions Ring

在光标处呼出八格轮盘启动器,支持按应用布局、自定义图标与标签,以及设备触感反馈。

Actions Ring 是一个轮盘启动器:按下触发键,八个动作会在指针周围展开,直接选取即可。它是主机侧 UI——由后台代理绘制浮层并执行选中的动作——因此任何有空余按键的设备都能呼出,并且布局可以随应用切换。

呼出与关闭

触发它的是 ShowActionsRing 动作。在 MX Master 4 上,Haptic Sense 触感面板(可触摸的拇指托)默认就承担这个动作。若想用别的控件呼出轮盘,需要在 config.toml 中把 ShowActionsRing 绑定到该按键:GUI 的动作选择器目前还没有列出它,所以这一步要改配置文件。

轮盘在当前光标位置弹出,并显示在光标所在的显示器上。点击某一格,或悬停其上再松开触发键,即可执行该动作。若不想选任何动作,可以再按一次触发键、点中间的 ×,或(在 macOS 上)点击轮盘以外的任意位置。无人操作的轮盘会在数秒后自行失效。

格位

八个位置从十二点方向顺时针命名:TopTopRightRightBottomRightBottomBottomLeftLeftTopLeft。开箱默认依次是剪切、复制、粘贴、浏览器前进、播放 / 暂停、浏览器后退、撤销、重做。

每个已填充的格位包含:

  • 一个动作 —— 除 ShowActionsRing 自身(轮盘不能再打开轮盘)与 None(空格位就是缺省条目,清空即删除)之外的任意绑定动作。
  • 可选图标 —— 从内置图标库中选择,或留空以沿用动作自带的图标。
  • 可选标签 —— 悬停时显示的自由文本。自定义标签一律按原文渲染、从不参与本地化,这正是多个 RunShellCommand 格位能彼此区分、而不是全都写着「Run Command」的原因。

在 GUI 中

选中设备后打开它的 Actions Ring 标签页:带可重映射按键的指点设备,以及任何带触感面板的设备都会显示该页。编辑器按实际样式呈现轮盘,并提供一排控制项:

  • 启用 —— ShowActionsRing 是否会打开该设备的轮盘。
  • 触感反馈 —— 在支持的硬件上(HID++ 0x19b0 hapticFeedback),悬停与激活格位时播放设备反馈;关闭则保持安静。
  • 格位编辑 —— 点击某格可选择动作、图标(使用动作图标表示沿用推导出的图标)与自定义标签;清空格位将其置空。

按应用的轮盘

按应用的轮盘是完整布局,而非稀疏叠加:当前台应用匹配时,该布局会整体替换默认布局,因此你想要的每一格都必须列出。这一点与按应用的按键绑定不同:后者未列出的按键会回落到全局映射。

在配置中

轮盘位于 config.toml[devices.<key>.action_ring] 下:

[devices."receiver:aabbccdd:slot:1".action_ring]
enabled = true
haptics = true

# 省略 `icon` 表示沿用动作自带图标;省略 `label` 表示使用动作名;
# 整格省略表示该位置留空。
[devices."receiver:aabbccdd:slot:1".action_ring.default.slots]
Top = { action = "Cut" }
TopRight = { action = "Copy", icon = "Copy" }
Right = { action = "Paste", label = "Paste It" }
BottomRight = { action = "BrowserForward" }
Bottom = { action = "PlayPause" }
BottomLeft = { action = "BrowserBack" }
Left = { action = "Undo" }
TopLeft = { action = { OpenApplication = { path = "/Applications/Safari.app", display_name = "Safari" } } }

# 按应用的轮盘是完整布局,而不是叠加。
[devices."receiver:aabbccdd:slot:1".action_ring.per_app."com.microsoft.VSCode".slots]
Top = { action = "Cut" }
TopRight = { action = "Copy" }
Right = { action = "Redo" }
BottomRight = { action = "NextTab" }
Bottom = { action = "ShowDesktop" }
BottomLeft = { action = "PrevTab" }
Left = { action = "Undo" }
TopLeft = { action = "Paste" }

应用标识符的规则与按应用绑定一致:macOS 上是 bundle id,Linux 上是 WM_CLASS 类名(X11 / GNOME)或 xdg-shell 的 app_id(wlroots),Windows 上是小写的可执行文件路径,也可用 exe:<name>.exe 作为兜底。参见按应用配置

状态: 轮盘浮层由代理的 GPUI 辅助进程绘制,macOS、Linux、Windows 均可用;点击外部关闭目前仅 macOS 支持。触感反馈需要设备上报 HID++ 0x19b0(例如 MX Master 4),其它设备呼出轮盘时不会有触感。协议细节见 0x19b0 hapticFeedback

本页目录