What's a Commander?
A commander is a really handy feature of VoiceOver. With it, you can quickly move around, change a setting, or even run an app or Applescript file. Commanders are very useful and, among many other things, they are an easy way to give the Mac a way to speak the time and date with a single keystroke.
There are four commanders in total, but the ones available to you will vary based on the hardware you have. They are:
- Keyboard: use the option key in conjunction with nearly any key on your keyboard to execute an action. By default, the right option key is used, but this can be changed (see the Keyboard Commander section).
- Numpad: hit a key on the Numpad to execute an action. This can be a single key, or combined with any one of control, option, command, or shift, giving you a large number of possible key combinations.
- Trackpad: hold any modifier (command, control, or option) down while you perform any of a large number of gestures on your trackpad to execute an action.
- Quick Nav: press the left and right arrows together to enable this mode, and you have first-letter navigation in webpages, plus can move around and even interact or activate items with just the arrow keys.
The Numpad Commander is only available for keyboards that have a numpad, and the Trackpad Commander is only available if your Mac has a built-in multi-touch trackpad or a magic Trackpad connected. Note that most any Macbook from about 2009 or later should have a multi-touch trackpad built in. See the section on the Trackpad Commander below; if you cannot enable this commander, yours is not a multi-touch trackpad.
All commanders work the same way: you use key commands and/or trackpad gestures to tell VoiceOver to do something. Control-flick down, option-s, numpad 8, or z with Quick Nav on can all do some action or other - find next heading, mute VoiceOver, run a script, and plenty more. Essentially, commanders let you assign VoiceOver-specific actions, the opening of files, the launching of apps, or the executing of Applescripts or workflows to hotkeys or gestures. All of them come pre-configured to some degree or another, but there is no rule that says you have to keep the default assignments.
Before You Start
If you would like to begin using commanders, there is one setting you will need to change in Voiceover first. Open the VoiceOver Utility, and select the "general" category (you should be on it by default). Find the checkbox labeled "Allow VoiceOver to be controlled by AppleScript" and check it. If you do not enable this, any commander that tells Voiceover to do anything (which is most of them) will fail. You only need to change this setting once.
Open the VoiceOver Utility with vo-f8 (on some Apple keyboards and MacBooks, you may need to press the function key as well). Arrow down to Commanders in the Categories table, or just press c or command-8, then vo-right to the tabs. Here is where all available commanders are presented; if you don't see one I've mentioned, that one is unavailable. For instance, on an iMac with no Magic Trackpad connected, the Trackpad Commander will not be listed as a tab.
Once you find the one you want, vo-space or just press space to select it. Each one will look a bit different, but the general layout is the same: notes and options specific to the commander, followed by a button to assign commands, or simply the command assignment area itself.
Inside the command assignment window is a popup button to choose which modifier/command set to show, then a table of all the commands already assigned, then the usual buttons to add or remove an item from the table. To change any assignment, interact with the table, then the row you want to change, and hit space on the popup menu showing what the selected command is set to do. Choose a new item from the menu, and the change will take effect immediately. Items are sorted by task - information, navigation, and so forth. Unfortunately, there is no way to search all the options.
You can change an existing key or gesture as described above. If you wish to add a new command, and the commander you are modifying supports this, activate the "add" button after the assignments table and a new row will be added. You will be placed in an edit field where you can type the new key, and from where you can vo-right to get to the command menu. You must stop interacting with the table if you want to add another new key.
Removing an assignment is just as easy: find it in the table, and activate the "remove" button. A confirmation dialog will appear, asking if you are sure you want to delete the command. Press enter, or find and activate the "delete" button.
As stated, each commander has a set of assignments already enabled by default. For example, right option with t will speak the date and time when you turn on Keyboard Commander, and the 1 key on the numpad will open the Item Chooser when Numpad Commander is on. I strongly recommend you go through the defaults on each commander you intend to use, so you can get an idea not only of what is already set up for you, but of the possibilities of commanders.
To see what is already set up, select the commander's tab you want to view then find its table of assignments (again, you may need to activate the "assign commands" button, or the table may be in the main window). The table of assignments will show everything the commander is already configured to do. Most of these can be changed, but if the popup buttons in the right column of the table are dimmed, that tells you the commands are not configureable. Examples of this are the Trackpad Commander when no modifier is selected, or Quick Nav when "arrows" are selected as the modifier.
This is available to any Mac. It uses the option key (the right one, by default) in conjunction with a letter or number, such as option-t. When you view its tab in the VoiceOver Utility, you can select which option key is used, or you can choose both. You may want to leave one option key alone since option is also used in text fields to enter special characters, such as option-8 for the bullet symbol. Pressing option with an unassigned key will work normally, but with an assigned key you will have your set command executed. Commands that involve the option key in conjunction with another modifier, such as command-option-v, are also unaffected by Keyboard Commander assignments. To enable or disable this commander, press vo-shift-k at any time.
This is very useful if you have a numpad on your keyboard. If you need to use your numpad to enter numbers but still wish to use this commander, you can toggle it on or off by pressing the VoiceOver keys with the Numlock key.
This commander offers a plethora of options, since you can choose no modifiers, or any one of control, option, command, or shift. Essentially, you have seventeen keys to assign to each of those slots, giving you seventy-five total commands. You might use the no modifier set for basic navigation, the command set for moving around webpages, the option set for launching scripts, and so on. Or something completely different - it is all in what you find comfortable and convenient.
Like the Numpad Commander, the Trackpad Commander allows you to assign commands to any gesture you perform while holding down any of the four modifier keys. However, the no modifier set cannot be changed. To enable this commander, hold down the VO keys and perform a clockwise rotor movement (rotate two fingers as though turning a dial clockwise). To disable it and let OS X have full control of the trackpad and mouse, hold down the VO keys and do a counterclockwise rotor movement.
As I said, the set of gestures with no modifier held down cannot be altered. This is because, as soon as you turn this commander on, your trackpad acts very similar to the screen of an iOS device (an iPhone, iPod Touch, or iPad). You have the same one-finger flicks, rotor gestures, two- and three-finger taps, and more. There are also extra commands, such as a two-finger swipe right to interact, or left to stop interacting. Moving a finger around the trackpad will cause VoiceOver to speak what you move over, just like iOS. The difference is that what you explore depends on what you are interacting with. For instance, in Safari, you explore the webpage by default because VoiceOver automatically interacts with the HTML content of the page. Stop interacting, though, and you will find yourself exploring the entire Safari window, with the webpage relegated to just one small part of the screen.
Quick Nav is the default commander used to quickly navigate (hence the name) webpages. If you look at its commands (be sure to select "no modifier" instead of "arrows" from the modifier popup menu) you can see all the web navigation commands already assigned. However, as with all default commander setups, you can modify these however you like. If you never need to jump by table, for instance, put the t and shift-t commands to better use. Note that, in the table of assignments, you will not see "shift-t", but rather a capital t; be careful to re-assign the character you think you are re-assigning by checking its case. Quick Nav offers no modifiers to pick from, and the arrow key assignments cannot be changed.