The same tool can do various operations when used with modifier keys
(Alt, Ctrl, Shift) or various mouse buttons.
How it could be implemented ?
Displayed in status bar, like Softimage
does it for mouse buttons :
A separate small window with the condensed information about behavior of tool in current mode (eg. polygon pen actions with various keys only applying to currently active polygon mode) This is how Corel does it. (see the picture on the right)
Info tab in tool's Attribute Manager : one part could provide short tips relevant to current action of tool with modifier/mouse keys, and another folded part could provide more extended information like Corel does.
Now when you need to make multiple selections in a menu, you need to reopen it after each selection ( because menu closes after each selection ). Allow to perform multiple selections in a menu with Shift key is pressed.
Now menu can be torn down, and multiple selections performed on such torn
down menu, but it requires additional clicking - one to torn down the menu,
and another to close it. Also some menus can't be torn down:
Viewport filter menu, Tags menus, Selection filter menu, and those are the menus which often require to perform multiple selections !
Problem : Tags can't be added quickly (from a toolbar), they can be
added only long, cascading from tag menu that can become cluttered with plugin
Solution : Tags should be available in Customize Commands Manager,
and it should be possible to create palettes with tags. Tags clicked on a
palette should be assigned to the selected objects, or assigned to an object
or selection of multiple objects by dragging and dropping on these objects
(like materials). It would be very helpful if user could define a palette
with the most frequently used tags, including tags from plugins :
Problem : objects (e.g. camera, primitives, generators...) can be created by pressing a button, but they can't be directly placed in wanted position in Object Manager. Or they appear at the top of the list or at selected object position (using alt/shift keys)
Solution : it could be useful if objects could be created by drag and drop gesture - by dragging them from toolbar button to Objects Manager.
Now mouse right button is assigned to context menu, but it could perform various tool specific functions. If RMB was used by a tool, Context menu could be still accessible via alt+RMB or any other key combination defined by user. Numerous Softimage tools make extensive use of 3 button mouse, and apply various versions of a tool effect depending on which mouse button is pressed. In C4D it is a huge waste that only left button is used with most tools. User has to move mouse pointer to attributes manager and adjust tool settings there instead of just clicking in viewport using various mouse buttons.
Now C4D does not differentiate between eg. key 6 pressed on main keyboard
and 6 pressed on numeric keypad, for C4D those keys are the same. The shortcut
is assigned to two keys, as result 14 keys of numeric keyboard are wasted.
If C4D could differentiate between main keyboard keys and numeric pad keys,
unique commands could be assigned to numeric keypad.
This should be possible, as numerous applications (eg. Softimage, Corel, MS Office...) allows to assigne separate shortcuts to numeric pad.
Now C4D detects directly only 5 mouse buttons (LMB, MMB, RMB, MX1, MX2 ) + mouse wheel. Now there are many mice with more buttons. It would be helpful if C4D could directly recognize those buttons, and allow to assign a shortcut to them.
I don't know if there is any standard for mouse buttons signals above MX2, so I don't know if this is feasible, but it is worth investigating. From my personal experience with the mouse depicted above (Rival 500), additional buttons on mouse extremely enhance ergonomics of interaction with C4D interface.
Since C4D can't directly recognize mouse buttons 6, 7, 8... user have to
assign to those buttons (using mouse configuration panel) something that C4D
can understand. Personally I make use of keypad *, keypad + buttons, since
I don't use keypad in C4D because of keys duplication mentioned above. I also
use some unhandy keyboard combinations like Shift+F7, Shift+F8....
(such combinations are hard to use with one hand on keyboard, so can be assigned
to mouse keys without loosing some more useful keyboard combination like Ctrl+D
). The only drawbacks of using a key combination like Shift+7 for
a mouse button, is that you loose the possibility to use this button with
Shift modifier (Shift+Shift+7 still yields Shift+7 ),
but it can be used with Alt, or Ctrl.
Allow combinations of a standard keyboard key and a mouse button : Eg. G+LMB
Such shortcuts are impossible in C4D, as it accepts only Shift, Ctrl, Alt keys as modifiers for mouse buttons.
In Softimage key+mouse button combinations are possible, for example camera navigation is done by pressing O with LMB, MMB, RMB so you have :
O+LMB - move camera
O+MMB - zoom camera
O+RMB - rotate camera
When a tool is active, its action can be changed by pressing Alt, Shift, Ctrl keys or by using various keys on mouse. Now those assignments are fixed and can't be modified by user. In my opinion, some are not optimal, or inconsistent for different tools. It would be very helpful if user could also redefine keyboard modifiers for tools. Eg it would be nice if I could quickly change number of subdivisions with mouse wheel while using bevel tool or plane cut etc...
Customization of tool keys could be done in the Customize Commands window.
Now C4D uses just one set of keyboard shortcuts. It would be helpful is
keyboard shortcuts sets could be saved like interface layouts, or maybe even
linked to interface layouts :
Eg. have a separate set of shortcuts for modeling, and a different one for animation or texturing.
It should be possible to switch between the sets with a toggle button or to assign a command to load a profile to a key : eg. F1 - keyboard shortcuts for modeling, F2 - for animation, F3 - for UV mapping etc...
(It would require to assign a keyboard sets to fixed "Set 1", "Set 2".... and then have separate commands calling each set). Personally, I have optimized my keyboard shortcuts for what I do the most - modeling, and it is enough, but if someone does various things, it may happen, that one set of shortcuts will be not enough.
Now there is no fast way to figure out which commands are behind each key.
C4D should display a keyboard layout that user could print and have next to him, or quickly display, to check for a shortcut. Such view of all shortcuts on one picture helps to memorize positions of commands.
For my use I made a C4D scene depicting the keyboard and schematic layout of mouse buttons. When I modify some shortcuts, I update this file. I keep a printed version right next to my monitor. I use color coding to differentiate between modifier keys (Alt, Ctrl, Shift). Combinations of Alt, Ctrl, Shift result in colors respective to RGB combinations. Eg. Shift+Ctrl = Cyan (although I used just a few such combinations)