OS X equivalent of Windows keyboard commands to access in-application menus?

In Windows, I often use the keyboard commands to navigate through the menus in a program. For example, in Photoshop, I can do Alt+F, then D to quickly Save for Web & Devices. Or Alt+V, then D to Clear Guides. This is great when there is no keyboard command for a menu item that I want to use, or the existing keyboard command requires too many fingers.

How can I translate this functionality to OS X (OS X 10.5.8 in case it matters)? How can I navigation through an applications's menus using keyboard commands?


Solution 1:

You can use Ctrl + F2, which moves the focus to the  symbol in the menu bar. Then use the arrow keys to move around, or just type the start of a menu name to highlight it. With a menu name highlighted, hit Space to expand it. In an open menu, you can type the start of a menu item to highlight it. Once highlighted, press Space again to “click” it.

So, to get to “Save for Web & Devices” in Photoshop, you could press Ctrl + F2, F, Space, Enter, S, until you focus “Save for Web & Devices”, then Space.

Of course, the built-in keyboard shortcut for that option is much easier to type: + + + S.

Screenshot

Solution 2:

You could also assign shortcuts to AppleScripts like this with an app like Alfred or FastScripts:

tell application "System Events" to tell (process 1 where frontmost is true)
    click menu bar 1's menu bar item 3 -- usually File
end tell

They won't work in full screen though. And it's not that much faster than just using a mouse really.

You can also trigger menu items by searching after focusing the help menu with +?.