OpenLogi

DPI 预设

设置鼠标指针分辨率,并管理一份可由硬件按键循环切换的有序 DPI 预设列表。

设置 Logitech 鼠标的指针分辨率,并维护一份有序的 DPI 预设列表,底层由 HID++ 0x2201 adjustableDpi 功能支持。滑块会吸附到设备实际支持的取值上,预设也可由硬件按键循环切换,因此无需打开窗口即可更改 DPI。

在 GUI 中

在设备轮播中选中鼠标,其配置栏有一个 DPI 区域,包含:

  • DPI 滑块 —— 其范围即设备自身支持的 DPI 列表(minmax,步长取相邻取值之间的最小间隔)。拖动只更新屏幕上的数值;当你松开滑块时才把新的 DPI 写入鼠标,且数值会吸附到设备上报的最近取值。仅支持单一 DPI 的鼠标显示固定数值而非滑块。
  • 范围标签 —— 设备能力已知后显示 {min}–{max} · step {n};当 OpenLogi 离线、仍在读取或读取失败时,则显示一行状态文字。
  • 预设标签(chip) —— 每个预设是一个可点击的标签。点击其一会把其取值吸附到设备网格、应用并写入鼠标。与当前 DPI 匹配的标签会高亮为激活态。标签上的 × 移除该预设,+ Add 把当前 DPI 追加到列表末尾。

设备能力在 DPI 面板首次渲染时惰性发现。若发现失败,面板会显示一行可点击的重试,为所选设备重新触发发现。

没有重排控件。预设只能追加(每次 + Add 把当前 DPI 放到末尾)并按索引移除,而该 Vec 的顺序就是循环顺序。要改变顺序,请移除后重新添加,或直接编辑配置。重复值是有意允许的,因此同一个 DPI 可以出现在多个循环位置上。

从按键循环切换

有两个动作可由硬件按键驱动预设列表:

  • CycleDpiPresets —— 步进到下一个预设,从最后一个回绕到第一个。它是模式切换键(DpiToggle)的默认动作,也是 GUI 动作选择器中唯一提供的 DPI 循环动作。
  • SetDpiPreset —— 直接跳到某个预设索引。它把该索引作为数据携带,因此在选择器中出现;需手动编辑 config.toml 来绑定。

预设列表为空时这两个动作都是空操作。编辑预设或切换设备会把循环位置重置到第一项,因为列表已发生变化。

在配置中

该列表按设备持久化为 [devices.<key>] 下的 dpi_presets,见配置

[devices.2b042]
dpi_presets = [800, 1600, 3200]

它是一个有序整数数组,为空时整项省略。完整的动作词表见配置,按应用切换预设见按应用配置

请先退出 Logi Options+,以便 OpenLogi 独占该设备。DPI 写入针对 0 号传感器;GUI 不处理多传感器鼠标。改为暴露 0x2202 extendedAdjustableDpi 而非 0x2201 的鼠标不受支持。

状态: macOS 与 Linux——设备侧的 DPI 写入在任何支持 HID++ 的平台上都可用;从按键触发它走操作系统钩子(macOS 上是 CGEventTap,Linux 上是 evdev),该钩子接管侧边的 后退 / 前进 键。Windows 为未经测试的预览。协议细节见 0x2201 adjustableDpi,已实现的部分见路线图

本页目录