[Bug]: K600 TV has navigation/function key bugs
- Dominant language
- Rust
- Stars
- 21k
- Forks
- 675
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 172
Description
### Pre-flight checklist
- [x] I searched [existing issues](https://github.com/AprilNEA/OpenLogi/issues?q=is%3Aissue) and this is not a duplicate.
- [x] I am on the [latest release](https://github.com/AprilNEA/OpenLogi/releases/latest) or a recent `master` build.
- [x] 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.7.7
### Operating system
Windows
### OS version & architecture
Windows 10, x86_64
### Device model
K600 TV
### How is the device connected?
Bluetooth (direct, no receiver)
### Affected area(s)
- [ ] Device discovery / detection
- [x] Button remapping
- [ ] DPI control
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Battery status
- [ ] Settings / configuration (TOML)
- [ ] Auto-update
- [ ] Menu bar / tray
- [ ] Other
### What happened?
The K600 TV (a combined keyboard/mouse device) has several navigation buttons on the left side: Home, Back, Alt-Tab (don't know if this button has a real "name" but it's just a combined Alt-Tab button) and Search. These buttons are configurable via Logitech Options and probably Options+; I never updated. None of these buttons seems to do anything at all with OpenLogi and they are not mappable.
Conversely, the Esc, F1, F2 and F3 keys are remappable in OpenLogi even though they are not remappable in Logitech Options. This isn't really an issue, just exposes some behavior that's different. Options also allows swapping the function keys between their main and Fn key inputs, whereas OpenLogi seems to enforce the function keys as function keys, e.g. the Volume Down/F11 key functions as F11 while Fn+Volume Down triggers the Volume Down key. Maybe I just missed a toggle somewhere?
These buttons all work as expected on an Android TV device--Home returns to the Home screen, Back goes back, Search opens the Google search bar. The Alt-Tab button does nothing on my Android TV device, which is expected because my Android TV doesn't have any multitasking menu. The media/function keys function as their media key values by default, not the function keys, which can be used with the Fn key.
### Steps to reproduce
1. Open an app which normally responds to navigation or function key input (e.g. web browser)
2. Press a relevant key (e.g. Back)
3. Twiddle thumbs
### Diagnostics report
```markdown
### OpenLogi Diagnostics
**App**
- OpenLogi (GUI): v0.7.7 (release)
- Agent: v0.7.7 (connected)
- IPC protocol: GUI 25 / agent 25
- Inventory: ready
- OS: Windows (x86_64)
- Locale: en-US (UI: follow system)
- Accessibility: granted · Input hook: installed
- Launch at login: yes · Menu bar: yes · Update check: on
- Running from: source build (dev)
- Config: schema 4 · 1 configured device(s) · thumbwheel 14
**Assets**
- Source: user cache · Index: loaded (210 models) · User cache: present
- Cache path: C:\Users\Vague\.local/share/openlogi\assets · Bundle assets: absent
**Devices (1)**
- K600 TV — keyboard (codename: Keyboard K600 TV)
- Connection: Bluetooth (direct) · Online: yes · Battery: 90% (discharging, full)
- Capabilities: buttons=yes, pointer=no, lighting=no
- Model: 0b353 (model-ids: b353/4078/0000, ext-model: 00)
- Transports: eQuad, BTLE
- Render: k600 · direct
```
### `openlogi list` output
```text
(—, vid=046d pid=b353)
└─ slot 255 ● Keyboard K600 TV (keyboard, wpid=?, battery=90% full (discharging))
model_ids=[b353,4078,0000] ext=00 serial=— unit_id=94e5017a transports=equad+btle
```
### Logs
```shell
I think this step (logging) might be Mac-specific? Or I'm just not understanding the instructions.
```
### 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).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the GUI button-remapping path and the K600 TV capability/model handling, using the supplied Windows 10 diagnostics and reproduction steps. Verify how the navigation and function keys are identified and dispatched, then confirm that the affected keys are usable and remappable with behavior matching the report.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100