Shortcut enhancement suggestion - Use multiple keys!

sketchup

#1

Dan suggested I start a new topic here with my suggestion for a future version of SU . . .


New SU user here, but old time hand at using CAD. One of the handiest things I did using that other CAD program was to map a couple dozen shortcuts to keys that were under my left hand while sitting on the home row of QWERTY keyboard. I used all the single key shortcuts that I could stroke easily without moving my hand. I then used double key shortcuts to commands. I would also use two-key shortcuts to commands. Using this strategy allowed me to keep one hand on mouse and one hand on keyboard and move very, very quickly thru workflow. I wasn’t constantly moving one hand or the other to a ‘modifier’ key such as ‘control’ or ‘alt’ or ‘window/cmd’ keys. Leaving my hands ‘in place’ was much more efficient for entering shortcuts. True, it took some practice and learning, but once I had the ‘muscle memory’ down, it was quick!

For instance, I would like to make the following ‘shortcuts’:

Single key A = 2 point Arc
Double key AA = 3 point Arc

Single key G = Make Group
Double key GG = Make Component
Sequence FD = Flip Along Red Axis
Sequence DF = Flip Along Green Axis

All the above are easily reached while left hand is on home row of keyboard. Another example, ‘O’ is shortcut for Orbit, but wouldn’t it be great if I could assign it to ‘FF’? At present I can’t do that. Seems SU limits ‘shortcuts’ to a single key, or one of three ‘modifier’ keys along with a key to map that shortcut to a command.

Just a thought and suggestion.


#2

I really like this idea!

Although I’m quite comfortable modeling with my Logitech trackball, I was (and still am) frustrated by how often I had to move my right hand from the trackball to the keyboard in order to access a shortcut.

In the hopes of reducing the frequency of moving my right hand from mouse to keyboard, I invested (and yes, I mean “investment” as it wasn’t cheap!) in a 3Dconnexion Spacemouse Pro after watching a few YouTube videos. I thought that all the buttons might help. But I’ve been unable to train myself to use it well - I may just simply lack the fine hand movements necessary for the six-way control and, without that, the Spacemouse Pro is just an extra keypad with a bunch of programmable keys. Now I found my LEFT hand moving often between the keyboard and the Spacemouse! Additionally, I occasionally take my laptop out of it’s desktop dock (where I work with two external displays and a full ergonometric keyboard). Should I come to rely on the Spacemouse when working with SU/LO, then I’ll start to have carrying it around as well - and it isn’t the lightest thing in the world!

If this suggestion is implemented, I’ll be able to set custom shortcuts - all reached by my left hand - and thus nearly eliminate the right hand movements from mouse to keyboard and back while modeling. Yes, I’ll still need it when entering text and dimensions, but my frequency of changing devices with my right hand will be drastically reduced.


#3

And of course I have always liked this idea as well.

I have seen this request recur every year or two, since v7.0.


When I draw, I always think in terms of the verb that I need to do a task, not what tool I need and what’s SketchUp name for the tool is, and then what strange letter key is it’s single shortcut.

ie:

I want to zoom to the extents: Z,E
I need to zoom using a window fence: Z,W
Whoops, I need to zoom previous: Z,P

I need a boolean intersect: B,I
etc.


#7

(post withdrawn by author, will be automatically deleted in 24 hours unless flagged)


#11

I cluster favorite keyboard shortcut within easy reach of left hand and several of them use multiple keys - ie modifier keys like Shift, Ctrl, Alt. You can use up to 3 keystrokes for one shortcut if one is a QWERTY key and the others are modifiers - and if you are willing to press all of them at the same time.

I haven’t tried using all three modifiers + QWERTY key, but that should work too. Just awkward.


#12

I’m all for adding multi key shortcuts but only as long as the current default ones still works and are kept. I think single key commands along with modifier keys are much more intuitive to new users since it is what is used in Windows, Office, all graphical web browser and so many other software people are already used to. Adding multi key combinations would however be very useful for people with multiple plugins installed.

Some technical questions though: Would the shortcut AA first activate whatever single A is doing and then what is associated with AA? For tool activation it may look a bit ugly but it does not break anything if you have another tool visible for a fraction of a second. For shortcuts that modifies geometry or change viewing settings it’s not an option.

Having a short delay before the shortcut is called/committed could technically avoid numerous calls but would slow down SketchUp to the point where it’s hardly usable at all. What’s great about SketchUp is the speed. I often use more than one shortcut a second, e.g. Ctrl+A, Ctrl+C, Ctrl+V. Having to wait for a timer between those calls is completely unacceptable. This would be as awful as those vicious little horrible icons in Archicad you have to press down and wait for before they open their menus, except that it would apply for every shortcut.

Another way is to have a command line like in Rhino and press enter while you are done with a command. That is very powerful and allows for all sorts of commands but is also awfully slow since an extra keystroke is added to everything. That’s not shortcut anymore and thus not an option either.


#13

For the more command like behavior there’s a great plugin: http://extensions.sketchup.com/sv/content/launchup


#14

Sequences of keys would have to work like mouse double-click, with a user tunable time in which the second key must be pressed else they are taken as two independent keys.


#15

Well, all double clicks in tools first do whatever single click does. The same goes for selecting files Windows. I don’t think I’ve seen any implementation of double clicks that isn’t first interpreted as a single click. Any such implemntation would make single click feel extremely odd and laggy. Also, the time required to move your fingers and press different keys on a keyboard is far longer than the time needed to double click. The only exception might be if the shortcut consists of multiple presses of the same key but even then a mouse button springs back and can be clicked again faster than a key.

The more I think of it, the less possible I think it is to implement multi key shortcuts. I think the only possible solution would be something like Aerilius’ plugin, maybe with the option of giving commands “nicknames” for fast access, and have this as a completely separate system from the existing shortcuts. That however could be a great feature. What are your thoughts of this?


#16

There is an old plugin called “EventRelay” written in c++ which could handle combination shortcuts. I used it briefly when it was new, but not since that particular version of SketchUp was out-dated. It probably could be updated for new versions.

It was hosted here: https://code.google.com/archive/p/eventrelay/

I made a backup here: https://github.com/skps/eventrelay


#17

One thing you say seems wrong, about whether two keys can be pressed as quickly as a double click. I think that humans can do the same physical motion about five times per second, and double clicks are not expected to be at superhuman rates. So maybe something in the 1/4 to 1/2 second range perhaps?

With key presses you’re most likely using different fingers, as a strum like action in the best of cases. The fastest anyone has typed is around 212 words per minute, so 21 characters per second. All of us can type in bursts of at least 60 words per minute, which would be 6 characters per second.

That all seems like it’s way faster than double click.

By the way, a different way to achieve the goal would be to use regular letter keys as modifier keys. Instead of typing Z then E, and expecting SketchUp to analyze the timing of those presses, just get SketchUp to check what other keys are currently pressed. If no keys are pressed at the time of release, Z would do Zoom and E would do Eraser. If at the time that E was released SketchUp sees that Z is being held down, Zoom Extents would happen.

That approach would not need fast typing speeds.


#18

on a mac [like the OP uses] Ukelele can remap the keyboard to include dead keys, but when I played with it years ago I can’t recall any ability to use the ‘same’ key twice…

In addition to simple assignment of single character codes to keys, Ukelele can assign multiple-character strings and can create “dead keys”, where a keystroke sets a new state that modifies the output of the following keystroke.

john


#19

I have downloaded it, but it seems tricky to use. I couldn’t easily see how to get it to take a held Z, a pressed E, and output Command-[.

But, if I could figure it out, it could be a solution.


#20

I was referring to the same key being pressed twice in a shortcut (e.g. AA for a specific arc tool). The way keys spring back until they can be pressed again is in my experience always slower than a mouse button. It can also be assumed users have their right hand on the mouse and type shortcuts with the left only (or the other way around if left-handed) which drastically decreases the typing speed.

A delay of 1/4 of a second from a single key shortcut is pressed until something happens is however totally unacceptable. It will either be perceived as extreme lag or the user won’t even associate what happened in the model with the key that was pressed. Such a delay would make SketchUp very painful to use.

Multi key combinations could however as you say work if the action is performed on key up and not key down. However what has been requested in this thread is “shortcuts” where the same key can be used twice and then that isn’t an option. For that I think something like launchup is really the answer.


#21

A point, but not one I think I agree with. Currently, shortcuts are - I want to call them - “chorded”. i.e. All shortcuts are zero or more modifier keys (Ctrl, Alt, Shift) in combination with a single “normal” key - First you simultaneously key all the modifiers (if any), then you press the single key.

The proposal breaks (or, severely modifies) this paradigm in that they can consist of sequential presses of “normal” keys.

I envision the Window --> Preferences --> Shortcut screen requiring change to accommodate this, likely with the addition of two checkboxes - call them “Chorded” and “Sequential” - which would indicate which style of shortcuts you prefer - and I see no reason you couldn’t activate them both! This would preserve your speed for the example you gave (Ctrl+A, Ctrl+C, and Ctrl+V) And please notice that great speed is likely only happening when the commands you are using in quick succession share the same modifier keys.

As far as the current default shortcuts - and keeping them - is concerned, remember that we can already change them! They aren’t “built-in”, they are only defaults. So if you want to keep the function of the existing defaults - that’s your choice. And if I, @DanRathbun, or @Kizmokd want to change them, we can.

Regarding handling single, unmodified key shortcuts and multi-key shortcuts. I could go either way (delay in determining command vs activate single key action then switch to multi key action if the 2nd key press is close enough in time). I’m guessing that, if given an actual choice through a checkbox on the Shortcuts screen, I’d find the visual distraction of the the brief single key action annoying and would quickly turn it off. The important point here is that it can easily be made a choice!

For clarity to newbies - by all means put ALL of these choices under an “Advanced” button on the Shortcuts menu! Especially as this kind of fine tuning of shortcut behaviour is something I expect only advanced SU users would even contemplate using.

If all of these choices are present, here’s how I expect I’d first try using them:
I would enable both chorded and sequential shortcuts and delay the choice of single key shortcuts to avoid visual distractions. I would then - by choice - abandon “Q” as a single key shortcut for “Rotate” (and assigning Rotate to “QR” - and construct all most of my multi-key shortcuts to be three letter combinations beginning with Q - all using keys normally typed by my non-mouse hand. (People who use their left hand for their mouse using the same approach might make their universal first letter “P” - and perhaps assign Push-Pull to “PP”)

Lastly (for now), it makes sense (to me) to limit the available keys for multi-key shortcuts to alphabetic keys only, avoiding any chance of breaking entering information in the Measurements box, whose first keypress is always either a number, or “<” or “[”.


#22

Thinking about it, there is another issue with consecutive presses, which is that with a lot of tools the consecutive presses are sent to the dimensions field, and having SketchUp distinguish between a second key that is part of a shortcut and a second key that is to say the dimension of something, could be tricky.

So, maybe the restriction would be that the two keys are different, and holding A and pressing and releasing 3 could be the way to get 3 point arcs.

Kizmokd should practice with modifier keys though, using command-g or command-shift-g is pretty easy to do already. Most applications rely on that type of shortcut.


#23

as an aside…

my efforts with Ukulele weren’t to add additional shortcuts, but an attempt to make a keyboard viewer with SU icons on the correct shortcut key, so when I pressed a modifier the Icons changed…

it was for an ‘aid memoir’, but by the time I worked out how to create it, I had added icons to keys so many times, I didn’t need it and over time the code was lost…

john


#24

mclancer: Thank you for your post. It was useful.
DanRathbum and sjdorst: Try to be polite.