[Feature]: Global function-key bindings do not work on Linux
- 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