Coming of an off-topic discussion in the agx-thread I thought it might be nice to gather some of our best practices for keyboard shortcuts. Maybe with a bit of an explanation and the shortcutsrc-file?
Echoing what I answered in that thread:
I mostly assigned one key to a module and add functionality by double-presses, mousewheel etc.: f: filmic, b: colour balance, w: colour calibration, s: sigmoid, c: crop, k: lens corrections, j: chromatic aberrations, z: colour equalizer, n: contrast equalizer, x: diffuse or sharpen, p: primaries, s: snapshots
Those correspond to a mostly consistent set of variants of double-keypress, alt+key etc.:
single key: Show module (e.g. w = colour calibration)
single key + mousewheel: Adjust a parameter within that module (e.g. e for exposure). More examples
c: contrast in āfilmicā; b and w for black and white level correction in filmic.
k: vignetting-correction in ālens correctionsā
r: rotating the image via ārotate and perspectiveā.
double key: Brings up a picker (ww for white balance picker, ff for auto adjust levels in filmic, zz for the colour picker) or activates a preset (xx for ālocal contrastā in ādiffuse or sharpenā)
alt + key: resets the corresponding module (e.g. alt+w resets colour calibration, alt+f resets filmic, alt+h resets the history stack)
shift+key: Some other special (e.g. shift+h compresses the history stack)
Because I switch the histogram around a lot I have set
ü: Waveform; ö: Vectorscope; ä: Histogram; + switch orientation of waveform
(which of course only makes sense on german QWERTZ)
Personally I only use the keyboard short cuts provided by default but is more my bad than good practice. I havenāt felt the need to create more keyboard shortcuts and I have enough trouble remembering the supplied ones. Not really answering your question however. Hopefully others will provide more useful answers.
There are some great ideas and very well-thought-out personal systems in this thread.
The only personal touch that I chose to implement was to always use a double-press.
I have a shortcut for export: xx.
Yes, I know it is CTRL-e, system default. But that means lifting the whole forearm to reach āeā as well as using another finger for CTRL. Be my guest: you are welcome to gasp at my laziness .
Actually, I usually copy my edit, as the next pic is likely to be similar. āxā is close to ācā: CTRL-C xx is very streamlined. as well as lazy!
Does anybody here have fallbacks enabled? Any feedback on that? Any suggestions on what is missing/could be improved.
And +right click. And all of those double and triple clicked as well, of course.
It even gets more silly; you can triple press a key and hold, then double press the right mouse key and hold and then press and hold the left mouse key and then move the mouse left/right or up/down or diagonally.
Except, now that I try it (of course i donāt use this feature irl) there seems to be some breakage; the number of presses or clicks doesnāt get reinitialised correctly so double and triple presses are generated inadvertently. Iāll have to fix this at some point but since apparently nobody is using more complex combinations, thereās no real hurry
Iām contemplating trying one of the LLMs to help write documentation for this. Just to find out if it could be any good in providing a structure that allows new users to understand. For me this is hard, because it is all so āobviousā to me
I do think especially in this case the user documentation could benefit from providing additional examples that the user could extrapolate from. At least thatās how I learn, but everybody is different.
OK, back to fallbacks. The idea here is that many of the objects you can interact with via shortcuts have several different defined effects a shortcut can trigger. If you had to separately set up shortcuts for each of them, that would be a lot of work and it would be a challenge to keep consistency. But if you donāt set them up for each one, it is hard to remember what works where so youāll probably not use them at all.
For example:
If you have a shortcut set up for a slider (or module), you can also set up a separate shortcut to reset it to default value(s). @mino above has done this. Or for color picker buttons associated with the slider.
Fallbacks does this automatically.
For example, you link a key press to a slider.
Now when you press and release the key, you get the popup for that slider (to type a value).
If you hold the key and use the mouse scroll wheel, you change the value directly. If you add the CTRL key, you fine tune (changes 10 times smaller). Adding SHIFT makes changes 10 times larger. This is consistent throughout the user interface.
You can also hold the key and move mouse left-right for fine moves or up-down for large changes.
Click mouse button (while holding key) to press the āquadā (usually color picker) button. Double click for reset (also for modules).
For module shortcuts, right click is presets menu. etc etc. You can see all the defined fallbacks in the shortcuts preference tab or dialog.
If you keep holding the key (it may have been double or triple pressed, so not having to repeat can be handy) you can do multiple actions. Like first double click and then horizontal move to fine-tune starting from default.
There may be multiple layers to fallbacks. key+double right-click gives you the module instance menu, but if instead you hold the mouse after the double click and move it up/down you immediately change the moduleās order in the pipe. Or key+single right click+move to cycle through the presets.
It is somewhat powerful so easy to shoot yourself in the foot. Thatās why it is disabled by default.
The āfallbacksā checkbox applies to shortcuts. Correct me if Iām wrong but you may be referring to directly manipulating the slider (by either scrolling while hovering over it or by using the cursor keys when it is focused)? Yes, those support the same speed up/slown down modifiers shift/ctrl (I believe consistency across the interface is very important) but those are not shortcut fallbacks in this case. (although they take their values, *10 & *.1 or custom ones, from there).
If you define, say e+scroll to change exposure but you leave fallbacks off then e+shift+scroll doesnāt speed up. And of course āeā with fallbacks has the drawback that ctrl+e has been long defined as export so thats gets in the way of fine-tuning changes with ctrl+e+scroll. But as @Thad_E_Ginathom points out, you can easily move that out of the way.
You are absolutely right; for many keyboard+mouse combinations work just as well as a separate midi board. What I still find nice about the x-touch is that you get visual feedback as well. The button lights can indicate which module is focused and the rotor ring lights indicate current values. So you can work āblindā (i.e. have the right panel hidden) and still have all the information in front of you. But I admit it can feel like a little bit of a gimmick. Personal preferences though!
This was the missing bit for me. If I define a shortcut to select a processing module, then the fallbacks/processing module can be used to modify it. If I define a shortcut on the value of a slider, then the fallbacks/value can be used to modify it, and so on.
Thanks for your explanation! I find āfallbackā kinda misleading and wondering what will trigger the āfallbackā hindered my understanding of then. They are apparently more of a āglobal defaultā?
@dterrahe Shortcut editing IMHO is complicated by the preferences window being modal. I.e., you may define a new shortcut with the pref window open, but then you cannot really test it without closing the window first.
Doing this for N shortcuts becomes tedious very quickly, also because the preferences window does not remember its last state, so every time that one opens it one has to navigate back to shortcuts tab and find whatever shortcut one was working on.
Would it be conceivable to add a control to the preferences window to toggle its modal state? So one could edit a shortcut, focus the main window, try it out and edit as needed.
This would also be beneficial for theme editing, as I had suggested in another post.
I had similar ideas for a complete redesign of the keyboard shortcuts, but then I settled for the really key operations where I want my eyes to be constantly focused on the image.
I do global tone corrections with the Color balance RGB module, specifically with perceptual brilliance grading. To change shadows, midtones, and highlights, I use one of the numbers 4, 5, and 6 and the mouse wheel. This allows me to make quick changes in either direction. In the settings, you can also specify the degree of steps, which is very convenient, as I want bigger changes with small movements in shadows and smaller changes with highlights. Absolutely killer feature!
What kind of shortcuts are you setting up? If they are for sliders, buttons, modules or other visual elements, using shortcut mapping mode is much quicker, as the message at the top of the shortcut tab points out (if you havenāt removed it yet which requires three clicks). In that mode you can directly go to the relevant detailed settings by clicking on a widget. You can also open this stand-alone shortcut dialog by right-clicking on the shortcut button next to settings.
I know that but I find that modality difficult to use. I feel more in control of what I am doing by selecting an action in the shortcuts menu and setting a shortcut for it. Also, the quick shortcut thingy behaves strangely if by mistake you select an already existing shortcut, and in the past I ended up with messed shortcuts because of that. Also, I prefer to test each shortcut after adding it instead of adding them in batch.
In mapping mode, if you move your mouse over the center (or anywhere there is no widget) you can try out a just created shortcut without switching off mapping mode first. But anyway, i understand things are not perfect for you.