Selection and Editing¶
Selection and editing operations are unified across schematic and PCB editors via the selection system. This page covers selection basics, moving, context menus, clipboard, and keyboard operations.
Selection Basics¶
| Action | Input | Result |
|---|---|---|
| Select one item | Left-click on it | Single selection (previous cleared) |
| Add to selection | Ctrl"Click"++ | Add item to existing selection |
| Box select | Left-click + drag on empty area | Selects all items whose bounds intersect the box |
| Clear selection | Click on empty area | Deselects everything |
Selection storage¶
Items are tracked by type:
| Selection set | Editor | Stored items |
|---|---|---|
| Components | Schematic | Component IDs |
| Wires | Schematic | Wire IDs |
| Graphics | Both | Graphic object IDs |
| Traces | PCB | Trace IDs |
| Vias | PCB | Via IDs |
| Holes | PCB | Hole IDs |
Moving Selection¶
- Select one or more items.
- Click and drag them on the canvas.
- Items follow the cursor in real time.
- On mouse release:
| Editor | Command | What's captured |
|---|---|---|
| Schematic | an undoable move command | Component positions + wire geometries |
| PCB | an undoable move command | Footprint, trace, via, and hole positions |
Undo (Ctrl+Z) restores all items to their exact previous positions, including wire/trace shapes.
Context Menus¶
Right-click on any object to open a context-specific menu:
Schematic context menus¶
| Object | Available actions |
|---|---|
| Component | Rotate, Edit Properties, Delete |
| Wire | Delete, Change Net, Start Dragging Segment |
| Graphic | Delete, Change Layer, Change Color |
| Net label | Edit Net Name, Delete |
| Empty canvas | Paste (if clipboard has content) |
PCB context menus¶
| Object | Available actions |
|---|---|
| Footprint | Rotate, Flip, Unplace, Edit 3D Model, Delete |
| Trace | Delete, Change Net |
| Via | Delete, Edit Properties |
| Graphic | Delete, Change Layer |
| Empty canvas | Paste |
Copy, Cut, Paste¶
Schematic clipboard¶
| Operation | Shortcut | Handler |
|---|---|---|
| Copy | Ctrl+C | Copy handler — stores selected components and wires |
| Cut | Ctrl+X | Copy + Delete |
| Paste | Ctrl+V | Paste handler → a paste command |
During schematic paste:
- New components are created via the paste operation.
- New wires are added via the wire system.
- Component IDs are remapped (R1 → R5) to avoid conflicts.
- Wire pin attachments are remapped from old to new IDs.
PCB clipboard¶
| Operation | Shortcut | Handler |
|---|---|---|
| Copy | Ctrl+C | Copy handler — stores footprints, traces, vias, holes, graphics |
| Cut | Ctrl+X | Copy + Delete |
| Paste | Ctrl+V | Paste handler — places at mouse position with preserved geometry |
During PCB paste:
- Relative positions between items are preserved.
- New IDs are generated for all pasted items.
- The pasted group follows the mouse until you click to place.
Keyboard Operations¶
| Operation | Shortcut | Description |
|---|---|---|
| Undo | Ctrl+Z | Reverts the last command from the command history system |
| Redo | Ctrl+Y or Ctrl+Shift+Z | Re-applies the last undone command |
| Delete | Del or Backspace | Deletes the current selection |
| Copy | Ctrl+C | Copy selection to clipboard |
| Cut | Ctrl+X | Cut selection |
| Paste | Ctrl+V | Paste from clipboard |
| Rotate | R | Rotate selected items |
| Flip | F | Flip selected items (PCB: front/back) |
| Select All | Ctrl+A | Select all items on the canvas |
All operations go through the Command pattern — every mutation pushes to the undo stack, enabling full undo/redo history.
See Keyboard Shortcuts for the complete key binding reference.
See Also¶
- Schematic Editor — schematic-specific interactions.
- PCB Editor — PCB-specific interactions.
- Keyboard Shortcuts — customize all key bindings.