Wish: Direct Shortcut mode

I would like to see a mode in Rhino for Direct Shortcuts. Meaning I can tap L and immediately draw a line. I could tap W to initiate the Move command etc.

Now I am a long term Rhino user, so I am not after changing the way Rhino works with the commandline. Instead, I would advocate for a new Direct Shortcut mode that you can activate to switch keyboard input to feed the commandline to keyboard input to Shortcuts. In this Direct Shortcut mode, there would be the option to, for instance tap Spacebar to then activate the command line.

THIS SHOULD NOT REPLACE ANY EXISTING FUNCTIONALITY, SO DON’T WORRY ABOUT THAT IN THIS THREAD.

When working with the new Constraints feature, I feel like it would be so much easier if I could switch to Direct Shortcut mode to work the way I am used to from Fusion 360 (FreeCAD seems to work that way as well). The reason is, you’ll need to use many constraints and you’ll need to use them in rapid succession, perhaps moreso than when you are modelling. This mode would therefore save a lot of keypresses, hand strain and time in the long run.

Direct shortcut should activate any command with any single button keypress, this shouldn’t be available only to the function keys, it should include the numpad, numeric row, symbols and letter keys as well as the tab key.

I really hope this could be considered in the future!

5 Likes

We have considered this, but how do you get to the other 10+ commands that start with “L” or “W”?

Well, you can have roughly 50 commands mapped to a single key. So that’s a start.
The best way to add this is context sensitivity. So if you are in Surface modelling mode, you’ll have these 50 keys available and in Sketch mode you can have them anew, etc. Blender does this and that’s the absolute best way I have seen. For instance, if you work in a panel, such as the layers panel, this panel is seen as an entirely new context as well.
In Blender, you need to activate a mode with a dropdown, keyboard shortcut or pie menu. In Fusion 360, the context is based on which toolbartab is active. So if I open the surface tab in the default toolbar, I’ll get my surface context.

For all the other commands, you can hit a hotkey and switch back to the ‘legacy/ default’ mode that we currently have and do your thing. Or, hit a hotkey to go to the commandline and type your alias or search for the command.

Option 2 is to automatically activate an alias with 2 characters and up if the sequence was pressed. So LI = Line in this example, typing L does nothing, typing LI activates the line command. This shaves off all the repetitive spacebar activations. It’s what Revit does, and Inventor might too. Not as efficient as single hotkey, but it could be an asset for a ‘Legacy/Default+’ mode.

Option 3 is to reduce spacebar activation is by using modal hotkeys, like blender does. So if you need to change a command option, you’ll type the underscored letter only. There’s no need to press spacebar if you typed the correct letter to begin with.

If you would like some clarification of these, please let me know.

If you are willing to live with two key clicks, look at the alias list. For example, try W+Spacebar.

You are welcome to make your own custom alias list.

2 Likes

I already have some 250+ aliases and know how I want to setup my hotkeys, but would need shift and shift+alt options available to me to implement my scheme.

I personally really notice the many daily spacebar activations. Considering the many options to circumvent it, I really do hope that this will be possible one day.

1 Like

Please!

I have also asked for this before. It’s also like that in SketchUp, modo, and lightwave. You save at least half the clicks and as a result Modelling feels more direct and intuitive.
I see several ways to implement it. The safest is to create a panel in the preferences that allows the user to choose this mode (off by default), set his shortcuts (characters and modifiers) and a special key (spacebar) to temporarily activate command input mode.

1 Like

you may or may not know this, but you can use multiple keys for an alias.

for instance, I have t set up for top view, tt set up for trim, and ttt set up for untrim

for me it’s proven to be quite efficient. You may feel differently. Hotkeys are a very personal thing.

3 Likes

Yes, I do that too, but it’s still two o three unnecessary clicks per command.

How many times does someone who’s job consists of writing emails and using Excel hit the spacebar?

It doesn’t matter how long the alias is, it becomes a single ‘gesture,’ that’s more important than this desire for modalities to cram 50 aliases onto one key, which leads to errors and slows down learning–it makes learning to do anything without having to think about it to make sure you’re in the right ‘mode’ pretty much impossible, actually. See Jef Raskin, " The Humane Interface: New Directions for Designing Interactive Systems."

I really don’t care that 3D software X does some interface thing. They’re all uniformly terrible, absurd messes of goofy trends and archaic nonsense. No one does proper testing. Yes that includes Rhino. Google can’t stop screwing up Gmail and they have more resources than the entire CAD industry, there’s no way they’re going to be any “good,” there is only “what I am familiar with.”

1 Like

I am aware of using multiple keys, but at some point there is a limit to how much I can memorise before having to look up an alias.:wink:
It would have been nice to have a search bar instead of doing all the scrolling through the list.

And for those who say: “hey you can also customise the toolbars” - yeah that’s not my thing. Also, the icons, unfortunately don’t click with me in terms of seeing what command they represent.

The spacebar thing is more that, since you HAVE to press it after let’s say W, you basically strain your entire hand, unlike when you are typing, where you move the fingers more gently. It’s subtle, but different.

Direct/ Single hotkey mode (as it is known in Alias) helps by making those commands that you use most often and most repetitively available at one keystroke. As with all the options I outlined above to access commands by keyboard, having quick access to the majority of the tools offsets the additional key required fir accessing less common commands. And what I propose here is that you can even switch between modes. In that case mode switching by hotkey (or UI button) takes two inputs, but that already grants less overall inputs if you used that to access 2 or more commands without spacebar.

Indeed they are.

1 Like

That’s not how your brain works.

And sorry, modes are bad, that’s Interface Design 101-stuff. Of course software ignores that all the time, what did I say above?

It might be that you are right, but you see, people are weird. There are some of us that like to work another way and all we are asking is to have the possibility to do so. I don’t see how a toggle to allow this mode should affect you. If you don’t like it, don’t use it.

That’s just trolling, I know what I am saying. And I know that this is how I want it. Having used dozens of different kinds of software, I know what I am talking about with shortcuts. I have configured each of them and know the possibilities and limitations. Outright dismissing this request is not constructive at all. It’s your opinion, don’t like it don’t use it. But don’t come and complain here.

This is also a long-time wish of mine (based on other software uses and efficiency of such shortcuts). But I have to start by saying I love Rhino’s command line, I can’t imagine it going away anywhere, so I am sure nobody is asking to mess with the concept that has been working so well for everyone for a long time.

So it gets a bit tricky, as the ideas and discussion above shows.

The ideas below could be implemented as “optional”, not destroying current workflow for anyone that does not want to/like to change how they work, but maybe possible to implement or at least consider and refine by RMA.

  1. How about “freeing” the Spacebar key and making it an optional key modifier that could work as instant key shortcut when combined with regular keys? We already have Enter and RMB. The good thing about spacebar is that its easy to combine with any key around one-handed…

  2. Another option: use “Shift” + key as instant shortcut. Rhino commands are not case-sensitive, so typing lower-case would be still standard command line behavior… Two potential issues with that: a) less convenient to use one-handed, b) Rhino would need to be smart enough to know when user types command input like layer names, etc. and actually wants to use UpperCase…
    We have a bunch of in-house scripts where Shift+key instant commands shortcuts are implemented not to interfere with Rhino command line and keyboard shortcuts UI and it works quite well.

  3. Same as above, but with “Alt” - is that an option?

  4. Currently we actually use a wide array of instant shortcut keys in Rhino that are implemented via script that uses MMB as the modifier key. Basically if MMB is down, keys behave as instant shortucts. It may sound odd but quickly it becomes a habit one does not even think about. That script includes key combos with MMB that one can assign actions to as well, like Ctrl+MMB, Shift+MMB, etc. which is also super handy. So for those that would not want to lose their current MMB functionality, it may be implemented as Modifier+MMB, freeing up the rest of combinations for instant shortcuts etc.

I personally don’t like context-aware actions and shortcuts that change depending on mode, it’s really hard to wire the brain around these, so I would not vote for any of that. But adding some * optional * way of instant shortcuts in Rhino would be a much welcome update.

–jarek

1 Like

If ‘L’ starts the line command as a direct shortcut, how would you choose another command that also starts with an ‘L’?

‘L’ could start anything, just another hotkey like keyboard shortcut. The letters would be completely independent from commands in that mode.

Whatever you want. L could also be used for Polyline. The logic is all up to the user, I would configure this so that I can work with the Constraints as best as possible. So you could think about using L as line and configure your other most used commands to be one key shortcuts.

Then you can do something like:
Shift = Layer based
Alt = Constraints
Ctrl = Solid
Ctrl + Shift = Surface
Alt + Shift = Selection
Ctrl + Alt = Opening dialog windows
Ctrl + Shift + Alt = vertex operations
And expand on the fly.

E: Do note that this is for the more infrequent commands. And you can always have a command mapped to any button (e.g. spacebar) to search the command line. So then it becomes single hotkey and the rest is still easy to be found (Grasshopper also defaults to space search, so that’s not as much of an issue to me as confirming afterwards). The difference is the repetition of spacebar vs regular typing where you use two thumbs on the spacebar.

Whatever floats your boat.

And, Rhino could be context sensitive as I said. So if I have a surface selected, the hotkeys could go to Surface mode. If I have any of the SubD (sub-) selections, it does SubD commands, with a closed polysurface it does solid commands, with Curves it does curve commands, with sketch items Constraints, etc.

So L could be: Line without selection, Loft with a surface edge selected, SubD loft with SubD edge/ loop selection, etc.

What I wanted to ask is how the command line distinguishes between a direct shortcut and the first letter of a conventional command?

T-Splines had single key shortcuts if I’m not mistaken.

1 Like

You set a mode. With the mode set, you’ll see the command line greyed out. So, you tell the command line not to listen to input until you ask it to do this again. This could either be a toolbar button (enable/ disable toggle) or a hotkey or even a Hit this hotkey first so you can type in the command line

This is not rocket science really. The difficulty is probably in rewriting Rhino to make the commandline a less centralised thing. And this happens without affecting the workflow people use now (they would simply toggle this mode off and that could be the default). Don’t use preferences for this, it needs to be easily accessible to quickly change it on the fly if need be.