Add an R click option to search and highlight a shortcut in the keymap preferences
As the title says, this is a quality of life change to make it easier for users to actually find a specific tool/feature when using the R click command. Right now it is possible to use this menu to add to quick favourites and assign a shortcut. The latter option allows you to make a shortcut, but not how to find it if you wanted to make specific settings for said command. By adding an option to search (you could call it "Find Shortcut") and highlight the right shortcut, it would make it a lot easier to find what you need than to use the current search bar inside preferences, which has its own share of flaws that make it hard to find the right keybin. It also doesn't help that the keymap has a very flawed naming system that does not always match the names while looking them up in the actual program.
While we are on the topic of faulty keymap naming, can we please change such naming conventions as "Call Pie Menu" and "WM_OT_tool_set_by_name" to what said commands are actually for? There is no way to see the difference between things like "Shading Pie Menu" and "View Numpad Pie Menu" at a glance when they are all named the same (this also makes the search bar nearly useless in those cases). Plus, unless you happen to know the specific code name for a command (i.e. "pie.shadingview") to get the right RNA, you can't actually find out if such a command exists unless you happen to have an already existing keybind for it or know enough about the Blender code to figure it out. My suggestion in this case would be to add a built-in lexicon for these names so it is easier for newcomers to find the correct name when making new shortcuts.
6 Comments
This is two proposals. It would be best if you split it into two posts so they could be discussed and voted upon separately.
That said... why not just use the Operator Search feature (<kbd>F3</kbd> in the new keymap; <kbd>Spacebar</kbd> in the 2.7x one)?
* @Jason van Gumster * The search function is a good way to find a command while in the middle of working, but if you actually want to edit the keybinds to your liking so it fits your workflow (my preferred way of working), then Operator Search is not of any use at all. You have to start digging in the Keymap inside Preferences with hundreds upon hundreds of shortcuts to find the right ones to customize.
Unless you spend literally weeks trying to learn the system and really dig yourself into the language used for the Keymap, finding what you are looking for can take a very, very long time as a newcomer. I know, since I literally spent the first two months of learning Blender 2.8 on customizing nearly every keybind, and I am still not fully done. If Blender had better Keymap search functionality and a better naming system, I could have cut down all that time by several weeks.
* @Frozen Death Knight * Huh... I swear that at some point in the past, you could right click on the results in the search menu and you'd be able to set hotkeys right there in place. Maybe I'm just misremembering, because I tried it in both 2.80 and 2.79 and it doesn't work in either place. That would solve your problem, though, wouldn't it?
* @Jason van Gumster * Yeah, that would actually be a pretty awesome feature, but the current iteration of "Assign Shortcut" that can be used when R clicking stuff on the UI has a pretty serious flaw. If you happen to assign two separate commands on the same keybind, then more often than not none of them will actually work. Blender doesn't actually warn you or give any options about what to do when different keybinds come into conflict with each other, so you still have to start digging inside the Keymap to double check that you haven't done so. I wanted to bring it up as well in my OP, but I tried to keep the post as short as possible.
* @Frozen Death Knight * That's a concern (but a bit of a separate issue). I've asked the devs about this in the past and the reason why we can't get conflict notifications is because from within a given context, Blender can't necessarily identify all of the potential keyboard assignment collisions or determine if they present a relevant conflict.
Granted, when I asked that question, it was quite a few years ago. Perhaps parts of the event system have changed since then. But if not, that's why the problem persists even now.
I think there is a lot to do to the keymap manager. It's crazy powerful right now and I really hope simplifying it doesn't remove that flexibility, but it has to become more accessible. I think a few things could help:
a "go to duplicate" button to access directly other functions with the same key configuration. A context detection would help alert users when two actions have the same key combination activated in the same context.
a "move/copy to context" button to transfer a specific shortcut to a different context, to allow changing or adding a new change in several contexts
for any function with parameters, make explicit the changed parameters in the summary line. This would fix the problem with "call pie menu" and other things like that by making obvious which menu exactly is being called without having to expand the shortcut setting.
a way to move shortcuts up and down the list to group similar shortcuts together when adding them after the fact for ease of finding.
It needs to become more explicit and more flexible to be useable. But it also can't lose its power because it's really important to let newcomers get along with old users. It allows a degree of customisation that is absolutely a strenght.