Skip to content

[Bug]: macOS: "Capture Region" binding triggers full screenshot instead of region selector #1242

Description

@Taifunov

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?

Not sure

OpenLogi version

0.8.3

Operating system

macOS

OS version & architecture

macOS Tahoe 26.6.2

Device model

MX Keys

How is the device connected?

Bluetooth (direct, no 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?

I bound key F17 to the "Capture Region" action (confirmed selected/checked in the binding picker under System > Capture Region). Pressing F17 fires a full-screen screenshot instead of opening the interactive region selector.

"Capture Region" was added in #296 as a distinct action from "Screenshot" (System > Screenshot), specifically to send the region-selection shortcut (Cmd+Shift+Ctrl+4 on macOS) instead of the full-screen one. On 0.8.3 / macOS Tahoe 26.6.2, binding to "Capture Region" behaves the same as binding to "Screenshot" — the full screen is captured, with no region selection.

Steps to reproduce

  1. Open OpenLogi > Devices > (keyboard) > Keys
  2. Select an unused key (e.g. F17) and bind it to System > Capture Region
  3. Press the bound key
  4. Observe: a full-screen screenshot is taken/copied, not a region selection

Expected behavior

Pressing the key should invoke the interactive region-selection capture (equivalent to Cmd+Shift+Ctrl+4), matching the behavior described in #296.

Diagnostics report

### OpenLogi Diagnostics

**App**
- OpenLogi (GUI): v0.8.3 (release)
- Agent: v0.8.3 (connected)
- IPC protocol: GUI 29 / agent 29
- Inventory: ready
- OS: macOS 26.6.2 (arm64)
- Locale: en-UA (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: no · Menu bar: yes · Update check: off
- Running from: source build (dev)
- Config: schema 7 · 2 configured device(s) · thumbwheel 14

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

**Devices (2)**
- G604 Lightspeed — mouse (codename: G604 Wireless Gaming Mouse)
  - Connection: Bluetooth (direct) · Online: yes · Battery: 90% (discharging, full)
  - Capabilities: buttons=no, pointer=yes, lighting=yes
  - Model: 0b024 (model-ids: b024/4085/0000, ext-model: 00)
  - Transports: eQuad, BTLE
  - Render: g604 · direct
- MX Keys — keyboard (codename: MX Keys Wireless Keyboard)
  - Connection: Bluetooth (direct) · Online: yes · Battery: 100% (discharging, full)
  - Capabilities: buttons=yes, pointer=no, lighting=no
  - DPI: unsupported
  - Model: 0b35b (model-ids: b35b/408a/0000, ext-model: 00)
  - Transports: eQuad, BTLE
  - Render: mx_keys · direct

openlogi list output

inventory read from the running agent)
MX Keys (—, vid=046d pid=b35b)
  └─ slot 255 ● MX Keys Wireless Keyboard (keyboard, wpid=?, battery=100% full (discharging))
          model_ids=[b35b,408a,0000] ext=00 serial=— unit_id=ae46b4d1 transports=equad+btle

G604 LIGHTSPEED (—, vid=046d pid=b024)
  └─ slot 255 ● G604 Wireless Gaming Mouse (mouse, wpid=?, battery=90% full (discharging))
          model_ids=[b024,4085,0000] ext=00 serial=— unit_id=56adffdc transports=equad+btle

Logs

2026-09-02T10:50:54.599115Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599000375Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: SendRequest
2026-09-02T10:50:54.599274Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599000375Z otel.kind="client" otel.name=Agent.protocol_version rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-09-02T10:50:54.599316Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599308333Z otel.kind="client" otel.name=Agent.declare_client rpc.trace_id=00}: tarpc::client: SendRequest
2026-09-02T10:50:54.599395Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599308333Z otel.kind="client" otel.name=Agent.declare_client rpc.trace_id=00}: tarpc::client: ReceiveResponse
2026-09-02T10:50:54.599439Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599428250Z otel.kind="client" otel.name=Agent.snapshot rpc.trace_id=00}: tarpc::client: SendRequest
2026-09-02T10:50:54.599580Z DEBUG RPC{rpc.deadline=2026-09-02T10:51:04.599428250Z otel.kind="client" otel.name=Agent.snapshot rpc.trace_id=00}: tarpc::client: ReceiveResponse
(inventory read from the running agent)
MX Keys (—, vid=046d pid=b35b)
  └─ slot 255 ● MX Keys Wireless Keyboard (keyboard, wpid=?, battery=100% full (discharging))
          model_ids=[b35b,408a,0000] ext=00 serial=— unit_id=ae46b4d1 transports=equad+btle

G604 LIGHTSPEED (—, vid=046d pid=b024)
  └─ slot 255 ● G604 Wireless Gaming Mouse (mouse, wpid=?, battery=90% full (discharging))
          model_ids=[b024,4085,0000] ext=00 serial=— unit_id=56adffdc transports=equad+btle

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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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