ngscopeclient / scopehal-apps

ngscopeclient and other client applications for libscopehal.
https://www.ngscopeclient.org/
BSD 3-Clause "New" or "Revised" License
584 stars 93 forks source link

Accessibility: Some (core) functionality is only accessible through unclear methods like middle clicking or double clicking specific GUI features. Users might not find or have the ability to access the functionality because of this. #614

Open Johnsel opened 1 year ago

Johnsel commented 1 year ago

My middle mouse click was broken and it made the waveform viewer borderline unusuable as I could not scale to the whole wave anymore.

It would be nice if we had alternative ways of accessing functionality hidden behind special mouse clicks in general.

In this same line of thought it would be nice to bring the pop-ups hidden under double/right click on CHAN1 title out into some more accessible place.

I think creating regular menus, items, subitems to be a good place, as we can also assign keyboard shortcuts to navigate through them.

azonenberg commented 1 year ago

A two-button mouse with scroll wheel is currently documented as a minimum hardware requirement. We can work on adding additional ways to access some of this functionality such as keyboard shortcuts to zoom in/out, but I don't see this changing any time soon. Middle click to autoscale is what I consider a "helper" feature (i.e. everything it does can be done a bit slower via other mechanisms) rather than something core to usability; as long as you have a scroll wheel or touchpad with scroll capability you can zoom in/out.

The problem with top level menus is that they're not context dependent and it's important to specify e.g. which view of a given channel you are trying to scroll or change color ramp on etc. Do you have suggestions on how to make some of this functionality easier to find? I've tried to add tooltips everywhere I could to make it more obvious how to interact with various UI elements; if you can think of somewhere I can add one let me know.

The context menu filter creation logic is almost an afterthought, the primary intended way of creating decodes is the filter graph editor.