OpenLogi

重映射按键

通过交互式示意图或配置文件,将鼠标按键重新指定为 41 个内置动作中的任意一个。

在 GUI 的交互式示意图中重新指定 Logitech 鼠标的可编程按键:点击一个按键热点——或它的标签卡——然后从 41 个内置动作中选择,从 Copy/PasteMissionControl、媒体键、真实的鼠标 4/5 键(MouseBack/MouseForward),或 CycleDpiPresets。左键和右键始终透传,其余按键都可以重映射、按应用限定生效范围,并保存到你的 TOML 配置中。

在 GUI 中

在设备轮播中选中鼠标。其详情面板会显示一张鼠标的交互式示意图——当 OpenLogi 拥有该设备时使用设备自身的图样,否则使用一个合成轮廓——每个可编程按键上方都有一个热点圆点,并由引导线连到侧边的一张标签卡

  • 热点圆点或标签卡 —— 进入同一流程的两个入口。悬停会高亮该按键;标签卡显示当前绑定,若无绑定则显示 Unbound。点击二者之一都会打开一个小弹出层。
  • 动作选择器 —— 一个可滚动列表,将动作目录按类别分组(Mouse、Editing、Browser、Navigation、System、Media、DPI、Scroll)。当前绑定带有勾选标记。点击某一行即提交并关闭弹出层。选择 None 会捕获该输入但不执行任何动作。
  • 手势菜单 —— 手势键改为打开一个两级菜单:每个方向一个子菜单(UpDownLeftRightClick),每个子菜单都列出完整的动作目录。绑定按方向分别保存。
  • 手势键选择器 —— 示意图上方的单选行决定哪个物理按键承担手势角色:拇指键、中键、后退或前进键——也可以选 Off 彻底关闭。选中新按键会自动卸下原承担者;这是 Options+ 没有的能力(它把手势固定在拇指键上)。

按键如何被捕获

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

  • 操作系统钩子——macOS 上是 CGEventTap,Linux 上是 evdev/uinput,Windows 上是 WH_MOUSE_LL——接管侧边按键:BackForward 以及中键点击。在 macOS 上需要辅助功能(Accessibility)权限;在 Linux 上需要安装包附带的 udev 规则。
  • HID++ 0x1b04 reprogControlsV4 改道手势键(读取为原始的甩动位移)与 DpiToggle(模式切换)键。当拇指轮的灵敏度离开默认值时,或当它的点击或某个旋转方向被改绑时,它会通过 0x2150 thumbwheel 改道。

手势与点击的区分依据是按住时长与位移:按住超过 160 ms 且在主轴上有至少 50 个 raw-XY 单位的位移,就提交一次方向甩动;而快速一点则在松开时触发 Click 手势。

自定义键盘组合键(CustomShortcut)目前还不在 GUI 的动作选择器中——目录并不包含它。要为某个按键绑定组合键,现在需要在 OpenLogi 退出时手动编辑 config.toml

在配置中

按键绑定以纯 TOML 按设备持久化,键名为设备的 HID++ config_key。动作名称逐字序列化,因此读起来与选择器中一致:

[devices.2b042.bindings]
Back = "BrowserBack"
Forward = "BrowserForward"
MiddleClick = "MissionControl"

# 手势键按方向绑定;Click 是普通按下。
[devices.2b042.bindings.GestureButton]
Left = "PrevTab"
Right = "NextTab"
Click = "PlayPause"

同样的键也可以放在 per_app_bindings."<bundle.id>" 下,仅在某个应用处于前台时生效。完整的按键与动作词表见配置,叠加规则见按应用配置

请先退出 Logi Options+,以便 OpenLogi 独占该设备。在 macOS 上,事件钩子需要**辅助功能(Accessibility)**权限才能重映射侧边按键;而 HID++ 路径(手势、DpiToggle、拇指轮)则不需要。绑定按设备保存,因此在未选中任何设备时只会暂存在内存中,直到选中某个设备为止。

状态: macOS 与 Linux 已发布——操作系统钩子接管侧边的 Back / Forward(以及中键)按键;模式切换键与拇指轮的捕获已可配置,但硬件层面的捕获仍在落地中,手势键的分方向绑定也已可配置,硬件捕获仍待实现。Windows 为未经测试的预览。已接通的部分见路线图,协议细节见 0x1b04 reprogControlsV4

本页目录