← All ideas
  • Published 18 Jun 2018

Warn about duplicate keyboard shortcuts

Current, when assigning / changing keyboard shortcuts, Blender will happily accept any number of conflicting mappings (having assigned the same shortcut to multiple different operations).

I think there should be a check when trying to do that, popping op a warning about the conflict. Sure, one can search for existing assignments, but it certainly is a newbie pitfall, and conflicts are not always easy to determine, due to the hierarchical system of shortcut scopes.

This kind of checks are commonplace elsewhere. Here is an example how that looks (from the Metacity window manager):

metacity warning

95.7%

Development Status: Open

Upvote 22 Downvote 1
o.mangold
18 Jun 2018

10 Comments

sreenivas

I haven't noticed this, but if its the case, blender should definitely take care of it when assigning new shortcut! Thanks for pointing this out!

2
jason

Because Blender offers the ability to have different hotkeys do different things in different editors... and sometimes within different modes of the same editor, this is a non-trivial problem to solve. While it's somewhat possible to get the current context and test a new hotkey against that, the solution isn't universal. For instance, such a check wouldn't work if you're trying to use the actual hotkey editor (because you're not in any of those active contexts).

So, yeah, this would be nice to have. It's just not easy to do.

1
Draise

@Jason van Gumster:

Logically you should have the hotkey editor organized by "Editor" then subcategory "Mode". Then with that it would be easy to find conflicts or to check for conflicts automatically. Right now it's a huge mess. Making a completely new map means diving into Python and checking the document manually to find conflicts - or a lot of trial and error. It is VERY timeconsuming.

2
jason

@ondraise15: I never said the current situation was ideal. Just that the solution isn't easily implemented. The current editor is organized by editor and mode, at least in terms of displaying in the UI. I don't think that the data is organized that way.

1
o.mangold Author

@Jason van Gumster: I understand that. That's basically what I meant with the shortcut scopes. A problem is maybe that sometimes it might actually be intended to add a conflicting shortcut, like overriding one defined in '3D View (Global)' only for a specific mode.

Draise

@Jason van Gumster: Yes, the current works to a degree.

Having a conditional array check script on loop based on the area that's been edited in that particular map code set shouldn't be that complicated, it would just need to look on new or changed areas checking strings in the python input map based on the map area (if the python code is divided by window>mode maps) and if it's got a duplicate (==) then it throws the UI notification. The change is only conflicting if it's that area in that same mode - with some globals. Globals should always be checked on change/add.

jamestomk

Perhaps difficult to do perfectly; I would even settle for a warning of a possible duplicate, as it is very very difficult to do this manually.

jamestomk

Yet more confusion recently

Draise

PLEASE PLEASE PLEASE.

Alberto

Blender phylosophy is against block program to info about something.