[Feature]: support changing the host/slot via CLI
- 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
One of the things solaar supports is changing the host device via CLI. For instance, on a MX Master device that can pair with up to 3 devices, you could run a command like this to have the mouse switch the host number 1:
```solaar config "MX Master 3" change-host 1```
The reason I'd like to have this is to implement a virtual KVM switch (i.e.: I want to create an automation on macOS using `openlogi` + `m1ddc` which would allow me to switch to different devices on my desk by a simple key/shortcut combination).
### Proposed solution
I'd like to be able to do:
`openlogi change-host `
Where:
* `` is the name of the device
* `` is the number of the host (typically from 1 to 3 for most of the devices [ MX Master, Lift, MX keys, etc] as they can pair to up to 3 devices).
Upon running this command, then I expect it to switch to the paired device number ``.
### Alternatives considered
_No response_
### Related area(s)
- [ ] GUI
- [ ] CLI
- [ ] 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 at the existing CLI command entry points and the HID++ device-control handling used by OpenLogi. Trace how a device is selected, then determine where host/slot switching belongs; done means `openlogi change-host ` selects the requested paired host on supported devices.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100