MX Master 4
OpenLogi 在 MX Master 4 上能驱动的每个控件、背后对应的 HID++ feature,以及绑定它们的 config.toml。
Logitech 的注册表把这只鼠标记作 model id 2b042 —— OpenLogi 按它取渲染图与热点数据,
model id 索引里也用它归档。下面写的是这款产品;你手上那台究竟
报告了什么,以 openlogi diag features 打印的为准。
控件
1234567- 1中键
- 2模式切换(DPI)键
- 3拇指滚轮
- 4手势键
- 5前进
- 6后退
- 7触感面板
控件在 config.toml 里使用逻辑名。代理会捕获当前绑定与内置手势 / 触感默认动作所需的控件:
| # | 控件 | 绑定名 | 截取方式 |
|---|---|---|---|
| 1 | 中键 | MiddleClick | 系统输入钩子 |
| 2 | 模式切换键 | DpiToggle | 0x1b04 |
| 3 | 拇指滚轮 | Thumbwheel、ThumbwheelScrollUp、ThumbwheelScrollDown | 0x2150 |
| 4 | 手势键 | GestureButton | 0x1b04 |
| 5 | 前进 | Forward | 系统输入钩子;macOS 手势捕获还使用 HID++ |
| 6 | 后退 | Back | 系统输入钩子;macOS 手势捕获还使用 HID++ |
| 7 | 触感面板 | HapticPanel | 0x1b04 表中一个可截取的 0x01a0 控件 |
后退、前进、手势键和触感面板支持手势模式;模式切换键需要先实测出 raw-XY
能力。绑定项从单个动作变成 Up / Down / Left / Right / Click 的表,多个键可以同时使用。
拇指滚轮不支持此模式;中键手势只保留对已有配置的兼容,不再允许新建。参见
重映射按键。
触感面板是这只鼠标独有、前代没有的控件。它在可重编程控件表里就是一个普通的可截取控件,
因此和别的按键一样绑定 —— 绑成 ShowActionsRing 就是让它唤出
Actions Ring —— 而振动本身来自
0x19b0。
这只鼠标会点亮哪些面板
面板是按设备自报的 feature id 决定的,与它的产品类型无关;下面是 MX Master 4 通常会 报出来的那些:
| 面板 | Feature | 页面 |
|---|---|---|
| DPI 预设 | 0x2201 AdjustableDpi,或 0x2202 扩展版 | DPI |
| SmartShift | 0x2111 SmartShiftEnhanced | SmartShift |
| 滚动方向与滚轮分辨率 | 0x2121 HiResWheel | 滚动 |
| 拇指滚轮 | 0x2150 Thumbwheel | 滚动 |
| 触感反馈 | 0x19b0 HapticFeedback | Actions Ring |
| 电量 | 0x1004 UnifiedBattery | — |
| 主机切换 | 0x1814 ChangeHost | — |
某个面板没出现,意味着这台设备没报对应的 feature;以 openlogi diag features 为准,
而不是这张表。
配置
设备块以物理设备为键,而不是型号 —— 同一台机器上的两只 MX Master 4 永远不会共用一个
条目。先在应用里配一次,再从 config.toml 复制生成的键。已知的 unit:… 或 serial:…
身份会跟随设备跨连接方式生效;接收器和直连路径保存在该身份下的 links 中。以下键仅作示例,并非整个型号共用的标识。
[devices."unit:6be9d300"]
dpi = 1600
dpi_presets = [800, 1600, 3200]
invert_scroll = false
[devices."unit:6be9d300".smartshift]
mode = "ratchet"
auto_disengage = 20
tunable_torque = 0
[devices."unit:6be9d300".bindings]
MiddleClick = "MissionControl"
DpiToggle = { SetDpiPreset = 2 }
HapticPanel = "ShowActionsRing"
Back = { CustomShortcut = "Cmd+Shift+P" }
[devices."unit:6be9d300".bindings.GestureButton]
Up = "MissionControl"
Down = "ShowDesktop"
Left = "PrevTab"
Right = "NextTab"
Click = "AppExpose"上面每个键的含义与完整动作列表,见配置文件。
身份
注册表里的 2b042 并不是固件报出来的东西:MX Master 4 在 0x0003 deviceInformation
里回的是 ext=01 加 PID b042,所以对得上的是末四位而非前缀 —— OpenLogi 正是按末四位
匹配的,原因写在 Model ID 索引里。openlogi list 会在已配对
设备下把这两者原样打印出来。