In order to make the 1, 2, 3 and 4 keyboard shortcuts activate the right set of tools (desktop or time-line), focus has to be given first to them by clicking the relevant area. You can create states in which those shortcuts activate neither set of tools by clicking in other areas like the panels. It would be great if those shortcuts behaved like the mouse wheel, which acts on any area it just hovers, without having to click it first.
Comments (7)
Maybe I didn't explain myself well. Yes, of course, only areas with focus should receive keyboard events (how was this different before?). My point is -how- a particular area gets the focus. I put the example of the mouse wheel because, right now, an area only needs to be hovered with the pointer to react to it. I thought that it would be consistent if the keyboard acted the same way. Whatever area is hovered with the pointer gets the focus for it too, no need to click it first. Then you avoid situations like I described before, where the keyboard shortcuts aren't acting anywhere. I think that this case is especially important because normally, when you hover over an area, you want to set the mode of operation before you do anything in it. If you -have to- click it anyway to give it focus, you might as well click the icon for the mode you want, defeating the purpose of a keyboard shortcut.
Yes, you're totally right about how keyboard focus normally works. But you also said in another topic that you never saw the desktop or time-line conceptually in the same way as an icon window on a OS desktop. I still think that having to click on an area that supports keyboard shortcuts to get them to work defeats their pupose, because you might as well click on the icon. Maybe the simplest and most intuitive option is to consider all keyboard shortcuts "global". They always work no matter where the pointer is. This is how many apps work. To solve the ambiguity between desktop tools or time-line tools, use different shortcuts. The Desktop tools work like they do now and the time-line tools work by adding Shift to the number (Shift+1, Shift+2, ...). The only shortcuts that are "local" are the ones you use to play synths. And I wouldn't consider those as shotcuts, but as a special use of the keyboard. What do you think?
https://www.audiotool.com/board/feature_requests-eGRGOKR3F/elements_should_focus_on
Thanks André for taking time with this. Yes, I understand your example with muting a region and I can see why you would want the keyboard focus to "stick" to one area. The more I think about this, the more I believe that a "flat", global list of keyboard shortcuts, where each one does just one thing, where there are no duplicates and where they always act irrespective of pointer location or focus is the best solution. That would solve your case too. Better than my "Shift" proposal below could be to make the time-line pointer tools just "5", "6", "7" and "8". From the point of view of the shortcuts (not graphically, of course), it would be like having all those tools (desktop and time-line) together in one big group. I think that this would give the best work-flow.
It works for me. Thank you! There's only a little detail. I tried the "M" shortcut to mute regions. It works, and when I hover away from the time-line, it doesn't work as you described before. But then, when hovering -back- to the time-line, it still doesn't work. I'm not sure if this is intended or not. Also, for the future, I still advocate for a flat list of unique keyboard shortcuts that are independent of pointer focus. I guess that, for me, that's what "shortcut" is supposed to mean.
My suggestions were to make the time-line tools something different than 1, 2, 3 and 4, which are the desktop tools. Initially I thought of adding Shift to the numbers, but then I thought that it would be even easier to just use 5, 6, 7 and 8. What do you think? Then you could activate any tool you want no matter where the focus is. Wouldn't it also simplify your event handling? I'm just guessing.
Actually there's nothing wrong with this solution and I like it. And you're right about remembering different keys when working full screen. I just thought that this suggestion would help you in two ways: 1) make your programming easier by eliminating the need to take focus into account, and 2) allow you to use shortcuts relevant only to one area (for example "mute region") even when your pointer isn't there. if you work a lot in full screen, this might be useful. It was about finding the best compromise.