Custom shortcuts for existing menu commands?

Hi all. In his lovely video on 14 things you can do with MetaHopper, @andheum casually mentioned how easy it is to assign custom menu shortcuts. I’m staring at the interface under

File > Preferences > Interface > Shortcuts

…and am at a loss.

—3 seconds later—

I just went to take a screenshot of where I’m at, and inadvertently made a shortcut. It really is simple. But I’m leaving my post up here to save the next person the aggravation:

  1. Click a menu item; see it highlighted with green checkmark.
    Clipboard01

  2. Now you are recording.
    (the reason it’s red in my screenshot is it recorded my screenshot keystroke, and evidently didn’t like it.)

  3. Strike the shortcut you want; you’re done.

  4. click the same menu item again to stop recording.

FWIW all I wanted was a keyboard command to Zoom Extents, because like a fool I keep writing defs that are too big to just scroll-zoom out to the full extents of. Now I have the power. And you can too.

UPDATE It turns out I still have a question. The shortcuts don’t persist through a rhino restart. it’s so easy to reassign them it’s not a big deal, but it seems like I’m still missing something. And I restart a lot, with crashing (thanks to my huge definition). Any pointers?

Update on the update. The shortcuts appear to be 'sticking" now through quit/restart cycles. Maybe it’s related to having saved all (3) definitions that I had open? It almost feels like I just had to cycle a few more times to make it pay attention. I know that’s not how computers work, but, it’s a good enough story for now.

I can’t remember when Grasshopper saves those settings. One way settings can not stick is if GH crashes before it has a chance to save. Another way is that there’s two instances of Rhino+GH running and the last one to close overwrites the settings back to what they used to be.

That may explain why it sometimes works and sometimes doesn’t.

Thanks for your thoughts! Either/both of these scenarios are totally possible. From time to time I’ve had to consider how GH is handling the definition (calculation order and such), but I’ve never thought about how the environment is working, internally. Is there the equivalent of a “config file” that user-facing selections are logged to?