I often find myself creating Keynote presentations with lots of extra slides. I then go through and skip a bunch for a particular class.

To make this slide choice easier, I added a keyboard shortcut for the "Skip Slide" and "Don't Skip Slide" menu commands. Unfortunately, they don't work consistently. In fact, it only seems that one at a time will work, which I think is a function of the fact that the menu item changes based on whether the selected slide is set to be skipped or not.

If a slide is selected that is hidden, the "Slide" menu will show "Don't Hide Slide." If I look at the menu by clicking "Slide," then the "Don't Hide Slide" keyboard shortcut will work. But, then if I select a slide is that is not hidden, the "Hide Slide" keyboard shortcut won't work. I can get it to work by opening the "Slide" menu (where I can verify that it shows "Hide Slide" and my keyboard shortcut). But, after that, the "Don't Hide Slide" keyboard shortcut stops working.

My question then: How do I get to use a keyboard shortcut for a menu item that is not in the menu at a particular time?

  • Did you find a solution? I am looking at a similar issue of how to create a Keynote presentation that is a subset of a larger possible set of keynote presentation. Jan 23, 2012 at 19:51
  • @JimMcKeeth, no solution yet. Still bugs me every day.
    – Bill Nace
    Jan 24, 2012 at 17:36
  • Would a macro be an acceptable solution?
    – Tuesday
    Feb 6, 2012 at 1:22
  • @TimothyMueller-Harder, Yes. Anything that keeps me from "right-click Skip slide, Right-click Show slide" would be acceptable.
    – Bill Nace
    Feb 6, 2012 at 3:13
  • Do you happen to have Keyboard Maestro?
    – Tuesday
    Feb 12, 2012 at 2:28

1 Answer 1


This doesn't solve the general case problem of how to assign a keyboard shortcut for any dynamic menu item, but it does solve the specific problem of having a keyboard shortcut to hide or display slides in Keynote.

We can work around the shortcut problem because Keynote is AppleScriptable.

Create a new service in Automator.

The service takes no input in Keynote.app.

The service has a single action: Do AppleScript. The script (in all its one-line beauty) is:

tell application "Keynote" to tell current slide of the front slideshow to set skipped to not skipped

Save the service as "ToggleSkipped".

Use the Keyboard Shortcuts tab within the Keyboard pane of System Preferences to bind the service to an unused keystroke.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .