pwr-Solaar / Solaar

Linux device manager for Logitech devices
https://pwr-solaar.github.io/Solaar
GNU General Public License v2.0
5.52k stars 409 forks source link

UX: Enforce device dependent rules and simplify configuration #2281

Open MattHag opened 9 months ago

MattHag commented 9 months ago

Information

Is your feature request related to a problem? Please describe. Setting up rules requires too much to learn and needs to be simplified by thinking about 'How is the tool supposed to be used?'. You shouldn't need a tutorial to set up something as basic as a button press, that triggers an action. Currently, you can already fail by finding the rule editor 'add rule' functionality hidden behind a right-click. Then you need to pick from a 3 levels deep menu the correct entry. There's no description or hints to guide you through that.

The two ingredients of a rule

A rule contains two main parts

Good example

Logi Options+ uses a device first workflow for configuration. You select the device you want to configure and get a visual representation of the device with all its physical buttons and possible gestures. The UI is intuitive as it is clear, that the configuration applies to the previously selected device.

Describe the solution you'd like Enforce device dependent configurations. The device dependent conditions are already supported, but not easy to use with a proper GUI.

Thus, I suggest to

What comes to my mind is splitting each rule into two columns. Left side shows the conditions, right side the actions that are triggered. This also simplifies the right click menu, as left side, only contains conditions - right side only holds actions.

Describe alternatives you've considered Bother with complex rules, no random newcomer will be able to use or adapt on their own.

Additional context Drastically improving the user experience and maturity of the product.

What's considered device dependent is up for discussion. The rules can apply to the unique device ID, to the whole series (e.g. MX Master) or apply to all equal device identifiers (replacing a mouse with the same mouse keeps rules active).

MattHag commented 8 months ago

The configurable buttons can be dynamically retrieved, as solaar show does. The buttons should show up in the UI with their names according to the REPROG CONTROLS entry.