AprilNEA / AprilNEA/OpenLogi

[Feature]: Support generic (non-Logitech) device macro remapping

Open
#1,159 0 comments 0 reactions 0 assignees View on GitHub
needs: triage type: feature
Dominant language
Rust
Stars
21k
Forks
675
Avg merge
2d 5h
Merged PRs (30d)
172

Description

### Pre-flight checklist

- [x] I searched existing issues and the [Roadmap](https://github.com/AprilNEA/OpenLogi#roadmap), and this isn't already tracked.

### Problem / motivation

OpenLogi only works with Logitech hardware — it ignores all non-Logitech
devices. But the official Logitech Options+ already lets us remap/macro generic
mice and keyboards via its OS-level hook. Since OpenLogi aims to be a local-first,
ad-free Options+ replacement, adding this lets people fully drop Options+ for
both their Logitech and non-Logitech devices.

### Proposed solution

Add an optional, additive **generic device layer**: capture non-Logitech button
presses via the OS input hook and reuse the existing action/macro engine to emit
remaps/shortcuts. Opt-in via a config flag; never interferes with the existing
HID++ layer.

A minimal first milestone — capture a generic button and emit a configurable
shortcut — already covers my use case. DPI/smartshift stay Logitech-only.

### Alternatives considered

Nil

### Related area(s)

- [x] GUI
- [x] CLI
- [ ] Button actions / remapping
- [ ] DPI
- [ ] SmartShift
- [ ] Per-application profiles
- [x] Configuration (TOML)
- [ ] Auto-update
- [ ] Other

### Additional context

Related:

#886
#121

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing Logitech HID++ layer, action/macro engine, TOML configuration, and the GUI and CLI entry points. The first milestone is complete when an opt-in generic device layer captures a generic button and emits a configurable shortcut without interfering with Logitech handling.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli, desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.