AprilNEA / AprilNEA/OpenLogi

[Feature]: Global function-key bindings do not work on Linux

Open
#799 1 comment 2 reactions 0 assignees View on GitHub
needs: triage type: feature
Dominant language
Rust
Stars
21k
Forks
675
Avg merge
1d 6h
Merged PRs (30d)
180

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

Config docs describe a `[keyboard.bindings]` section for global F-key remapping, e.g.:
```
[keyboard.bindings]
f7 = { OpenApplication = { path = "/usr/bin/gnome-characters", display_name = "Characters" } }
```
On Linux (Fedora 44, GNOME 50, Wayland) this has no effect at all. Pressing the bound key does nothing, not even with the GUI/agent open and correctly reloaded.

### Proposed solution

Implement a Linux backend for global F-key capture.

### Alternatives considered

- Ran agent with `OPENLOGI_LOG=debug` and pressed the bound key: zero log output mentions "keyboard"
- Checked whether the `openlogi-frontmost` GNOME Shell extension was missing

### Related area(s)

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

### Additional context

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the agent's handling of the [keyboard.bindings] configuration and reproduce the Linux case with OPENLOGI_LOG=debug while pressing F7. Done means the configured global F-key action works on Linux, including when the GUI or agent is running and after configuration reload.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux, rust
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.