尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

TOML 配置文件完全解析:OpenLogi 的 config.toml 结构与 5 个必备字段

TOML 配置文件完全解析:OpenLogi 的 config.toml 结构与 5 个必备字段 TOML 配置文件完全解析OpenLogi 的 config.toml 结构与 5 个必备字段【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogiOpenLogi 是一款用 Rust 编写的本地优先外设管理软件是 Logitech Options 的免费替代方案按钮重映射、DPI 调节、SmartShift 滚轮模式全部通过 HID 协议直连硬件无需注册账号、没有遥测、设置完全离线。它的全部设置都保存在一个纯文本 TOML 文件里——config.toml。这篇文章带你完整看懂 OpenLogi 的 config.toml它藏在哪里、由哪 5 个必备字段组成、以及如何安全地手动编辑它。一、config.toml 在哪里各平台路径速查OpenLogi 的 GUI 和后台 agent 读取的是同一个文件路径遵循各平台规范见 crates/openlogi-core/src/paths.rs平台配置路径macOS~/.config/openlogi/config.tomlLinux$XDG_CONFIG_HOME/openlogi/config.toml通常是~/.config/openlogi/config.tomlWindows%USERPROFILE%\.config\openlogi\config.toml 找不到文件用任意文本编辑器直接创建该目录和文件即可从官方示例里复制你需要的段落。完整的可运行示例位于仓库的docs/config.example.toml说明文档在docs/CONFIGURATION.md。二、先认识 config.toml 的顶层骨架一个最小可用的 OpenLogi 配置长这样schema_version 6 selected_device receiver:aabbccdd:slot:1 [app_settings] language zh-CN appearance system [devices.receiver:aabbccdd:slot:1] custom_name 办公鼠标 dpi 1600 dpi_presets [800, 1600, 3200] [keyboard.bindings] f1 MissionControl整个文件由5 个必备核心字段组成下面逐一拆解 三、5 个必备字段逐个讲透1️⃣schema_version配置文件的版本号schema_version 6这是 config.toml 中唯一强制要求的顶层字段定义于crates/openlogi-core/src/config.rs。OpenLogi 读取时先检查它版本过旧如 v1–v5→ 自动迁移升级保存时自愈为新格式版本过新比当前程序还新→ 直接拒绝加载防止悄悄弄丢你的绑定版本号填 0 或未知 → 报错而不是用默认值糊弄过去。 手动新建配置时照抄当前版本的数字即可不要乱填。2️⃣selected_device记住你上次在操作哪台设备可选字段。它保存的是当前活动设备的物理设备键重启 OpenLogi 后界面会直接定位到这台设备而不是永远回到列表第一台。设备键的两种常见形态receiver:接收器ID:slot:槽位号—— 通过接收器配对的设备unit:十六进制ID或serial:序列号—— 直连 USB 的设备v5 起改用设备是什么而非从哪个口接入来标识换线/换口设置也不丢。⚠️ 常见错误用型号 ID如2b042当键名。请只复制 OpenLogi 已经为你的设备写好的键。3️⃣[app_settings]全局偏好设置区不属于任何一台设备的应用级开关都住在这里结构定义见crates/openlogi-core/src/config/settings.rs字段作用默认值launch_at_login开机/登录自启动falsecheck_for_updates允许检查更新默认关闭尊重无遥测承诺falseshow_in_menu_bar显示菜单栏/托盘图标truecapture_mouse_events安装鼠标钩子以启用按钮重映射truesmooth_scroll传统滚轮输入替换为平滑滚动动画falsevertical_scroll_sensitivity垂直滚轮灵敏度1–10014 1 倍速14thumbwheel_sensitivity拇指滚轮灵敏度1–10014 1 倍速14language界面语言如zh-CN跟随系统appearance外观system/light/darksystemdevice_view_mode首页设备列表布局grid/list/carouselgridauto_download_assets是否自动下载设备图片资源true所有字段都有默认值缺什么就用什么默认值文件可以非常精简。4️⃣[devices.设备键]每台设备的私人定制区这是整个 config.toml 的主菜结构定义在crates/openlogi-core/src/config/device.rs。常用字段[devices.receiver:aabbccdd:slot:1] custom_name 办公鼠标 dpi 1600 dpi_presets [800, 1600, 3200] invert_scroll false scroll_resolution high thumbwheel_sensitivity 20 [devices.receiver:aabbccdd:slot:1.bindings] Back BrowserBack MiddleClick { HoldShortcut CtrlSpace } DpiToggle { short ShowDesktop, long MissionControl } [devices.receiver:aabbccdd:slot:1.smartshift] mode ratchet auto_disengage 16几个高频用法dpidpi_presets传感器 DPI 存在设备 RAM 里断电即重置所以 OpenLogi 每次重连都会重新写入——这也是它必须持久化的原因bindings按钮重映射支持三种形态——直接一个动作Back BrowserBack、按住型快捷键HoldShortcut适合语音对讲松开物理键自动释放、以及短按/长按分离short/long以 500ms 为分界长按满 500ms 触发一次long之后的松手不会再触发shortper_app_bindings按前台应用覆盖动作如在 VSCode 里 Back 键变成撤销Back Undosmartshift滚轮模式ratchet棘轮 /free自由悬停 自动悬停阈值8–255默认16低于 8 会被拒绝。5️⃣[keyboard.bindings]全局功能键重映射与具体设备无关的键盘触发器独立成区[keyboard.bindings] f1 MissionControl shiftcommandf5 ShowDesktop支持shift、control、option、command四个修饰键ctrl、alt、cmd等别名也可识别。动作名是英文变体名如Copy、BrowserBack、PlayPause、CycleDpiPresets需要参数的动作用单键内联表例如Back { CustomShortcut CmdShiftP }四、安全编辑 config.toml 的 3 个实用技巧改之前看一眼备份机制GUI 是原子写入并自动保留config.toml.backup.1到.backup.5共 5 份备份已知字段的更新还会保留你写的注释与格式schema 是严格的拼错字段、超范围数值比如brightness 120会直接拒绝加载而不是静默吞掉——此时 GUI 进入只读模式并给出精确的 TOML 报错位置按提示修好再重启即可GUI 开着时别手改文件在编辑器中被外部修改时GUI 的下一次保存会被拒绝以避免互相覆盖手动改完后重新打开 GUI后台 agent 会立即重载手改设置即时生效。五、获取官方示例与延伸阅读如果手边没有现成的配置文件可以克隆源码仓库其中docs/config.example.toml是一份经过完整测试的示例按需只复制你需要的段落git clone https://gitcode.com/GitHub_Trending/op/OpenLogi相关源码与文档位置均为仓库内相对路径配置示例docs/config.example.toml配置说明文档docs/CONFIGURATION.md配置结构定义与版本迁移逻辑crates/openlogi-core/src/config.rs全局偏好字段灵敏度、外观、语言等crates/openlogi-core/src/config/settings.rs每设备配置字段DPI、bindings、SmartShift 等crates/openlogi-core/src/config/device.rs各平台路径规则crates/openlogi-core/src/paths.rs总结OpenLogi 的 config.toml 用 5 个核心字段撑起了全部功能schema_version管版本兼容、selected_device记住当前设备、[app_settings]管全局开关、[devices.…]管每台的 DPI/按钮/滚轮/灯效、[keyboard.bindings]管全局热键。纯文本、无账号、全离线——把它复制一份、改几行、重启应用就是最直接的定制方式 ⌨️【免费下载链接】OpenLogi⚡️A native, local-first alternative to Logitech Options, written in Rust — remap buttons, DPI, and SmartShift over HID. No account, no telemetry.项目地址: https://gitcode.com/GitHub_Trending/op/OpenLogi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表