WIP Stickey Prototype (feedback welcome)

Hey, if you remember this image:

I created a hacky prototype of this idea that is somewhat working, so if you are interested you can try it out here:

It’s WIP, so not all is implemented. Some things are also impossible to implement with just config.

Some of it is probably too radical to be accepted though. For instance, the look of vertex edge face menus could be left alone as they are now to be less controversial (currently they are turned into pies).

It is dealing mainly with the Edit mode - modeling is the most shortcut intensive activity, so it’s a good “proving ground”.

It seems to have the good “learnability” that I was expecting, with functionality clumped together to reduce the amount of information to remember (vertex edge face and move scale rotate being the main ones), and the RMB menu to fall back to in case of more miscellaneous commands to find.

The image also helps greatly because it is conveying quickly what is where - I would imagine similar images could be distributed with the keymap inside Blender somehow for each mode.

Feedback/help also appreciated. You can provide feedback in the Issues section on Github.

I’m still not sure how to tackle manipulator control, so we could have both the LMB select and a manipulator that doesn’t get in the way. I was thinking about using Q as the Quit button that turns it off (then it could maybe turn off other tools that do not lock the interface - I would imagine an area select tool like that maybe?). Alternatively - make it so it has low persistence, and for instance deselect all turns it off. It has to be turned on again, but it’s very fast with the a/s/d drag up and release.

There also may be a better way for the 3d cursor, preferably using the LMB. LMB hold/double click maybe? Thanks to the RMB menu, where it sits on top, it could be a miscellaneous shortcut like that.

The pie menu approach is fast enough for some mid-frequency operations, like changing the manipulator mode, but too slow still for things like loop cut and slide or vertex merge - these should have a tool mode IMO.

It’s not really keymap development, just a prototype - I am not a developer though, but a guy that studied graphic design and so thought to help with the UI. I can’t really influence the distribution of workforce inside the foundation.

LMB double click works really well for cursor placement. It requires specific intent and has immediate feedback that you have done something different by doubleclicking. +1 from me for that part.

I’ll give your keymap build a spin and see how it feels

Still recommend moving ASD to QWER. Especially with 1-3 being the edge, vert and face select, otherwise you will probably be forcing a lot of people to create a fix (swap of keys) just to keep it a bit more conventional and easy to access.

QWER and 1234 is not ergonomic , makes shift and ctrl harder to reach ( you need to twist your wrist). This hinders speed.
If you want conventional key-mapping you should customize your keymaps to fit your needs (for example I remapped my ZBrush keymaps to make it like Blenders - Personal preference-).

ASD is easier to learn to new comers and has a more ergonomic hand position.
If we are talking about an easier key map ASD is the way to go, lets not force ourselves ADesk’s bad habits.

Sure if your hand looks like this:
All joking aside…

Lets do a test, lay your hand flat on the keyboard and let your middle finger rest on the lower edge of the W key. If your hand is shaped normally, you will have your answer as to where the keys lined up.

Really if you are having trouble hitting shift or control by using QWER (convention) then you should seriously see a doctor (only being half serious). Fingers are not supposed to be the same length and if we really wanted the most “ergonomic” set up, there wouldnt be any hotkeys at all but rather floating buttons on the screen in which to click.

The simple fact is that even if its kept as ASD, a TON of people are going to attempt to change it and offer up that changed keymap…and it will be popular. Why do you think that is? Because its far more conventional and intuitive. Why intuitive? Because intuitive requires familiarity.

I also do not know where this “ASD is easier to learn to new comers” comes from? What are the terms which define “newcomer”? Does it include their past experience in other software? Does it consider their potential use of other software? Does it assume they will only ever work in Blender, which was one of the same problems we had with the old keymap? The questions must be asked because the terms must be defined.

It really isnt the biggest deal in the world, but one has to consider the fact that a large chunk of users will immediately begin seeking to change the keymap (and try to maintain it) to the conventional and familiar QWER, and given the sticky key functionality in the graphic posted above, it makes more sense.

The knowledge that the demand is there should certainly be considered, plus the Q naturally hides the widget in a QWER setup.

Nice to see some updates, good job.

After testing new changes, I think:
I don’t know if it’s better to select with left or right button, but the floating menu is impractical to run using left button.
I do not like overloaded Pie Menus. For long menus I prefer the conventional list that remembers last action used.
The Pie Menus runs slow due to SticKeys, I think in the image below show how they could run faster. It seems the same, but it is not.

Don’t need to test it, I had my share of qwer layout while using max and zbrush. The thing here is; to reach shift & ctrl , you need to use 2 fingers for QWER (index-middle) and use ring finger and pinky on ctrl + shift.Even like that the hand may get tilted depending on the person.

In ASD you can relax all 4 fingers on the keys . Index - A, Middle - S, Ring - D, Pinky - Shift or Ctrl. And because of the angle of the arm the hand is easier to slide to the center keys of the keyboard and back to ASD.

" A TON " of people, is just making an assumption, and if they do change their keymaps to qwer and offer it then problem solved. You can use that. Familiarity is again objective ,personal preference. I prefer photoshop like shortcuts (First letter of the tool > B - Brush) which makes me feel familiar with programs like painter,sculptris and blender. I can not make a generalization about familiar conventions this way, I think its not correct to make assumptions based on preference.

The definition of new comer doesn’t really matter here, you dont need to define any terms because context varies depending on the user. The main factor should be usability not convention, the point is ASD is more ergonomic (curvature of the arm) and has a equal distance to top and bottom keys (1234 - zxcv). On top of that it relates to WASD (so if the number of user mattered for a convention , gamers are a bigger mass for possible users - future or present).

Huh? It should be set to RMB in the config.

Yeah, that might be better.

Sure you do, because if you did you would see you were wrong. I don’t blame you for not wanting to do that. As for how you lay your fingers out…it appears you are doing it in the most silly way possible. Middle finger on W, Ring Finger on A and index on D. Pinky rests on Shift and Thumb on Space.

What you get is the widest range of keys possible with little to no extreme movement, meaning all non used fingers can stay resting on those keys. The middle finger on W gets access to 1-3 + S. The index finger on D has access to E, R, T, F, G, X and C. You should be able to hit all these without having to move your fingers off the other keys. The Ring finger on A will give easy access to Q, Z and X + Tab and IF your keyboard has macro keys to the left, all of those (which will require entire hand movement). Pinky & Thumb then gives you all the modifier keys like Shift, control, Alt and Space.

This is a very wide area of influence you can access. Just because one says QWER doesnt mean that all your fingers are supposed to rest on each one of those keys. Not sure where you got that impression.

On top of all that, this finger to key layout is FACTUALLY the most commonly used by a wide margin. Why? Because it includes and shares in the same hand layout for PC gaming, both casual and professional, where accessibility & familiarity is the key (pun intended) component. I’m talking millions upon millions of people trained, even from entertainment, to be familiar with this hand layout.

Additionally, the fallacy with your ASD assumption is that by your very own argument of “hard to access keys”, you are losing out on 1-4 keys by moving your fingers down… which is more important when it comes to accessibility? Rotate, Scale and Transform… or selecting the components (edge, vert and face) which you want to work with? Because the way you have it you are giving more importance to the rotate, scale and transform keys. The fact is they are both equally important and rely on one another, THUS having them as close together as possible is far more logical and usable… thus QWER + 1-4.

I’m sure we can go back and forth all day, but you cant win when you claim the main factor should be “usability” while opposing “convention”… primarily because Convention DIRECTLY correlates to Usability. Convention is intuitive because its familiar, familiarity is a component in usability. The problem with Blender’s default keymap is that it was thinking it was all about “being the best” more “ergonomic” layout, and you are rushing right back into that mindset that we should be trying to get away from.

Case in point, you refer to Photoshop as being a good example of shortcuts, yet by that very admission it goes against the entire “ergonomic” claim you made earlier. No one in their right mind can claim the B key is accessible or “ergonomic”, much less that Photoshop is designed around a smart layout. No they used a flawed approach which uses keys all over the keyboard, where the letter was more important than the usability factor. The flaw with this design is that not only does it not put usability first, but it can only be based around ONE language. Does someone in China know that B must be for Brushes when they have a different language entirely? It also assumes that you are too dumb enough to build muscle memory, thus the need to remind you of the letter.

But hey, if you still disagree then I’ll agree to disagree and claim that I believe catering to the mindset you are presenting is what helped us get into this mess not fix it.


I’m liking what I see so far with the sticky key implementation and the general focus on the left side of the keyboard. My concerns (outside of the asd/qwer) at the moment are more about it maybe getting too convoluted with all the menus that could pop up. I’d recommend pushing for context sensitive options to cut down on the sheer mental juggling one would have to go through.

There were a few keymap/plugins in the past that did this very well. For example, if you select Face and right click, you got all the main options that you could do with the face…such as extrude, collapse…ect, if you select an edge and did the same thing, a menu just for the operations you can use on the edge will pop up. I gives the user one or two “power keys” which they can use when working with components and not have to really think about which key is for what menu. The space bar can also probably operate in such a way.

At the risk of being accused of cherry-picking, it really needs to be pointed out that although something conventional is familiar, that does not make it intuitive. Sticking with keyboards as an example, the QWERTY keyboard layout is definitely conventional now, but it was explicitly designed to be unintuitive.

Words mean things.

It was designed to slow down how fast people could type as to prevent typewriters from locking up. Words DO mean things, but so does context. In the case of UX design, intuitive really does translate to familiar… when you get into a new car and its intuitive in its layout so that you can start driving immediately… thats because it is familiar. Its a key part of interactivity and design. The only way for something to be intuitive is if its some how familiar to the person looking/using it.

+1 if convention = intuitive, why did we ever move away from command line controls?

What seems to be consistently overlooked though with this analogy is the fact you have to learn the system anyway. No-one jumps into a car and suddenly knows how to use the clutch, pedal and break. They have to be taught or figured out. You don’t just hop onto a bike either and suddenly know how to ride it perfectly balanced. You have to learn to orientate yourself and when to effectively pedal, break and stop. It becomes intuitive when a person has learned these. You can’t make something intuitive, because intuitive use comes about with a bit of time, learning and practice.

There is a bit of truth in that but its a mixed bag. There are some more “global” or “universal” things that do not require “usage” or experience to know. For example how the color red is used in nature, even from a very primal level its associated with a “warning” or “danger”. In the case of a car, it works fine since the act of knowing how to drive or being in a car is no different than say, using a computer.

You could interact and use a computer which the OS itself which is built around conventions and standards, so when you load new software on the OS you are already trained by the conventions of the OS or Computer itself. This includes the near universal left click select, which is the same across Linux, Mac and Windows. The real world to digital implication of what “tabs” convey.

The simple fact is that if you are running software on a OS, you are expected to know how to interact with the OS itself… and that very platform has the standards and the foundation for familiarity you see in the software that runs it. So given that fact, one cant simply write off intuitive to familiarity design choices. Its a moot point in otherwords due to the very platform its running on.

Really I cant believe some are so quick to rush right back into the same mindset that caused the new keymap to be created for in the first place. Dont try to reinvent the damn wheel.

Interesting analogy. Would you expect a truck or a bus to drive in the same way as a car, given the way the engine is built the same or very similar way?

There’s a lot more to the anology of a car that I missed out on, for example learning to rear-drive around corners, parallel park and the three point turns. Would you drive a bus rearwards around a sharp corner the same way you would with a car?

The simple fact is that if you are running software on a OS, you are expected to know how to interact with the OS itself… and that very platform has the standards and the foundation for familiarity you see in the software that runs it. So given that fact, one cant simply write off intuitive to familiarity design choices. Its a moot point in otherwords due to the very platform its running on.

The thing is the OS does provide standards, and them standards are the clutch, accelerate and break pedals, but that doesn’t mean the way the vehicle (software) itself is driven has to abide by them standards. In fact doing so would be counterproductive in certain situations.

I’ve said this previously in another thread but it got buried, but you have to remember that most computer productive use is in 2D. Everything from Flash, MS Paint, Photoshop, video production, office work, all of it is 2D; it’s all based on a 2D monitor so manipulating and using 3D is kind of a niche thing. I’d like to say it’s a fairly new phenominon but 3D has been around for a while now and people still can’t come to conclusive agreements about ‘standards’ that should be obeyed. It’s not so simple, because you have to use a 2D tool for 3D production.

i feel so old school, using my memorized keys to edit… but since its memorized I will keep doing that.

When it comes to Move, Rotate, Scale…, I vote that they be assigned in the QWER area. Your argument that they’re hard to reach when adding Shift/Ctrl/Alt doesn’t make any sense. Why add those modifiers keys (Shift/Ctrl/Alt) on mostly used features in the first place? Add them where you want them, eg, ASDF… Problem solved.

That’s a myth. The letter combination ‘er’ is one of the most common in the English language and yet they are next to each other on the Qwerty keyboard. It’s probable the key layout evolved over time with usage by telegraph operators.

That’s entirely possible, there are quite a few theories at play. http://www.smithsonianmag.com/arts-culture/fact-of-fiction-the-legend-of-the-qwerty-keyboard-49863249/?no-ist

Regardless, the origin really isnt all that important. Its the standard, the convention and it works. =)

What was the rationale for ASD? QWER is common enough that people do already change to it.

Since we’re talking keys that literally sit right next to each other on the keyboard, without good rationale I don’t see why we shouldn’t just move them up a row and use the typical QWER combo. Even just going between Blender and a game engine it’s one less thing to constantly retrain your fingers for.

Is that Git repository a Windows build or something? I don’t know what to do with it to try it out on Linux.