[Feature]: Channel button on keyboard to switch a channel on mouse as well
- 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
Just came across this great piece of software. Currently, I'm using https://github.com/marcelhoffs/input-switcher with MX Keys S and MX Master 3S. I had to find out about devices' IDs, and once done, .bat and .vbs files are edited, so when a button is pressed it sends a signal to change a channel to 1, 2, or 3 on both the keyboard and a mouse.
### Proposed solution
I saw there's an option to change channel buttons (F13, F14, F15) and run shell command. I'm not sure is it possible to run a command like this
`.\hidapitester.exe --vidpid 046D/B378 --usage 0x0202 --usagePage 0xff43 --open --length 11 --send-output 0x11,0x00,0x0A,0x1E,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00`
but is it possible to add an option, so once vidpid of a device is provided, it automatically switch channel on that device? For example, pressing channel 1 button on a keyboard, to switch a channel to 1 on a mouse as well.
### Alternatives considered
_No response_
### Related area(s)
- [x] GUI
- [ ] CLI
- [x] Button actions / remapping
- [ ] DPI
- [ ] SmartShift
- [ ] Per-application profiles
- [ ] Configuration (TOML)
- [ ] Auto-update
- [ ] Other
### Additional context
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by locating the GUI channel-button handling and the existing shell-command action, then trace how HID++ devices are identified and commands are sent. Confirm how a keyboard channel action can target a second device by VID/PID and define behavior for channels 1, 2, and 3. Done means pressing a channel button switches the configured mouse channel as well.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100