← All ideas
  • Published 5 Jul 2021

Menu Hot Letter Strict Assigment ( not "random" )

It would be HOLLY FANTASTIC to have strict letter assignment for menu similar that is used in windows but here in Blender by "%" sign (not "&" that could be utilized better as a visible char for the meaning of menu option).

Currently Blender chooses hot letter by itself that is very, very... very inflexible and annoying, especially for Q and Pie Menus ( and definitely for Pie Menu Editor Add-on). When something changes in the Menu then hot letters can be changed for some menu options "randomly".

I recommend to use % sign as an "invisible selector" of hot letter. When it will be put in front of specific letter of the menu option text it will make that letter hot.

For example: Re%move Doubles
will make "m" a hot letter for that menu option.

It there will be more the same hot letters set bu user in specific menu list then the last on the list is the valid one. It will be much simple to code by developers ( you do not have to care if this hot letter has been chosen previously - user have to take care about it when setting these hot letters ).

Algorithm of hot letter assignment:

  1. Blender check menu list for user hot letters marked by %
  2. Blender reserves that letters as not usable for its "random" choice
  3. Blender makes own "random" assignment for rest of menu option on the list avoid using reserved letters marked by user with % sign.
100%

Development Status: Open

Upvote 4 Downvote 0
tomek
5 Jul 2021

4 Comments

ktdfly

Each operation can appear in multiple different menus, e.g. in object context menu (W) S hade smooth and Shade f lat are autobinded to S and F, but in mesh edit mode (face) hotkeys S and F are already binded to S ubdivide and Extrude f ace along normal, operations S h ade smooth and Sh a de flat in this menu happen to be binded to H and A just because keys S and F are already taken.

The same operation can appear in multiple different menus, thus hotkeys can clash and that is why Blender assigns %random% letters.

I guess one could invent additional rules for some menu items, based on priorities or user preferences. E.g. you could assign S hade smooth to S before Subdivide if it had higher assignment priority. Also you could provide several recommended hotkeys for each operation (for Sub d ivide let it be S and D, but i'm not sure how it would play with translations to other languages).

IIIFGIII

Things become easier to understand when u know how it work on code level and which order followed by this auto assignment.

This auto assignment choose not random letter, it follows strong rules. It choose uppercase letter of first word in menu item name and assign it, if this letter free, if it not it search for uppercase letter of next words in item name. If none of uppercase letter are free - it start check & assign lowercase letters by same rules. It do this to first menu item then next and so on.

Also check this topic - your proposal pretty same. After I point out how this auto assignment work, author of this topic realize that he can assign "manual hotkeys" to his PIE's by naming menu items in specific way :)

Two conflict issues:

  1. Your method still not work in Quick Favorites menu or any other Blender own menus - you CAN NOT rename items in Blender menus, names are predefined in Blender code.
  2. PME addon where u can rename menu items is not some extra mechanic in Blender - it is clever piece of code which utilize core Blender mechanics. To be able to assign hotkey letter by % character in PME addon first it should work this way in Blender "in general". But it has no sense to make it work in this way in Blender "in general", because u normally can't rename menu items in Blender...
tomek Author
  1. Ofc, I understand that in computer world random sth means "some algorithm" - it was just a mental shortcut

  2. It could be very useful for add-ons that utilize menus even if blender as an app will have not customizable built-in key assignments

  3. Blender could have user custom key assignment for any built-in menu option. Why not ? It could speed a lot the workflow without breaking it even when some new features will appear in menus.

Ech... maybe I demand too much from Blender in the case of UI/UX development. I shut up myself. Cheers!

IIIFGIII

Again - you do not completely understand how things work. Blender "built in menu option" isn't jst some menu item. You actually assign hotkey for operator call depend of specific context (specific editor, specific edit mode). Same operator in different menus has same hotkey if it assigned, but may have different "menu item key" (depending on menu items and order). From other side - u can create hotkey for operator with some predefined options, this operator not exist in any menu, but u can call it...