HOW TO: Eagle shortcut keys and scripts

As we picked up some experience with Eagle, we figured out that clicking icons and typing in commands slows down productivity. Eagle’s key-binding features make it faster to do common tasks by pressing a few keys, but for a real kick they can also run scripts. We use a hot-key to run our project export script that builds preview images and BOMs in excel, html, and wiki formats.

This is a short tutorial about our journey into creating key-bindings for common commands. Read below how to create shortcuts in Cadsoft Eagle.

Where to access

To add custom key-bindings, or shortcuts, go into the ‘Options’ tab and click on ‘Assign’.

Available commands

Eagle has a few default keys already assigned like ‘zoom’, ‘move’, ‘grid on-off’, etc… You could always change them to your liking.

Assigning a shortcut

To assign a key to a command, go to the ‘Assign Menu’ and click ‘New’. The key assignment window will pop up.

Select the hot-key combination from the drop-down list, then type in the command to be executed.

Other Commands

A list of Commands can be found in Eagle’s Help file (”Help>General”) under ‘Editor Commands’.

 Be aware that the schematic and PCB editor don't share the same hotkeys.
Both have to be individually set-up. 

Running scripts

Another good thing about Eagle key-bindings is that you can run scripts directly from a key. Here’s an example of our PCB editor custom shortcut keys.

 script [complete eagle script path] 

The syntax for running a script is shown above.

We’ve put some scripts we find useful  in SVN here.

Assigning custom shortcut keys is easy, but the ability to run scripts is a big bonus.

Join the Conversation


  1. My custom key shortcuts looks like this…

    F2 Route
    F3 Ripup
    F5 Ratsnest;
    ctrl-a DISPLAY None Top Bottom tOrigins bOrigins tPlace bPlace Dimension Pad Via 45 milling;
    ctrl-b DISPLAY None Bottom bOrigins bPlace Dimension Pad Via 45 bNames milling;
    ctrl-d DISPLAY none Top Bottom Dimension Via Pad Unrouted
    ctrl-t DISPLAY None Top tOrigins tPlace Dimension Pad Via 45 tNames milling;
    ctrl-u DISPLAY Unrouted;
    shift-ctrl-u DISPLAY -Unrouted;
    ctrl-k DISPLAY tKeep bKeep tRest bRest vRest;
    shift-ctrl-k DISPLAY tKeep bKeep tRest bRest vRest;

    ^A displays both layes and the silk
    ^D displays both layers but without the silk to declutter while routing
    ^T Top layers displayed
    ^B Bottom layers displayed
    ^U Toggles Unroutred
    ^K Toggles Keepouts & Restricts
    F5 Is the classic refresh screen so the Ratsnest command makes sense

    I was tempted to add your shortcuts for setting text size/ratio and smashing for a while, then I remembered that usually just do a “RUN normalize-text” and use the two default values. That smashes all parts and sets the text size to 40 mil and ratio 11%. Easy as pie. Labels are easy to handle in one go later.

    1. Eagle on a trackpad is horrible. A proper mouse with a middle button and a scrollwheel makes life so much easier.

      1. forget the multi-click mouse, get a wacom (with screen) + multi-everything pen! I just happened to open an eagle board while playing with my mates one and holy crap it’s amazing! I’ve since got one myself, setup shortcuts on the pen and now barely touch the keyboard. Crazy things like changing hole/trace width’s by moving the pen further away from the screen, rotating packages by twisting the pen in your fingers and so many more little shortcuts leave people astonished haha.

        PS: takes a lot of time and effort coding to actually make useful shortcuts but it’s worth it!

    1. I, too would like to move my settings from an old computer to a new one, but I can’t find any .scr file that has my settings saved. (I added them under the assign option in the program itself)

  2. I assigned the keys while editing a library. When I go to the project the key assignments are back to the default. So do I have to reassign them in every project? How do I make them global throughout Eagle?

    1. Hi Dan, the assigned keys should stay even if you switch from library editor to schematic/pcb editor. If you’re on windows 7 or maybe 8, you should run eagle in administrator mode in order for the key assignment to stick.

      1. Thanks vimark. I pecked around and did it through the default scripts. Now I can use the same setup on both my laptop and desktop.

Leave a comment

Your email address will not be published. Required fields are marked *

Notify me of followup comments via e-mail. You can also subscribe without commenting.