OpenLogi

按应用配置

在 config.toml 中编写叠加规则,让按键绑定与 Actions Ring 布局随前台应用自动切换。

按应用配置让 OpenLogi 根据前台应用自动切换设备的按键绑定。后台观察器每秒读取一次前台应用的标识符;一旦变化,你为该应用编写的叠加就会覆盖到设备的全局 bindings 之上:按应用的条目优先,未列出的按键回落到全局映射。Actions Ring 也能按应用切换,不过它是完整布局而非叠加。DPI 预设、滚动与灯光始终是设备级的。

应用标识符

标识符就是各平台为前台窗口上报的值,必须与配置键完全一致,没有通配符,也没有模式匹配。

平台标识符示例
macOSBundle idcom.microsoft.VSCode
Linux(X11 / XWayland、GNOME Shell)WM_CLASS 类名Code
Linux(wlroots 合成器)xdg-shell app_idcode
Windows小写的可执行文件路径,或 exe:<name>.exeexe:sharex.exe

Linux 各后端并不共用同一套命名空间:在 wlroots 合成器下(按 app_id)编写的配置在 GNOME 或 X11(按 WM_CLASS)下不会匹配,反之亦然。请按你当前会话实际上报的形式编写。

在 Windows 上,两种形式同时存在时以精确路径优先,因此 exe: 适合作为商店应用和会自更新、路径会变的安装方式的稳定兜底。

在 GUI 中

按键绑定目前还没有按应用的编辑器,动作选择器编辑的是设备的全局 bindings,叠加需要在 config.toml 中手写。界面上会呈现两点:

  • 当前配置档 —— 配置卡片上的只读行,显示前台应用的标识符作为当前配置档;没有前台应用时显示 Default profile。它是状态展示,不是编辑器。
  • 自动切换 —— 完全自动,无需任何控件。观察器报告新的标识符后,OpenLogi 会重建内存中的绑定映射并交给事件钩子,因此下一次按键就会用上新应用的叠加。

编写叠加

[devices.<key>.per_app_bindings."<app-id>"] 下添加一张表,内容是部分「按键 → 动作」映射。你列出的按键会在该应用位于前台时覆盖全局绑定;未列出的按键保持全局取值。

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

# VS Code 位于前台时,Back 变成撤销、Forward 变成重做。
[devices."receiver:aabbccdd:slot:1".per_app_bindings."com.microsoft.VSCode"]
Back = "Undo"
Forward = "Redo"

取值是原样书写的动作名。叠加只会新增或覆盖键,永远不会删除键,因此若要让某个按键在特定应用中什么都不做,请把它设为 None,而不是省略它。按应用的叠加总是把按键映射到单个动作;按方向的手势映射始终是设备级的。

切换以约 1 秒的周期轮询,因此切换应用后可能有最多 1 秒的延迟。

状态: macOS、Linux 与 Windows 均可用。在 Linux 上标识符取决于会话后端(X11 / XWayland、GNOME Shell 或 wlroots 合成器);三者都不可用的会话不会上报任何应用,一切回落到 Default profile。配置写在 config.toml 中,由操作系统的前台应用 API 驱动,而非某个 HID++ 特性。

本页目录