Actions Ring
在光标处呼出八格轮盘启动器,支持按应用布局、自定义图标与标签,以及设备触感反馈。
Actions Ring 是一个轮盘启动器:按下触发键,八个动作会在指针周围展开,直接选取即可。它是主机侧 UI——由后台代理绘制浮层并执行选中的动作——因此任何有空余按键的设备都能呼出,并且布局可以随应用切换。
呼出与关闭
触发它的是 ShowActionsRing 动作。在 MX Master 4 上,Haptic Sense
触感面板(可触摸的拇指托)默认就承担这个动作。若想用别的控件呼出轮盘,需要在
config.toml 中把 ShowActionsRing
绑定到该按键:GUI 的动作选择器目前还没有列出它,所以这一步要改配置文件。
轮盘在当前光标位置弹出,并显示在光标所在的显示器上。点击某一格,或悬停其上再松开触发键,即可执行该动作。若不想选任何动作,可以再按一次触发键、点中间的 ×,或(在 macOS 上)点击轮盘以外的任意位置。无人操作的轮盘会在数秒后自行失效。
格位
八个位置从十二点方向顺时针命名:Top、TopRight、Right、BottomRight、Bottom、BottomLeft、Left、TopLeft。开箱默认依次是剪切、复制、粘贴、浏览器前进、播放
/ 暂停、浏览器后退、撤销、重做。
每个已填充的格位包含:
- 一个动作 —— 除
ShowActionsRing自身(轮盘不能再打开轮盘)与None(空格位就是缺省条目,清空即删除)之外的任意绑定动作。 - 可选图标 —— 从内置图标库中选择,或留空以沿用动作自带的图标。
- 可选标签 —— 悬停时显示的自由文本。自定义标签一律按原文渲染、从不参与本地化,这正是多个
RunShellCommand格位能彼此区分、而不是全都写着「Run Command」的原因。
在 GUI 中
选中设备后打开它的 Actions Ring 标签页:带可重映射按键的指点设备,以及任何带触感面板的设备都会显示该页。编辑器按实际样式呈现轮盘,并提供一排控制项:
- 启用 ——
ShowActionsRing是否会打开该设备的轮盘。 - 触感反馈 —— 在支持的硬件上(HID++
0x19b0hapticFeedback),悬停与激活格位时播放设备反馈;关闭则保持安静。 - 格位编辑 —— 点击某格可选择动作、图标(使用动作图标表示沿用推导出的图标)与自定义标签;清空格位将其置空。
按应用的轮盘
按应用的轮盘是完整布局,而非稀疏叠加:当前台应用匹配时,该布局会整体替换默认布局,因此你想要的每一格都必须列出。这一点与按应用的按键绑定不同:后者未列出的按键会回落到全局映射。
在配置中
轮盘位于 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。