Keyboard Focus?

We are thinking about changing the way Renoise handles keyboard input a bit.

Very quick summary: Allowing keyboard focus to main sections of the GUI
will make it possible to have more shortcuts, make them easier to remember
(since many will be reused in different contexts), and easier to learn
(more conforming to common windows conventions).

Before we do this, we want a little bit of feedback from our users.
Please come with ideas and questions.


First I will give some reasons why I think this is a good idea,
and what we want to accomplish with it.

  • Currently, the keyboard is crowded with shortcuts, and it’s
    very difficult to find good shortcuts for new features.
    Later additions to Renoise will only increase this difficulty.
  • Learning different shortcuts for every single action in Renoise
    is a daunting task, and the planned changes should make shortcuts
    easier to learn and remember, and more conforming to common conventions.
    A central example is making it possible to use arrow keys with shift
    to do selections in both the discop, instrumentlist, patternsequencer
    and patterneditor.

The changes should:

  • Make it easier to learn and remember shortcuts for most tasks.
  • Make it possible to add more keyboard functionality, covering
    even more of the program than today without touching the mouse.
  • Make room for more future shortcuts.
  • Make more efficient keyboard usage possible, by avoiding cumbersome
    shortcuts like ctrl+alt+something or ctrl+shift+something (at least
    for the most common tasks).

Here’s a rough overview of what I imagine as a good solution.

  • There will be a set of global shortcuts, like playing controls,
    window management, showing and jumping to different sections of
    the program. This should be kept as small as possible while still
    covering all global operations, and not use keys that is important
    for any sections.
  • At any time, one section of the program will have focus,
    for example the patterneditor (see more below). All keys that
    aren’t used as global shortcuts will be sent to this program
    section and possibly used there. This fits with the way I believe
    most people will work most of the time, focusing on one task at
    a time.
  • Each program section can have it’s own internal focus if that suits
    the way that section works (see below).

Next, if we’re going to do this successfully, we have to take care
that it doesn’t harm anyones way of working (at least not more than
it eventually gains).

We should think about which sections people often work with
interchangeably (at the same time), like the discop and instrumentlist.
This is important to make the keyboard usage streamlined for
as many working methods as possible.

The instrumentlist is often used while using the patterneditor,
or instrumentenvelopes, or sampleeditor as well. So it might
be smart to have some global shortcuts for the instrumentlist,
like keeping the current numpad shortcuts (but still make it
possible to focus there).

Ideas for main focus sections:

  1. Middle (main) view (patterneditor, sampleeditor, instrument envelopes)
  2. Lower view (DSP view, automation, ++)
  3. Upper view (discop, scopes)
  4. Instrumentlist

(The upper left part is covered by keyboard shortcuts anyway, and doesn’t
gain anything from a keyboard focus IMO. When it comes to the patternsequencer,
we have done certain changes… Our secret for now :) )

We should have shortcuts to set the focus to a certain section,
like the already existing shortcuts to switch views but setting the
keyboard focus in addition. This can both be individual shortcuts for
jumping to each single section, and general shortcuts like Ctrl+[Shift+]Tab.

Each section can have it’s own rules for the internal focus within that view, like:

  • the discop focusing on the directory or file listing,
  • the instrumentlist focusing on the instrument or sample list,
  • the patterneditor focusing on a certain track
    [Shift+]Tab is a good standard shortcut for such internal focus changes.

And a last idea for a global shortcut (with a local effect):
opening a contextmenu for the currently focused section.

Go for it! :)

go for it from here too

Sounds great!

New System sounds good to me. A question I have though is how much will the new system allow user definability of shortcuts? Will there be the ability to define shortcuts for yourself within each focus or will shortcuts be defined by the windows conventions?
I dont have a problem with learning new shortcuts if it is necessary but there are some shortcuts which I have defined currently which for me speed up my working (Im sure this is the case for a lot of others aswell). It would be nice to keep this ability.

That’s a good question. We should keep as many configurable shortcuts
as possible. But configuring which keys to use for scrolling a popuplist
for example is a bit overkill, and will only make it harder to find the shortcuts
you’re looking for when configuring.

At least, all the patterneditor shortcuts should preferably be configurable.
This is, I believe, the most crucial place for fast typing.

We should keep as many configurable shortcuts
as possible. But configuring which keys to use for scrolling a popuplist
for example is a bit overkill

At least, all the patterneditor shortcuts should preferably be configurable.

Sounds reasonable, and most of the shortcuts I was thinking of were pattern related so if these commands are kept configurable it will certainly not cause me bother atall. The only other thing that I would ask ( EDIT: atm :)), is that the global playing controls could be kept definable aswell. Amoungst other things I use the space bar for the pause command as I find it useful like that. (i guess that others may have their own personal configs)
Its not the end of the world if it cant be definable but I think this will definitely make a difference to my way of working (in a small but negative way) if they cant. As for everything else, all still sounds good to me!

The only keys I currently see any reason to not make configurable
(because it will be complicated to make easy to use)
is selection and text editing (shift, ctrl, arrows, home/end/pageup/pagedown…)
and of course text input and other features that depend on the letter pressed :)

The only keys I currently see any reason to not make configurable…
…is selection and text editing

Cool!

and of course text input and other features that depend on the letter pressed :)

Damn it! that definable lettering I was gonna ask for to make track naming more interesting…! :P :rolleyes: :)

I agree, It will be very easy and useful

Like Neon, I also second the wish for mouse implementation. That would be sweet , especially in the sample-editor.

about the shortcuts, thoughout my tracker years I’ve become accustomed to certain commands like shift+f4 / shift+f5 , ctrl+f4 / ctrl+f5 etc etc. Please don’t throw away all the standard tracker shortcuts in favor of windows-like-shortcuts.

RZPKT

Nobody ever said that. Don’t worry.
And as I said above, they will still be configurable anyway.

This sounds great. Does this mean that this feature will be implemented aswell???
A way to make it possible to use more OS-like keyboard-shortcuts is very welcome, it will also be very good if it in the future will be possible to make use of moth right and left shift/ctrl/alt-keys and assign multiple shortcuts for the same action (for example ctrl-c and shift-del for cut etc).
Another thing that can be great is if you can select for example ctrl-a to select a whole pattern, shift-a to select the whole track and alt-a to select the whole column so you always easy can use block-cut/copy/paste and do not need to keep in mind the specific shortcuts for column-cut/copy/paste, track-cut/copy/paste, pattern-cut/copy/paste etc. That would atleast feel more intuitive for me, do not know if anyone else feels the same. ;)

This is not completely connected, but yes. That feature will be there for 1.3, complete keyboard focus is more unsure.

Another thing that can be great is if you can select for example ctrl-a to
select a whole pattern, shift-a to select the whole track and alt-a to select the

Try Alt+P and Alt+T. Don’t remember if there’s one for a column.

martin

That is fantastic news! 1.3 sounds amazing!

:D

sounds amazing?

sounds?

you already got a beta? :unsure:

:D

:rolleyes:

And, uh, why to limit shortcuts to keyboard? Wouldn’t it be useful to be able to assign keyboard+mouse click or scroll wheel to do things in pattern editor, or wherever? (ok, I just said that I’m a keyb guy, but I have to change among the programs I’m using).

Just a thought. I’ll stop flooding for a while :).

What keyboard commands is it that was better in IT? What commands are you missing?
Did you know that you can change all the commands in Renoise? Have you really looked at what you can do with shortcuts in Renoise?

Can´t you just learn some new commands? I mean do you want to stay in the past just because you wont learn new shortcuts?

This has been mentioned before but would be a good addition

whoah brother! how about you stop bashing the user. <_<

better implementation of commands in IT that you can’t do in Renoise:

shortcuts for altering speed and tempo (unconfigurable cuz the option doesn’t exist)
different commands for, note off and cut (` and .)
next/prev sample (not just instrument)
changing patters without changing current playback pattern
play song FROM START (good idea huh? this was F5 in IT and i still sometimes whack it accidentally when i’m in a tracker frenzy. and the play song shortcut doesn’t work in 1.281 it just plays from where you’re at)
the list could go on…

i know it’s in the promo spec of this software that this program emulates FT2 but i don’t think it’s fair for you bash a poster because he/she likes his/her IT editing shortcuts.