Mac OS X 10.6: key to switch between selected button in a dialog window
I am going to go out on a limb here and propose that you're slightly confused, for this reason:
The highlighted blue button is not a selection like you've seen from Windows, KDE, and Gnome. It is simply what the developer has defined to be the default choice of the return/enter key. As loic wolff has shown, it is possible to enable tab selection of all controls, however this will likely slow you down in other areas simply from the sheer number of controls there are to tab through.
The right way to go about keyboard shortcuts for alternate dialog buttons is not tab, but command key combos. For example, Command-period is almost universally "cancel." You've already found that Esc also works for most things nowadays. It's often not documented, but the command shortcut for different buttons that aren't the default button or cancel is usually the first letter of that button (as stib mentioned). Example: if I quit without saving in a typical cocoa document-based application, I'll be presented with the following dialog box:
Return
/enter
will save, command-period
or esc
will cancel, and command-d
will map to "Don't Save." The release of 10.6 from 10.5 made some fantastic improvements to the presence of these shortcuts in Finder and cocoa in general--almost all Finder dialogs will now respond in this fashion.
Update for 10.7+:
Apple's new paradigm for file versioning has changed the way the typical save dialog works. Now, "Don't Save" is mapped to command-delete
, to symbolize deleting the "new" file you created (this is the equivalent shortcut to deleting a file from the Finder).
You have to select All controls in the Keyboard prefpane. That way, you can select all your controls using Tab
tab key will often do it, and sometimes the splat key (AKA the command key) plus the first letter of the button you want.
This doesn't work on all dialogues though, there are some you have to explicitly hit with the mouse - for example the "program x is an appplication that you have downloaded from the internet, are you sure you want to run it" dialogue.