Industry standard hotkeys and controls, how did they become the standard?

What I mean is that when I hear about industry standard keys for CG applications having things like Q-W-E-R for object manipulation and moving around the viewport (rather than what Blender uses), it begs the question…

How was it decided that such keys would become the industry standard that everyone would expect all applications to follow in terms of controls (especially in decisions like deciding that grab, rotate, and scale, would not have keys that represent its first letter like G, R, and S), what reasoning was there that was apparently good enough to have it stick around for decades with no sign of changing?

I think right now would be a good time to find out why since it’s become increasingly likely that a closer adherence to the standards will be coming in to Blender in the near future (perhaps even for 2.74), so it would be nice to know why the (apparently more puzzling decisions) are there and expected for all applications.

To note, this isn’t meant to be another thread about Blender vs. the Industry in terms of controls, but why the industry standard controls are the way they are and what led to those decisions.

probably someone started mapping the keys of the most basic functions and thought he’d start at the top left of the keyboard. so you have qwer. it worked, everybody got used to it, so why change it.

blender’s gsr makes sense too of course. but qwer are next to each other, which allow for a more physically grouped keyboard layout.

just guessing here though.

They QWERTY keyboard itself is a standard, awful as it is very few want to learn a better layout. It is a standard but not entirely international especially in where the commas and dashes are. Here in spain you have to press right alt 2 to get the email @ symbol. Standards of these kinds mostly come about by a series of historical accidents, but once established it is better to use them, but rotten to have to change to them.

I spent a couple of hours changing the Blender keyboard so that SPACE would start and stop animations (a fairly standard feature in sound and video editing) Having changed that Blender lost the ability to bring up the search box, so I had to find a single key that I could assign to that (Blender would not accept ALT A) so I used PAUSE. But was PAUSE previously assigned to something?

I made all that effort because my brain has learnt to make my fingers press SPACE when I want to stop video and I’d rather have my software standard than have one better but different.

Oh, in Spain CTRL A doesn’t select All, you have to press CTRL E - so much for standards.

not sure really but i suspect in your grs example the more common something is used it would get the priority. s would probably already be taken in most people minds as save not scale. in graphics r would probably be render. the reason keys on the left are used commonly is because most people are right handed so their right hand is on the mouse and their know the keys on the left with their non mouse hand. and older software tends to set what people become accustomed to, it formed their habits first. wasd became the default for game movement because it really is efficent. letters higher on the keyboard also make it easier to use your thumb also for the space bar to open a menu or hotkey some other common/vital function. it gives you a 5th imput. letters to the left also let you tab, caplock, shift or ctrl with your pinky. (and ~ wich is default to open consoles on alot of software until ms forgot to reset the programming back to an english rather than indian keyboard) alot goes back even to typewritter days for why those kays are on the left.

“Good user interface design relates to the user, not the system architecture.”

Actually the whole “grs” isnt about placement, its tied to the word, which is a flawed design approach. Grab goes to G, Scale goes to S…ect, it doesnt consider or put higher priority on placement and workflow but instead opts for “recognition”. The inherent problem with this approach is three fold, one it inferior when compared to a keymap designed around functionality, two it can spiral out of control and become a convoluted mess, and three not all keyboards are in ENGLISH.

Funny thing regarding the QWERTY keyboard layout, it was actually designed around typewriters. They wanted to create a layout that would slow the typist down so that the machine wouldnt lock up or conflict with itself when typing fast. Convention is just a standard that can be widely adopted and improved upon over time, making the usability of something much easier and or automatic for the user. It’s why you can hop into a new car and know how to drive it right away.

Anyone who says there is a “standard” is being disingenuous. Almost every 3D package has a different control scheme, from navigation all of the way to individual operations. Softimage is different than 3DS is different than Maya is different than Modo is different than Cinema4D is different than Houdini, and so on and so forth. Which is one of the reasons I don’t understand people who demand that Blender adopt a “more standard” control scheme. I know a half dozen control schemes to work with the software that I need. The only wild difference in Blender is right click select. And it’s really not that hard to remember “Blender is open, use the other finger”. Every scheme has positives and negatives. Some are better for animation. Some are better for sculpting. Personally, I think Blender’s is the absolute fastest for box/poly modeling and retopology. There’s no keymap that will please everyone, which is also why there isn’t a standard.

+10^100 to m9105826

This ridiculous assumption that there is a golden standard out there and only blender doesn’t adhere to it blows my mind constantly.

I posted this before, but behold the consistency out in the great world of “industry standard” viewport controls

AUTOCAD:
pan: mmb
orbit: shift + mmb

MAX:
pan: mmb
orbit: alt + mmb

MAYA:
pan: alt + mmb
orbit: alt + lmb

SOFTIMAGE: (looks like they have about 7 different modal view control tools, These are the default ‘navigation’ tool controls)
pan: lmb
orbit: rmb

LIGHTWAVE:
pan: shift + alt + lmb
orbit: alt + lmb

MODO:
pan: shift + alt + lmb
orbit: alt + lmb (unless you click too close to the corner, in which case, it will roll the viewport)

BLENDER:
pan: shift + mmb
orbit: mmb

^ I disagree to some extent. It’s not just default controls for those specific applications but a general mindset thats also part of the standard. Its not necessarily tied to mere 3d suites but also carry over to applications like 3d coat, substance painter, Unity, Unreal…ect Its in these secondary applications you start to see far more commonality. Many of those above share commonalities as well, such as the importance of ALT being the modifier tied to navigation, or the use of QWER for transform selection. Additionally, many actually put a heavy emphasis on making sure their alternative keymaps are equally capable and supported, for the most part. In every app I have tried that gave the option to switch to a Maya keyset, its been highly polished and non buggy. So they understand the importance of having some common control scheme, kind of like the benefits of having a common language. Naturally no application is going to be 100% a perfect mirror of the other.

Food for thought.

I agree wholeheartedly:


Kidding aside, there certainly is a draw towards maya style controls. But I think that common thread has more to do with market forces than what works best. Is having a flawed standard better than having a polished non-standard?

Like the qwerty example, sometimes an imperfect system becomes a standard, then people continue to use it, simply because it is a standard. But look at Dvorak: measurably better for trained users, but never really took off. It didn’t fit the standard, so it was bad. Even though it is literally better at being a keyboard layout, the market forces determine what will be accepted and what will not.

There are a whole lot of maya users out there thanks in large part to the corporate maneuvers of autodesk. But now it’s a standard, like it or not.

Better get in before the thread implodes (right-click select has already been mentioned!).

Firstly, to answer the OP as best I can, de facto standards (such as you see with hotkeys, mouse buttons, etc) come about due to a mass of users finding the standard “more productive”. That is not to say that they are strictly better in isolation, but that those adopting the standards find that the balance of pros & cons leads to more productivity.

Take for example, the de facto standard of using Office file formats for passing around documents to be edited. There is a good argument to be made for other file formats (less platform tie-in, easier to analyse / utilise with custom software, more efficient, etc), at least, as long as you are the only people using the documents. However when you need to be passing that document around to many others for their additions, editing, feedback, etc - there is often far more hassle in converting between the various formats in use than there is benefit to the individuals in using their individually preferred formats. In isolation, the de facto standard doesn’t matter & can be ignored… but when taking into account the rest of the environment one needs to work in - the standards matters a lot.

I also agree that there is no one universal golden hotkey standard and there never will be. Different applications have different uses, priorities, and sets of functionality. Their developers will have made different compromises and decisions at different steps along the software’s evolution. And so on. However, there are commonalities that the most the common hotkey setups share that increase productivity. So whilst there may not be a standard in the specific keys, there are some standard in the concepts used to develop the specifics. A “meta-standard” if you will.

Take for example the concept of a “home row”. Maya, Softimage, 3DS Max, Modo, etc all have the move, scale, rotate tools side-by-side on the one row of keys on the left of the keyboard. Softimage has them on the XCV keys, most of the rest stick them on in the QWER keys, and there was one application I’ve used (though I cannot recall which one) that stuck them on the ASD keys. Why? Because the majority of people using the software are right-handed (with that hand on the mouse), the majority of operations made on model, rig, animation would be translate/scale/rotate operations, resting your hand on three consecutive keys for these operations is “comfortable” and (in general) allows you to rest your thumb on the space bar with your pinky moving between TAB, SHIFT, and CAPSLOCK. There is a lot of productivity to be gained in having that as the left-hand’s “rest position” regardless of which order the home-keys have the scale, translate, and rotate operations. 3DS, Maya, XSI, etc won’t be exactly the same… but the “home row meta-standard” makes them easy to get up & running in for the basic operations. Same for the meta-standard SaintHaven mentioned in regards to scene navigation. Same for the less-than-meta standard of WASD for computer games - for most people, most of the time - it’s a comfortable position with keys close together for the most common operations of the game :slight_smile:

Then there is where I need to strongly disagree with the mod (happens in every thread :P). I’m sorry, but I use many elements of software in my job, hobbies, and even social life (Facebook & I have a love-hate relationship). ALL of them select with the left-mouse button… but one. I’ve been using Blender for over ten years now (since before the GPL licensing of it) and I STILL get the right/let buttons muddled up when my mind is focusing on the task and not which software I’m using. Some standards, whilst not written into law, might as well be due the sheer momentum behind them. This be one of them :slight_smile:


tl;dr:

  • De facto standards (like 3D hotkeys) arise because they make things easier for the majority of people the majority of the time - even if they are not strictly the “best” solution available for any one given task / setup.
  • In regards to 3D software hotkeys, what standards exist tend to be focused around the comfort/utility of having common operations on a home-row of keys (QWERT, ASDF, and/or ZXCV)
  • I’m glad we’re finally getting left-mouse select :stuck_out_tongue:

There are some global standards. A app never exists just for itself. Hotkeys like ctrl+z are multiapp standards for example. Also LMB select is such a thing. But that doesn’t mean that there is a standard for every available hotkey in a software around. Some stuff like viewport navigation has still not settled to a global standard. And might never do so.

There is no such thing as an industrial standard for short cut keys on 3d packages. This is a myth that exists on this forum, SterlingRoth nails it with that quick example of pan, orbit.

I do find it funny that some of the staunchest supporters of “industry standards” both went to a very fuzzy “meta” place about how there are standards, but they aren’t as concrete as having a standard layout. A fuzzy standard doesn’t hold much water in my book.

I have come to love RMB select. It has improved my workflow inside of Blender, since I can keep manipulator handles active in the viewport without accidently selecting them when trying to do other things, for example.

That being said, I wholeheartedly feel that LMB should be the default in Blender. It makes it an easier transition for new users, and I can very easily switch my prefs back to RMB and get on with my work.

What I find amusing is everybody freaking out about a change to new user defaults, when most current users would likely never know the difference anyway since their own prefs are already set up.

I have customized the crap out of my keyset to suit my specific preferences. Blender has one of the most customizable interfaces I’ve ever used (thank you 2.5 project) and I love it for that. Set up a default keyset that balances productivity and accessability for new users and let the veterans go on customizing the interface as they see fit.

agree with all of this, even about making left mouse buton select default…and I too am a rmb select advocate. I know where to change it…so whatever…
as far as “qwer” selection modes…I only know of max using that…
lightwave, Blender, silo, and good old truespace(yes, my first package) do not use those keys…to call something “industry standard” is plain barking up the wrong tree…I am starting to think autodesk coined the phrase to describe their packages :slight_smile: since they are the only ones who, to the best of my knowledge, use it…and they are becoming less and less the standard. I think a lot of companies are using zbrush, c4d, modo, blender, arnold etc rather than 3dsmax…maya maybe a bit more used for animation…but the basic flow seems to be sculpt, remodel, texture, animation & physics, render, and comp/fx…most done in different packages…so standard is an inapropriate description.

I actually like QUERTY. I can rest my fingers on the keys and fly. GSR has me constantly checking my finger position on the keys. This is a slowdown. One the things I hope the new default keyset addresses. My biggest wish is to assign left-click-drag to box select. The default assignment of the cursor to LMB is IMO a bigger issue for new users than RMB select. Box select is used ALL THE TIME and I have to hit B every time to use it. Big slowdown to workflow.

I’ve already changed that, and assigned the cursor to alt-ctl-shift LMB. I think a setup like that would help new users and veterans alike. Just one man’s opinion. :slight_smile:

Just wanted to add my two cents: I think that the only things that can (arguably?) be called industry standards are LMB select, Ctrl+Z to Undo, and Ctrl+S to save. Aside from that, pretty much every software has a different set of controls for most things, as outlined by others above.

What would make a new keymap most useful would definitely not be to blindly follow any particular software’s keymap, but instead to determine which functions are the most frequently used by the largest share of users and map those to the most easily accessible keys, and progress from there to less used functions going to less easily accessible keys, etc, like this:

Most universally frequently used functions that need mouse input: Mouse only, no keys
Second most frequently used functions: Home row of keys (ASDF)
Third most frequently used functions: Keys around home row (QWER, ZXCV, TGB)
Fourth most frequently used functions: Keys on the right hand side
Fifth most frequently used functions: Number keys, numpad keys, function keys, etc.
Sixth most frequently used functions: Keys plus one modifier (Shift, Alt, or Ctrl) - be mindful of distance and position between key and modifier key.
Seventh most frequently used functions: Keys plus two modifiers (Any combination of two of Shift, Alt, or Ctrl) - be even more mindful of distance and location of all the keys.
Eighth most frequently used functions: No keys - GUI only (menus and other interface elements) - the interface should also follow the same philosophy, with most used functions mapped to most easily accessible interface elements, down to least used functions being mapped to hardest to access interface elements.

If that analysis happens to match some elements of some other software’s keymap and interface, that’s great, but if it reaches different conclusions, it should follow its own path to ensure the highest possible efficiency. Of course, there would always be exceptions and refinements to the above. Nothing should be set in stone if it doesn’t make sense in the overall picture.

I’ve wondered before how this analysis could be done, and aside from picking based on personal experience or surveys, both of which are vulnerable to inaccuracies and misperceptions, it would be cool if Blender could collect that data and send it to the Blender Foundation, anonymized, of course. It would just be only a count of how many times each function is used over the course of a month, for instance. This kind of data would probably be invaluable in coming with this mythical efficient keymap.

if you like or not (and I don’t like), Maya is the actual industry standard, maya is everywhere, from schools to industry (movie, games, VFX, animation, modelling etc).

Softimage navigation use S key interacition mode, so instead of ALT you press S key + pan is on right mouse button, rotate on left and zoom on middle. I like it (dear old XSI… :frowning:

As I’m the only one referring to anything “meta”, that logically is directed at me… and is false. The only thing approaching an “industry standard” I am staunch in my support for is left-click select as opposed to left-click 3D tool. I am more than happy to go through, again, how that is not only an industry standard but a user interface standard across the software of most industries if you like… but I think the mods would clamp down on that discussion.

I’ve never made any claim that there is any other “industry standard” in regards to hot keys, only expressed my preference for the kind of design principles that do exist in other 3D software (such as the home-row concept I elaborated on earlier).

As I mentioned in my post, it’s not just Max using the concept of a home-row; Maya, Softimage, Modo, and others do too. Lightwave has, if I recall, a ‘toggle through the operations’ using spacebar which is kind of cool… but you might want to check again on Silo. W - Move, E - Scale, & R- Rotate are the defaults hotkeys for Silo out of the box. Q being for the “universal tool” that does all three. :wink:

The home-row hotkeys are a common enough principle that even if the exact layout of operations on the home-row is different, I would consider the fact there IS a home-row for the most common operations a “standard”. It also seems as if the UI overlords (tongue-in-cheek folks, don’t panic!) agree given the kinds of the keymap ideas they’ve been presenting via the tracker :slight_smile:

For me I’m not interested in keyboard shortcuts, I don’t use Blender enough to remember them. What I do request is that if a new function is added that the devs please add a button or menu item so I can find it. Otherwise I will not find it or use it. :frowning: