The 2012-12-17 WIP release of Mac Rhino adds menu and keyboard shortcuts to Mac Rhino. This article describes how to use them.
If you previously used System Preferences to assign menu shortcuts to Rhino (as described here), we strongly suggest that you delete those System Preferences settings before using the new built-in keyboard shortcut system. The System Preferences settings will interfere with the built-in system in undefined ways.
Windows Rhino has a large number of keyboard shortcuts, and, for the most part, Mac Rhino has adopted the same keyboard shortcuts. A number of these are not optimal for the Mac, but we can consider the current keyboard assignments as a starting point for a discussion. Mac Rhino will always have a default set of keyboard shortcuts that cannot be changed, and it would be helpful for this set of keyboard shortcuts to be both useful and natural for Mac users. Please make suggestions for changes to the default keyboard shortcut set that you feel should be available to everyone by posting your suggestions in this support thread.
You can also define for yourself your own set of keyboard shortcuts, which is discussed below, so you need not mention any keyboard shortcuts that are specific to your use of Mac Rhino. You can always add these special assignments to your own copy of Rhino. Please limit your suggestions here to the changes that should be universally available.
I mentioned that some of the default keyboard shortcuts are not optimal. Some of the default keyboard shortcuts use keys available only on the keyboard with a numeric keypad. For example, View > Undo View Change is mapped to the Home key, but that key does not exist on laptop keyboards. Rather than remove these shortcuts entirely, we thought it best to leave them in, making them available for those who can take advantage of them.
Other default keyboard shortcuts use the function keys (F1-F12, or F1-F19 on the numeric keypad version). Apple has added their own system-wide actions to the function keys, which makes them inconvenient to use in an application. You must hold down the fn key when you press one of the function keys for the program to see a “normal” function key press.
You can also switch the sense of the fn + function key in System Preferences > Keyboard > Keyboard. There is a checkbox labelled “Use all F1, F2, etc. keys as standard function keys”. This is not checked by default, but checking this makes using the function keys much easier in Rhino. Note that this is a system-wide setting and you will change the function key behavior everywhere on your Mac.
In Windows Rhino, users can add keyboard shortcuts. These shortcuts might be, but not required to be associated with an application menu item. In Windows, a user enters the command string to be executed when a keyboard shortcut is typed.
Apple guidelines say that every application command should be available through the application menu. To enforce this, Apple supports menu shortcuts, the same concept as keyboard shortcuts on Windows, but Apple requires that these shortcuts always be attached to a menu item.
Rhino has a very large and customizable set of commands, and it is not practical to put every single Rhino command and all its variations in the application menu. Some less frequently used commands in Rhino need to be typed on the keyboard to execute them. This also means that, on the Mac, any command that is not already in the application menu can never have a menu shortcut attached to it.
We find that too restrictive for Rhino with its large command set, and have modified the typical menu shortcut assignment techniques to allow for keyboard shortcuts to be assigned to any command, not just commands in the application menu.
In Mac Rhino, keyboard shortcuts are attached to command macros, rather than directly to a menu item. You can see the default keyboard shortcuts by selecting Rhinoceros > Commands > Customize in the application menu, then selecting the Keyboard Shortcuts tab.
The list of default keyboard shortcuts is listed in the top half of the window. Clicking on one of the shortcuts selects the assigned command in the bottom half, along with displaying the command details in the lower right pane. There is a new field in this pane that is used for defining a keyboard shortcut.
If the command macro is referenced by a menu item in the application menu, then the keyboard shortcut will be displayed in the application menu.
However, even if the shortcut is not referenced by an application menu item, the keyboard shortcut will still work in Mac Rhino.
You may not modify any of the default commands or keyboard shortcuts. Mac Rhino will always have a default command set with a fixed set of commands. When providing support, we may ask you to switch Mac Rhino back to the default command set so there will not be any confusion about what a particular menu item or keyboard shortcut will do.
To modify the default command set, you must create a copy of it. Click the pop up menu button in the upper left corner of the Command Editor. It currently says “Default (read-only)”. Select the “Duplicate” option and choose a name for your new command set.
You delete existing keyboard shortcuts by selecting the Keyboard Shortcuts tab at the top, then selecting the shortcut you want to remove. Click the “-” button in the top half of the window to remove the shortcut. This does not remove the command itself − it only removes the shortcut assigned to the command.
Note that all of the Rhino command shortcuts are listed, including ⌘C for Copy and ⌘Q to Quit Rhinoceros. You can create interesting confusion for yourself by deleting or reassigning standard Mac keyboard shortcuts to regular Rhino commands. It is certainly not recommended, but it is possible to do.
To add a keyboard shortcut, first find the command that will receive the shortcut by typing some part of the command's name in the search field in the lower left corner. Select the command button to display its details in the lower right pane. Click in the Keyboard shortcut text field and type the shortcut you want to assign. For example, if you want to assign Command-Shift-J to a command, hold down the Command key and the Shift key while typing the letter J to assign the shortcut. Almost all keyboard shortcut handling is disabled when typing in this field, so you can use almost any key combination for a shortcut. The Delete key still works, and you can use the Delete key to remove a shortcut assigned to a command.
If you wish to assign a keyboard shortcut to a command macro string that is not in the command set, then you must first create a new command macro. Click the “+” button in the lower left corner to create a new Untitled command. Fill in the fields and type the shortcut you want in the Keyboard shortcuts field.
There is no error checking in the keyboard shortcuts you assign. Rhino will let you assign the same shortcut to more than one command and the resulting behavior is undefined. You can also assign shortcuts that are reserved by OS X, and these shortcuts won't work in Rhino. The operating system will perform the shortcut first.
The keyboard shortcuts are not restricted to key combinations with the Command, Option, Shift, or Control keys. As in Adobe Illustrator, you can assign an unadorned letter to a command. For example, you can assign C to the Circle command. Typing C when a command is not active will invoke the Circle command. If you do this, then you will not be able to type any Rhino command that starts with the letter C.
If you do assign unadorned letters to commands, you can still type any regular Rhino command by invoking the Command Search window with ⌘K, or selecting Tools > Commands > Search… in the application menu, and then type your command in the Command Search dialog.
Unadorned keyboard shortcuts are not the same as command aliases. An unadorned keyboard shortcut can be only a single letter, and does not require you to press Return to activate it. An alias can be more than a single letter, and requires that you press Return to activate it. The keyboard shortcut “C” is entirely different from the alias “C” and will execute different commands.
You can create more than one custom command set. If you already have a custom command set, but want to experiment with unadorned key shortcuts, duplicate one of your existing command sets and try your experiment.
Use Rhinoceros > Commands > “Your command set name” in the application menu to switch between command sets. The keyboard and menu shortcuts are instantly updated when you change the command set. No need to restart Rhino to start using the new command set.