My Problems With Renoise And The Keyboard

UPDATE: Thank you for the fast response on several points in this list while also building up a full new version. Impressive. Also thank you for everyone submitting more issues.

Hello. I’ve recently bumped into this keyboard issue on a few occasions, and decided to take it up on a suggestion post. Or this is more like a collection/discussion/problem-solving post really.

It seems to me that renoise is currently designed with a “1 hand on keyboard and 1 hand on mouse” -situation in mind. Probably even “Left hand on keyboard, and Right hand on mouse”, if one considers the placement of the transport-bound modifier keys, which, up until 2.8 (I assume) were not usable as modifiers. Now I myself came to renoise just recently, with version 2.6, so I’m hardly someone to come up and tell everybody what’s wrong with the program. These are just notions I’ve made that have root in me having a distant background with Impulse Tracker, which I recall being way more oriented towards the “2 hands on keyboard” -approach. That specific tracker being the way it was is not a reason for renoise to be like that too, but because renoise shares very much of the tracker-ness of that program, it certainly is a reason for a lot of frustration for me. For a 2handsonkeyboard-guy the 1-1 -paradigm brings about constant speed bumps when going about tracking awesome muzaks. For some (or most?) the 1-1 will probably work just fine. That is of course something to keep in mind.

Ok. So these are issues I’ve come up with when trying to use renoise on a more “2 hands on keyboard” -kind of way. I’ve also done a quick search on the forum and tried to link some relating threads here. So this post is not really about getting new features as such, but only about getting the current features reachable with keyboard. (Well, yeah, that’s a feature… kind of… ok… so I want that one!) And on a recent thread there kinda built up a suggestion to rise up and speak for the keyboard people. So I’m also trying to do that, may that work or not.

The point of this post I think is twofold;
1)I’d like to find out if any of these are really just me being silly, not knowing about things. I’m pretty sure that must be the case on some situations.
2)I want to gather up a pile of this stuff, so that one could look at the whole picture and as a result, the problems can be perhaps solved.

So. Start shooting these down, or posting other issues, or giving me solutions, guidance, workarounds, and whatnought. I hope either these problems get worked out, or I get over these problems. :)

General keyboard usage improvements:

Issue:Secondary keyboard shortcuts
Original thread
Another one crediting the first one
The first one. In a post in a thread related to keyboard.
-For switching between configurations (desktop<>notebook/right hand<>left hand?)



Issues that make keyboard usage hard:

Issue: Scripting terminal / editor shortcuts not available for customization
-Existing shortcuts clash with system shortcuts on OSX (CMD+TAB to switch between editor tabs)

Type: Missing shortcuts

Scriptable: No

Issue: Tracks cannot be moved with keyboard
-Would need a way to move tracks left/right, move in groups and out of groups
-Moving a track inside group can be done with “Extend Group to here-shortcut”, if the track is next to a group

Type: Missing shortcuts

Scriptable: Yes[/i]

Issue: Stuff cannot be renamed with keyboard
-Sequence sections

Type: Missing shortcuts

Scriptable: Yes
Existing scripts:

Issue: Can’t control the BPM value with keyboard.

  • increase +1, decrease -1, Set (focus the valuebox)

Type: Missing shortcuts

Scriptable: Yes
Existing script:
Tempo tool

Issue: Can’t adjust DSP parameters with keyboard.
-Thread suggesting this feature
-I’m not talking about DSP external editors, but the ones that have a native GUI should be controllable via keyboard.

Type: UI shortfall

Scriptable: Possibly?

Issue: Can’t set computer keyboard velocity with keyboard.

  • a thread
  • increase +1, decrease -1, Set (focus the valuebox)

Type: Missing shortcuts

Scriptable: Yes

Issue: Can’t directly focus certain areas. (DSP search, Automation graph, Sample list, …?)
-DSP List/Search box (This is not so bad. It’s rather quick to use the TAB from the DSP-lane)
-Automation graph. (This is harder. Pressing TAB just rotates focus (maybe logically) between the list and search box. To move to graph you must hit focus next view, which I assume usually is TAB with a modifier).
-Sample list. This simply cannot be focused without the next/prev view.
-Overall this is not a ‘killer’ issue, just a… well, a speed bump.

Type: Missing shortcuts

Scriptable: No

Issue: Can’t focus certain keyboard editable areas at all without the mouse. (Instrument envelope, …?)
-This one surprised me. Hope I’m just missing something obvious.
-Can’t focus instrument envelope in any other way than alt+click.

Type: Missing shortcuts

Scriptable: No[/i]

Issue: Focus navigation could be done in a more intuitive way.
-Move focus area left-right-up-down, instead of plain left-right, skipping rows.
-This would not break the current focus movement stuff, if my calculations are correct.
-Current model works, but IMO this model would be better.

Type: Improvement/Feature

Scriptable: No

Issue: You cannot rotate the window focus around some floating windows with keyboard.
-Preferences for instance
-Only window that would have this focus rotating on my system is the Scripting editor/Terminal window

Type: UI shortfall

Scriptable: No

Issue: Can’t navigate within certain windows / UI areas with keyboard
-Preferences. The ideal situation would be that you’d be able to switch between ui panes and access the various tickboxes/menus with keyboard. (say by tabbing or left/right or something.)
-Another obvious example: Modal dialogs. (see a thread).

Type: UI shortfall

Scriptable: No

Issue: The preset/favorites button system is partly inaccessible through keyboard.
-Updated this one. I was not looking hard enough.
-Meaning the 1,2,3,4,… buttons

The ones accessible are:
-Disk browser favorites
-Global view presets

The ones inaccessible are:
-Automation envelope
-Instrument envelope
-Groove settings

Type: UI shortfall

Scriptable: Not really. Could be worked around by a separate preset system, but why.

Issue: The advanced editing panel is inaccessible through keyboard.
-original thread
-The panel might need a rework besides just shortcuts.
-Content mask = THE Gripe.

Type: Missing shortcuts/Improvement

Scriptable: There is a chance.

Issue: Weak control possibilities in Automation Graph
-Move to next/prev automation point
-Move to next/prev sequence

Type: Missing shortcuts

Scriptable: Yes? (mainly worried about selection, or the shift key here)

KEYS 1,4,8 NOW BINDABLE, renoise 2.8. b6
Issue: Certain keys not bindable (just an oversight?)
-1, 4, 8
-original thread

Type: UI shortfall

Scriptable: No[/i]

Issue: Sample editor undo inaccessible with keyboard
-original thread

Type: Missing shortcut

Scriptable: No[/i]

Issue: Bad overall control of the Instrument settings -area.
-This whole area seems immature on the keyboard side of things. Granted, it was only revamped on 2.7, if my memory serves me right.
-Cannot focus anything in the Instrument settings area with a direct shortcut. The Focus Instrument settings-shortcut merely opens the tab in the bottom frame.
-No way to switch between panes (Samples, Plugin, Ext.Midi) without the mouse. (Not counting the ‘load sample’-method, which IS kinda obvious, and works)
-No way to open/interact with the MIDI input -subpanel without the mouse.
-No way to open the envelope subpanel without the mouse.
-No way to focus the envelope graph without the mouse. This is fixed so that it can be focused similarly as the sample list, with ‘focus next view’.
-No way to focus sample list directly without the mouse. (For copy, rename, etc.) Can be done with Focus next view, when the list is visible.
-No way to add a new (empty) sample without the mouse (the + button). (?)
-No dedicated keybinds for the sample list. This one’s really weird: shortcuts for moving in sample list exist, and are customizable, but some shortcuts cannot be customized, and are not listed (Rename, being cmd-r on OSX, copy, paste, duplicate, etc…). Because they simply don’t exist in the list, one could assume these would be common with the instrument box shortcuts for renaming and copying, duplicating etc. but this does not seem to be the case. Luckily they seem to be very intuitive…
-No way to edit inst/spl properties (volume, pan, transp. etc.) without a mouse. (Could be possibly scripted, these)
-Envelope editing shortcut keys seem to be shared with Automation envelope editing. This was all new info, and rather surprising such for me, so I think documentation/presentation of this could be improved. This might, however, explain some of the shortcomings of automation envelope editing with the keyboard.
-No real way to interact with the envelope panel without the mouse. (Switching envelopes, LFOs, editing values in menus or valueboxes…)
-No way to interact with the Plugin-subpanel without the mouse.
-No way to interact with the Ext. midi-subpanel without the mouse.

Type:Missing shortcuts/UI shortfall

Scriptable: Yes (Missing shortcuts, possibly some UI shortfall) and No (Most UI shortfall)

Issue: More button in Disk browser inaccessible with keyboard

Type: Missing shortcuts

Scriptable: Yes

I made a little script to do this, although makes 0.1BPM changes, and it only ever got as far as a 0.0.1 beta release really (got kinda stuck on the GUI side of things and never implemented and tested MIDI control.)

Stangle Tab takes you from DSP Lane to the DSP List/Search Box but no number of presses ever take you back to the DSP Lane itself.

Tabs should always include the all the parts you may want to, so Automation Envelope area and DSP Lane should be accessible while Tabbing through the area.

I setup and use Show/Focus XYZ Area in the rather than use the default method of cycling through them. I also remove Global View Presets as I prefer this method to that one.

Overall a good post although layout might be slightly hard to follow (probably good once printed or copied somewhere.) I have only commented where I can hopefully help in some way to overcoming the problems for your personal workflow.

Hey, that’s great. Mind if I link to that as an existing script solution? And maybe grab some of that code to do another version? I’ve got up to doing a shortcut pack with joule, so some of this could fit in there somehow?

Yes. There seems to be some idea behind that tabbing only flips between the list and the searchbox, but as the initial focus area is not consistent (dsp-lane versus automation list), it gets confusing. Maybe it would indeed be better that the tabbing cycles the dsp-lane and automation envelope as well…

This is what I’m trying to use as well. The only place where I would need the “Focus next view”, is the said Automation envelope, which cannot be focused without it. Or I might be missing something.

Thanks for taking the time. It’s a heavy read. I tried first putting the issues inside quotes, and the Issue descriptions inside spoilertags but it got super confusing visually…

KMaki, Here’s BPM +1 / -1 as keyboard shortcuts:

[details=“Click to view contents”] ```
–BPM +1 / -1
function adjust_bpm(bpm_delta)
local t =
t.bpm = math.max(1, math.min(999, t.bpm + bpm_delta))"BPM : " … t.bpm)
renoise.tool():add_keybinding {name=“Global:Paketti:Decrease BPM (-1)”, invoke = function() adjust_bpm(-1, 0) end }
renoise.tool():add_keybinding {name=“Global:Paketti:Increase BPM (+1)”, invoke = function() adjust_bpm(1, 0) end }

Here's Delay Column +1 / -1 / +10 / -10 as keyboard shortcuts:  
[details="Click to view contents"] ```  
-- Set Delay +1 / -1 / +10 / -10 on current_row, display delay column  
function plusdelay(chg)  
 local d =  
 local nc =  
 local currTrak =[currTrak].delay_column_visible=true  
 --if nc.delay_value == 0 and chg < 0 then  
 --elseif nc.delay_value == 255 and chg > 0 then  
 nc.delay_value = math.max(0, math.min(255, d + chg))  
renoise.tool():add_keybinding {name="Global:Paketti:Increase Delay +1", invoke = function() plusdelay(1) end }  
renoise.tool():add_keybinding {name="Global:Paketti:Decrease Delay -1", invoke = function() plusdelay(-1) end }  
renoise.tool():add_keybinding {name="Global:Paketti:Increase Delay +10", invoke = function() plusdelay(10) end }  
renoise.tool():add_keybinding {name="Global:Paketti:Decrease Delay -10", invoke = function() plusdelay(-10) end }  
``` [/details]

Of course I wouldn’t mind although I see esaruoho has kindly given you some code which should do it :)

Ahh so it can be access with the Ctrl+Tab scrolling (for both Automation and DSP Lanes.) As they is part of the same pane I would of expected the normal Tabbing to give you access to it though…

This would also provide usefulness for jog wheels and single-faders.

Since it’s not possible to indicate selected parameter, I would not consider this scriptable even though all parameter data is accessible with lua.


No they’re not. Look harder.

EDIT: OK there’s not Global one buts I don’t really think there should be.

There is Expand/Collapse Current Track, Expand/Collapse All Tracks and Expand/Collapse All Tracks In Group in both the Pattern Editor and the Mixer though.


You can set the same for both, no problem. Global isn’t needed IMO.

This thread is about keyboard operation shortcomings.

Thanks for the thread, had missed that but updated it on first post.

On the scripting issue: It could be possible to conjure up a faux GUI for the whole selected DSP, and within that GUI, manipulate the parameters. I admit that’s clunky, but would it be possible? Not in any means a good solution, thuogh.

What if we had a command-line in the status bar?

With TAB auto-completion and “Ctrl-R” for reverse history search like in bash/zsh/ksh?

And an “EXPORT_CMD(My:Package:lua_fun())” function, which then could export the given tool’s LUA function to make it globally accessible via command-line input?

Just my two cents.

A steaming hot wet dream… I suspect the relative cost would be too much, though. I assume the crowd wanting a command line is greatly outnumbered by the crowd not wanting one. :) For a hardcore-excursion on the subject, you could take a look at this, if you have not stumbled on it yet. The version there will fry your renoise (2.7), though, unless you fix it with Conner_BW:s proposed fix.

Koppi, this would be amazing, if it could be mapped to offer one-key sorting through efx, vsti/au and sample folders.
-> track-select-switchinstrument04in selection to 05, quantize selection.

I think enough folks anticipate on Vader but forgot because the topic smothered a bit away…

Missing keyboard shortcut.

“More” option in Disk Op to extend the browser.

(I know it’s accessible via API so could add one myself.)

Oh, I really meant the relative cost of adding a native command line. But it’s also nice to know that the War&Peace of my tool history is not just “muniin puhaltelua” (hard to translate keeping all the implied semantic ;) ). Right now I’m keen on getting that train rolling again. I wrote “I want to do this” in my project notes this morning.

EDIT: @kazakore: added that More one.

That doesn’t work, this line does work:
“I finish this now”
Is more butt-kicking than the other line.

Have now fixed some of these issues for the next beta, see below.


Instrument envelope now included in Next View sequence if visible and active.

Do you mean the ones in the automation view? Both the global ones and the ones in the disk browser have keybindings.




?!?!?! :w00t: :w00t: :w00t: :w00t: :w00t: :ph34r: :ph34r: :ph34r: :ph34r: :ph34r: :panic: :panic: :panic: :panic: :panic: :panic: :panic: