OpenLogi

重映射按键

通过交互式示意图或配置文件,把鼠标按键重新指派为 44 个内置动作之一。

在 GUI 的交互式示意图里重新指派罗技鼠标上可编程的按键:点击某个按键热点——或它的标签卡——然后从 44 个内置动作中挑选,从 Copy/PasteMissionControl、媒体键、真实的鼠标 4/5 键(MouseBack/MouseForward),以及 CycleDpiPresets。左右键始终直通;其余按键都可以重映射、按应用限定,并保存到你的 TOML 配置

在 GUI 中

在设备轮播里选中鼠标并打开它的 Buttons 标签页。页面会显示一张鼠标交互示意图——OpenLogi 有该设备素材时使用其官方渲染图,否则用合成剪影——每个可编程按键上有一个热点圆点,并用引导线连到侧边的标签卡

  • 热点圆点或标签卡 —— 同一流程的两个入口。悬停会高亮该按键;标签卡显示当前绑定,未绑定时显示 Unbound。点击任一处都会打开小浮层。
  • 动作选择器 —— 按类别(鼠标、编辑、浏览器、导航、系统、媒体、DPI、滚动)分组的可滚动列表,当前绑定带勾选标记。点击某行即提交并关闭浮层。选择 Do Nothing 表示捕获输入但什么都不做。
  • 自定义绑定 —— 选择器还可以录入自定义快捷键(直接键入 Cmd+Shift+P 这样的组合键)与打开应用(应用、文件夹、路径或 URL)。Power User 分区另有 TypeTextRunAppleScriptRunShellCommand 以及多步的 Workflow
  • 手势 —— 支持手势的按键,其选择器顶部固定有一行 Gestures。点击它会把该按键提升为手势模式:原本的单个动作变成 Click 分支,四个滑动分支从默认值初始化。再次打开浮层就会进入手势菜单:一张十字形导航卡,列出 UpDownLeftRightClick,每一项都能展开完整动作目录,底部还有一行可以把该按键降回单一动作。

任意数量的按键都可以同时处于手势模式:中键、后退、前进键与专用手势键或 MX Master 4 的 Haptic Sense 面板一样自由。这正是 Options+ 做不到的:它把手势角色固定在专用拇指键上。

按键是如何被捕获的

捕获分为两条路径,最终汇入同一个动作分发器:

  • 系统钩子 —— macOS 上的 CGEventTap、Linux 上的 evdev/uinput、Windows 上的 WH_MOUSE_LL,负责侧键:后退前进中键。macOS 上需要辅助功能权限,Linux 上需要安装包附带的 udev 规则。
  • HID++ 0x1b04 reprogControlsV4 接管手势键Haptic Sense 面板(读取为原始滑动位移)、DpiToggle(模式切换)键,以及你绑定的任何键盘 F 区按键。当拇指滚轮的灵敏度离开默认值,或它的点按 / 某个旋转方向被重新绑定时,滚轮会通过 0x2150 thumbwheel 被接管。

区分手势与点击靠按住时长与位移:按住超过 160 毫秒且主轴位移至少 50 个原始 XY 单位即提交一次方向滑动;快速轻点则在松开时触发 Click 分支。

捕获按设备进行,代理会在绑定变化时重建捕获计划,因此只有你真正绑定过的控件才会被接管,其余控件保持固件原生行为。

在配置中

绑定按设备持久化为纯 TOML,以设备的物理键索引。动作名原样序列化,与选择器里看到的一致:

[devices."receiver:aabbccdd:slot:1".bindings]
Back = "BrowserBack"
Forward = "BrowserForward"
MiddleClick = "MissionControl"
HapticPanel = "ShowActionsRing"

# 处于手势模式的按键按方向绑定;Click 是单纯按下。
[devices."receiver:aabbccdd:slot:1".bindings.GestureButton]
Left = "PrevTab"
Right = "NextTab"
Click = "PlayPause"

同样的键也可以写在 per_app_bindings."<app-id>" 下,只在指定应用位于前台时生效。完整的按键与动作词汇见配置,叠加规则见按应用配置

请先退出 Logi Options+,让 OpenLogi 能够占用设备。在 macOS 上,事件钩子需要辅助功能权限才能重映射侧键;HID++ 路径(手势键、触感面板、DpiToggle、拇指滚轮)则不需要。绑定按设备保存,因此未选中设备时它们只会留在内存里,直到你选中一台设备。

状态: macOS、Linux 与 Windows 均可用。逐平台细节见路线图,协议细节见 0x1b04 reprogControls5

本页目录