Tools and hotkeys
The tools of the floating tool bar, their tool cards and the keys that run them.
The defaults are KiCad’s. Electronics Designer: List Hotkeys shows and edits them (conflicts are flagged);
Electronics Designer: Import Hotkeys (user.hotkeys)… reads KiCad’s own hotkey file, and the
softforge.edsnx.hotkeys setting overrides single actions. Keys VS Code would take for itself
(Ctrl+Shift+…, Ctrl+B/H/U, F2–F8, Home, Page Up/Down, Alt+3, B) are forwarded to the editor while it
has focus (not while the side bar, the panel or a text field has it, so Ctrl+B still toggles the side bar
there); Ctrl+Z/Y/S stay VS Code’s. VS Code keeps its own workbench keys: Ctrl+Shift+P and F1
(command palette), Ctrl+P (Quick Open), Ctrl+Shift+E/G/D/X (side bars), **Ctrl+** (terminal) and **Ctrl+,** (Settings) everywhere else. While the editor canvas has the focus, the ones KiCad binds to an action (**Ctrl+Shift+P** Draw Polygons, **Ctrl+Shift+X** Always Show Cursor, **Ctrl+Shift+E** Edit Library Footprint or Symbol, **Ctrl+,** Preferences) are forwarded to the editor instead; turn softforge.edsnx.forwardReservedKeys` off to leave them to VS Code (F1 then opens the command palette while the
canvas has the focus too). The Hotkeys dialog marks these keys “forwarded by VS Code while the canvas has the
focus” and strikes through the ones VS Code always keeps. The same actions are on the tool bar and in the command
palette (Electronics Designer: Preferences…), and any action can be rebound in the Hotkeys dialog. F1 still zooms in when
the canvas has focus; F2 and the mouse wheel do not reach VS Code.
Every KiCad action is implemented, or excluded with a reason. The Hotkeys dialog and Electronics Designer: List Hotkeys show each binding as implemented, handled by VS Code, or excluded; an excluded row says why, and pressing its key in the editor flashes the same reason. The footer counts them (216 bindings in 2.1.0: 203 implemented, 6 excluded, 7 left to VS Code). The exclusions:
| Key | KiCad action | Why it is excluded |
|---|---|---|
| Ctrl+Space | Cycle Arc Editing Mode | Arcs are edited by their start, middle and end points only: there is no other arc editing mode to cycle |
| Ctrl+Shift+G | Grid Overrides | Per-item grid overrides are not modelled: one grid applies to every item (N / Shift+N switch it, Alt+1 / Alt+2 the fast grids) |
| Ctrl+Shift+F (board) | Import Graphics | DXF / SVG import is not available: draw graphics with the drawing tools, or bring a board outline in from MCAD |
| Ctrl+Shift+D (board) | Duplicate and Increment | Copies keep their references and pad numbers: numbered copies come from Create Array (Ctrl+T, renumber) and references from Annotate |
| C (schematic) | Unfold from Bus | Bus member menus are not built: place a bus entry (Z), draw the wire (W) and label it with the member name (L) |
| Ctrl+Shift+F (schematic) | Import Graphics | DXF / SVG import is not available: place bitmaps with Add Image and draw lines and shapes with the drawing tools |
Actions added in 2.1.0 (KiCad’s keys): Ctrl+X / C / V cut, copy, paste (a paste follows the cursor until you click); Ctrl+F find and Ctrl+Alt+F find and replace (references, values, net and label names, text), F3 / Shift+F3 next / previous match, Ctrl+Shift+F3 next check marker; with no tool running the arrow keys move a keyboard cursor one grid step (a selection is nudged), Enter / End click and double-click at it. Board: Shift+M move exactly and Shift+P position relative to (a dialog), P pack and move footprints, Ctrl+M move individually, T get and move, U select the copper connection, O / Shift+O select / grab the unconnected footprints, Shift+C zone cutout and Ctrl+> similar zone (tools with cards), Insert add a zone corner, { / } opacity of the active layer, Alt+` toggles the last highlighted net, W / Shift+W next / previous track width (via sizes likewise) from the net class lists, Ctrl+E / Ctrl+Shift+E edit the footprint / its library footprint; while routing Ctrl+V micro via, < / Alt+< via (blind via) to a chosen layer, Q custom track size, Ctrl+E continue from the end, F attempt to finish. Schematic: Z wire-to-bus entry tool, Insert repeat the last placement, O autoplace fields, Alt+3 / Ctrl+4 select the node / the connection, Ctrl+E / Ctrl+Shift+E edit the symbol / its library symbol, Alt+Left / Alt+Right back / forward through visited sheets, Page Up / Page Down previous / next sheet. docs/tools.md lists every tool with its keys.
| Key | Action | Editor |
|---|---|---|
| Esc | cancel / back to select | both |
| M · G · D | move · drag (board: free angle) · drag (45°) | both · both · board |
| Shift+D · Shift+G | drag the collinear run · move the whole net | board |
| Shift+B · Shift+U · Shift+T · Shift+Y | break track · convert to arc · retrace with the net class · re-route over existing | board |
| Shift+R · G · Space (dragging a track) | conflict mode · free angle · corner posture | board |
| T (moving footprints) | attached-copper mode | board |
| R · Shift+R | rotate counter-clockwise · clockwise (also while moving) | both · board |
| F | flip to the other side (also while moving) | board |
| Del, Backspace | delete | both |
| Ctrl+D | duplicate | both |
| E | properties | both |
| L | toggle lock | board |
| X | route single track | board |
| 6 · Ctrl+Shift+B | route differential pair · multi-route (bus) | board |
| 7 · 8 · 9 | tune length of a track · of a pair · pair skew | board |
| 1 · 2 · 3 · 4 (tuning) | spacing + / − · amplitude + / − | board |
| V (routing) | place a through via and switch layer | board |
| / · W · Shift+W (routing) | posture · next / previous track width | board |
| End, Enter | finish track / shape | both |
| Ctrl+Shift+V | add vias | board |
| Ctrl+Shift+Z · Ctrl+Shift+K | add filled zone · add rule area (keep-out) | board |
| Ctrl+Shift+L · R · C · A · P | draw lines · rectangles · circles · arcs · polygons | board |
| Ctrl+Shift+T · Ctrl+Shift+H | add text · add aligned dimension | board |
| Ctrl+Shift+M | measure | board |
| A | add footprint / add symbol | board / schematic |
| B · Ctrl+B | fill all zones · unfill all zones | board |
| Page Up · Page Down · F5–F8 | F.Cu · B.Cu · In1–In4.Cu | board |
| + · − | next · previous copper layer | board |
| N · Shift+N | next · previous grid | both |
| Ctrl+U | switch units (mm / in / mils) | both |
| Space | reset local coordinates | both |
| Shift+Space | line mode (free / 90° / 45°) | both |
| Ctrl+H | high contrast | board |
| Ctrl+Shift+F | flip board view | board |
| W · B · L · Ctrl+L · H | wire · bus · label · global label · hierarchical label | schematic |
| J · Q | junction · no-connect flag | schematic |
| S · T · I | add sheet · text · lines | schematic |
| Alt+Backspace · Alt+Up · Ctrl+H | leave sheet · navigate up · hierarchy (Sheets tab) | schematic |
| D · Ctrl+Alt+X | show datasheet · toggle Do Not Populate | schematic |
| Ctrl+A · Ctrl+Alt+A | Add component · select all | both |
| Double-click · F2 | isolation mode on a symbol / footprint body · edit the selected label in place | both |
| Enter · Esc (isolation) | leave applying (local override) · cancel the session | both |
| Ctrl+Shift+A · L · Shift+L (isolation) | autoposition labels at the next preset · lock / unlock the selected label · rigid / flexible | both |
Tools snap to the grid (softforge.edsnx.snapToGrid) and to pads, track ends and graphic points
(softforge.edsnx.snapToItems).
Tool cards#
Selecting a tool (tool bar, flyout, hotkey or command palette) shows its tool card above its button: the name and shortcut, a short looping demo clip (a still picture when the system asks for reduced motion), what the tool does and the keys it takes while it runs. The card never takes the keyboard focus: keep working and it closes on your first click on the canvas, on Esc (the tool keeps running) or after a few seconds. Pin keeps it open, following the active tool, until you close it. Learn more opens the matching section of this guide.
Show on select on the card cycles the softforge.edsnx.toolCards setting: firstTime (default: each
tool’s card once per workspace), always or never (cards then open only on ?, from the tool bar or from
the gallery). Don’t show again silences one tool; Electronics Designer: Reset Tool Cards shows every card again.
docs/tools.md lists every tool with its shortcut and keys.
The Documentation flyout entries (Draft View, Detail View, Section View, 3D Render, Layer Stack Table, Drill Table, BOM Table, Balloon, Auto-balloon, Dimension, Note, Refresh All) are tools like the others since 2.1.0: each has a card with its clip, a tile in the gallery and an entry in docs/tools.md, and Esc leaves them. The schematic Add Image tool asks for a PNG file when you click where the image goes.
The cards and the gallery follow VS Code’s display language as soon as it changes (the gallery keeps its search, category and selection); the search matches the translated and the English tool names alike.
Transient tools (Select, Move, Drag Track, Drag Pair) are entered from other tools or from a key on the selection, so they do not open their card each time: their card shows from their tool bar button, from ? or from the gallery.
The ? key
| Situation | ? does |
|---|---|
| A tool other than Select is active, no card open | shows the active tool’s card (whatever the setting) |
| The card is already open | opens the Hotkeys dialog (so ? twice = the hotkey list) |
| Select is active and no card is open | opens the Tool gallery |
Tool gallery. Electronics Designer: Tool Gallery… (command palette), the ? button at the end of the tool bar or ?
with Select active open a dialog with every tool of the current editor as a poster tile with its name and
shortcut. Category chips filter the list, the search box matches names, descriptions and key hints, and the
selected tool’s full card plays its clip with captions in the side pane. Select tool activates it; the
footer holds the card settings (show mode, reset the seen tools, Learn more).
Keyboard in the gallery: Tab moves between the filter chips, the tile grid, the card and the footer; the arrow keys, Home / End and PageUp / PageDown move inside the grid (and the arrows across the chips); Enter or Space shows the tile’s card, Ctrl+Enter activates the tool; Down or Enter in the search box jumps to the first result; Esc clears the search first, then closes the dialog.
Accessibility. The card is a non-modal dialog read politely by screen readers when it appears; Tab while it is open moves the focus into it and Esc inside it returns the focus to the canvas. Each clip has a WebVTT caption track (the gallery shows the caption line, and a transcript under reduced motion). With reduced motion clips do not autoplay and show their poster. Colours come from the VS Code theme, high contrast themes included.
Language. Card and gallery texts follow the VS Code display language: English and Brazilian Portuguese
(pt-BR) ship; any other language falls back to English. The language is read when the editor opens; after
changing it only the tool bar tooltips switch live, reopen the editor for the rest.