Skip to content

[Bug / Feature Request]: Unable to assign custom single-key shortcuts (like 'C' or 'X') via GUI, and manual TOML edits are overwritten on app restart #518

Description

@stealthwhizz

Pre-flight checklist

  • I searched existing issues and this is not a duplicate.
  • I am on the latest release or a recent master build.
  • I quit Logi Options+ before running OpenLogi (the two apps fight over HID++ access and only one can own a receiver at a time).

Which part of OpenLogi?

GUI (desktop app)

OpenLogi version

0.6.23

Operating system

Windows

OS version & architecture

Windows 11 x64

Device model

Logitech MX Master 2S

How is the device connected?

Logi Bolt receiver

Affected area(s)

  • Device discovery / detection
  • Button remapping
  • DPI control
  • SmartShift
  • Per-application profiles
  • Battery status
  • Settings / configuration (TOML)
  • Auto-update
  • Menu bar / tray
  • Other

What happened?

Bug Description

I am attempting to map single keyboard keys ('C' and 'X') to the side buttons (Forward/Back) of my Logitech MX Master 2S on Windows 11.

  1. The OpenLogi GUI action-picker does not currently offer a native option to select single keyboard characters/letters for remapping.
  2. When attempting to work around this by completely quitting the application and manually editing the device bindings block in %USERPROFILE%\.config\openlogi\config.toml to use CustomShortcut = ["C"] and CustomShortcut = ["X"], the application completely overwrites my edits. The moment OpenLogi is relaunched or closed, the custom bindings section is stripped out and the TOML file reverts back to its default state.

Steps to Reproduce

  1. Ensure OpenLogi is completely closed (checked via Task Manager).
  2. Open config.toml and manually append the custom shortcut bindings under the device section.
  3. Save and close the TOML file.
  4. Launch OpenLogi.
  5. Observe that the buttons do not register the keystrokes.
  6. Re-open config.toml and find that the entire bindings block has been deleted/reset.

Steps to reproduce

  1. Ensure OpenLogi is completely closed (checked via Windows Task Manager).
  2. Open config.toml in Notepad and manually append the custom shortcut bindings under the device section:
    Back = { CustomShortcut = ["X"] }
    Forward = { CustomShortcut = ["C"] }
  3. Save and close the TOML file.
  4. Launch OpenLogi.
  5. Press the mouse side buttons in Notepad (they do not register 'C' or 'X').
  6. Re-open config.toml and find that the entire bindings block has been deleted

Diagnostics report

### OpenLogi Diagnostics

**App**
- OpenLogi (GUI): v0.6.23 (release)
- Agent: v0.6.23 (connected)
- IPC protocol: GUI 10 / agent 10
- Inventory: ready
- OS: Windows (x86_64)
- Locale: en-US (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: no · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 3 · 1 configured device(s) · thumbwheel 14

**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: C:\Users\whizy\.local/share/openlogi\assets · Bundle assets: absent

**Devices (1)**
- MX Master 2S — mouse (codename: )
  - Connection: Bluetooth (direct) · Online: yes · Battery: n/a
  - Capabilities: buttons=yes, pointer=yes, lighting=no
  - Model: direct:046d:b019:unit:6e1d74a1 (model-ids: b019/4069/0000, ext-model: 03)
  - Transports: eQuad, BTLE
  - Render: mx_master_2s · direct

openlogi list output

CLI is unreachable / Windows platform is currently a stub.

Logs

macOS permissions (if applicable)

  • OpenLogi has Accessibility permission (needed to remap buttons via the event tap).
  • OpenLogi has Input Monitoring permission (needed for Bluetooth-direct devices and capture).

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs: triageNeeds maintainer triagetype: bugSomething is broken or behaves incorrectly

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions