This article describes how to use and customize keyboard shortcuts in Rhino for Mac.
Windows Rhino has many keyboard shortcuts and, for the most part, Rhino for Mac has adopted the same keyboard shortcuts. Many of these are not optimal for the Mac, but we can consider the current keyboard assignments as a discussion starting point. Rhino for Mac will always have a default set of keyboard shortcuts that cannot be changed. These keyboard shortcuts should be both useful and natural for Mac users. Please make suggestions for improvements 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 your own set of keyboard shortcuts, which we discuss below, so you need not mention any keyboard shortcuts that are specific to your use of Rhino for Mac. You can always add these special assignments to your own copy of Rhino. Please limit your suggestions 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 completely eliminating these shortcuts, 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, you can add keyboard shortcuts. These shortcuts might be, but are not required, associated with an application menu item. In Windows, you enter 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 large and customizable set of commands. It is not practical to put every single Rhino command and all its variations in the application menu. Some less often 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 Rhino for Mac, 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 for defining a keyboard shortcut.
If the command macro is referenced by a menu item in the application menu, then the keyboard shortcut is 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 Rhino for Mac.
You may not modify any of the default commands or keyboard shortcuts. Rhino for Mac will always have a default command set with a fixed set of commands. When providing support, we may ask you to switch Rhino for Mac 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 change 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 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 lets you assign the same shortcut to more than one command. 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.