Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can’t select (focus) the gain/volume controls or use a keyboard to adjust them #18

Open
sebakami opened this issue Apr 3, 2022 · 7 comments
Assignees

Comments

@sebakami
Copy link
Contributor

sebakami commented Apr 3, 2022

Is someone already working on this issue? If not, I'm willing to give it a try.

@sebakami
Copy link
Contributor Author

sebakami commented Apr 3, 2022

I figured the keyboard control is already implemented and using tab to select the dials also works, the dial just does not show it is in focus.

@geoffreybennett
Copy link
Owner

Is someone already working on this issue? If not, I'm willing to give it a try.

Not that I know of. Feel free to assign yourself. Thanks!

@sebakami
Copy link
Contributor Author

sebakami commented Apr 6, 2022

The option to assign myself does not show up for me.

However, we should discuss how we want to set up keyboard control. The behavior up to now was that left and down keys decrease the volume and up and right keys increase the volume. I removed this binding in order to be able to keyboard navigate to the wanted dial, which is especially handy in the big mixer window. Now, the page up and page down keys are used to change volume. I don't know whether I'm 100% happy with this behavior, because intuitively I would use up and down keys to change volume. What do you think?

You can try it out at sebakami@5dc3ab0.

Right now I use a bigger trough border to indicate focus. I will change that as soon as I find out how to get the focus highlight color from the current theme.

Another issue: when clicking or dragging, the corresponding dial grabs focus. Do we also want a to grab focus when only using the mouse wheel scrolling to change volume? If not, we could use keyboard control and mouse wheel on two different dials simultaneously. I do not have a preference for either choice. Do you?

@geoffreybennett
Copy link
Owner

Oh, that's nice. I like the bigger trough border showing the focus.

I see what you mean about using the arrow keys for moving conflicting with the use for changing volume. And Page Up/Down then can't be used for big changes.

How about:

  • Shift-Arrows for navigation
  • Arrows for small changes
  • Page Up/Down for big changes
  • Enter or Space for toggle between off (minimum value) and 0dB

?

Then so people can learn what keyboard controls are available, have some sort of "?" icon on the page that shows the keyboard bindings when hovered/clicked.

I like your idea of not grabbing focus when mouse wheel scrolling.

I did notice that sometimes when clicking, the focus is changed but not displayed. And then sometimes after moving with the keyboard the focus is again changed but not displayed until the control is adjusted.

@jticket1024
Copy link

Commonly moving through controls is done with tab and shift+tab, up and down change the value, and pgup and pgdn change in larger values.

@sebakami
Copy link
Contributor Author

sebakami commented Dec 2, 2022

The default behaviour for a grid of widgets is either with tab/shift+tab or with arrow keys, that is - as you stated - unless the widget has ability to change value (combo boxes etc.), then up/down is used to change value and left/right still is used for navigation. Try for example the air/pad buttons and the clock source combo box in the main window.

In the mixer window, however, I would not like to press tab 25 times in order to move one below, so arrows (of shift+arrows) seem preferable. It seems we have a conflict between learning curve and ease of use.

@geoffreybennett
Copy link
Owner

Can you try out my latest dev branch push? I think this works well now:

  • The focussed dial is highlighted
  • The arrow keys, pgup/pgdn, home/end change the value
  • Tab/Shift-Tab, and Ctrl-Up/Down/Left/Right move focus as you'd expect them to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants