Skip to content
ispyisail edited this page Oct 9, 2026 · 14 revisions

Keyboard-Only Control (Mouseless QET)

Everything on this page was checked directly against the source (ShortcutManager's registry, the menu-construction code, and the diagram/element editors' keyPressEvent() handlers), not assumed from the UI. Where a table gives a key combination, it's the platform-neutral Qt default, written as Ctrl — Qt maps that to Cmd automatically on macOS, so read every "Ctrl" below as "Cmd" there. A few entries genuinely vary by OS/desktop rather than just the Ctrl→Cmd swap; those are called out individually instead of guessed. Every shortcut here is also rebindable, see Changing a shortcut below.

Placing a new element from the keyboard

Placing a symbol used to be the one thing that needed a mouse: the only way to put a catalog symbol on a sheet was to drag it from the Collections panel. It no longer is:

To Do
Place a symbol from the Collections panel select it (Tab into the panel, arrow keys, or type in the search box) and press Enter: the symbol attaches to the cursor. Double-click does the same.
Place the last symbol again A
Pick a symbol at the cursor by name Insert opens a picker; type part of the name and press Enter

A preference makes double-click open the element editor again, as it used to (Preferences reference, Β§1, Interface). Full details, including where the attached symbol lands and how to cancel it, are on Drawing faster.

If the element is already somewhere in the project, copying and pasting it also works entirely from the keyboard β€” see Duplicating an existing element below.

Once an element is already on a diagram, everything below applies β€” selecting, moving, rotating, editing, wiring and deleting existing elements is fully keyboard-driven.

Navigating menus without a mouse

Every top-level menu has a mnemonic (the underlined letter, visible once you press Alt):

Menu Key
File Alt+F
Edit Alt+E
Project Alt+P
Display Alt+A
Windows Alt+N
Settings Alt+S
Help Alt+H

Once a menu is open: ↓/↑ moves between items, β†’ opens a submenu, ← or Esc closes one level, Enter activates the highlighted item. Typing a letter jumps to the next item starting with it.

F10 also opens the menu bar β€” the key most people reach for out of habit on Windows. It's a convenience on top of Alt, not a separate mechanism: both end up focusing the same menu bar, and everything above about arrow keys and mnemonics applies either way. Covers the diagram editor and the title block editor; the element editor doesn't have this shortcut, since it doesn't build its window the same way.

This works even in a completely fresh session with nothing configured β€” verified by driving a real headless build through exactly this sequence (Alt+P, repeated Down, Enter) to trigger a menu action with no mouse input at all.

Working with what's already on the diagram

This is the part that's fully keyboard-capable today. With the diagram canvas focused (click into it once, or Tab to it from another widget):

Action Key
Select the next item (wraps, starts from nothing selected) Tab
Select the previous item Shift+Tab
Select everything Ctrl+A
Deselect everything your platform's standard "deselect" key (QKeySequence::Deselect β€” varies by OS/desktop, check the Shortcuts page below for yours)
Invert the selection Ctrl+I
Move selection by one grid step Arrow keys
Move selection by the fine grid step Alt+Arrow keys
Rotate selection Space
Rotate the whole group as one Shift+Space
Re-orient selected texts Ctrl+Space
Delete selection Delete
Edit selected item's properties Ctrl+E
Reset selected conductors' paths Ctrl+K
Cut / Copy / Paste Ctrl+X / Ctrl+C / Ctrl+V
Duplicate selection, offset by a configured spacing/direction Ctrl+D
Undo Ctrl+Z
Redo your platform's standard "redo" key (QKeySequence::Redo β€” Ctrl+Y on Windows, Ctrl+Shift+Z on most Linux desktops)
Find / Search & Replace Ctrl+F
Jump to an element on the current sheet: type part of its label or information, Enter selects it and scrolls to it. The same popup also goes to a cell such as B13 or 4-B7 β€” see Finding your place on a sheet Ctrl+G

Grid step size is configurable β€” Settings β†’ Configure QElectroTech β†’ General has both the normal arrow-key step and the Alt-modified fine step (1–30 and 1–9 respectively). If arrow-key movement feels too coarse or too fine, that's the page to change, not a code limitation.

Text-alignment inside a selected text group is also keyboard-driven: Ctrl+Left/Up/Right sets left/center/right alignment when exactly one text group is selected.

The keyboard-raised context menu (the Menu key, or Shift+F10) now shows the real, per-selection menu β€” the same one a right-click gives, aimed at the selection rather than the middle of nowhere. It used to fall back to a generic, mostly-greyed-out Undo/Redo/Cut/Copy/Paste/Delete/Select-All menu regardless of what was selected, which made most of this page's own per-item actions unreachable without a mouse. Fixed at the source: a keyboard-raised event now builds the sheet's own menu directly instead of asking whichever item has focus for its default one.

Adding shapes and text to a diagram

Edit β†’ Add is a submenu holding every drawing tool that used to be toolbar-only: text field, image, PDF (where compiled in), line, rectangle, ellipse, arc, polyline, curve, and terminal strip. Reach it with Alt+E then β†’ to open the submenu, arrow keys to pick a tool, Enter to activate it. The automatic-conductor-break toggle sits in Project, beside the automatic-conductor setting it pairs with.

This gets you to the tool, not through it. Activating "Add a line" arms the tool the same way clicking its toolbar button would β€” but drawing the actual line still means clicking points on the canvas. Nothing here adds coordinate entry; it closes the "I can't even start this tool without a mouse" gap, not the "draw entirely by keyboard" one. See What still needs a mouse below.

Duplicating an existing element without a mouse

If the element you want is already on a diagram somewhere, there are two keyboard paths to a second copy β€” distinct from the Collections-panel gap above, which is specifically about an element's first appearance in a project. Which one to reach for depends on whether you're placing one copy somewhere specific, or stamping out a row of identical ones.

Ctrl+V β€” one copy, positioned by eye:

  1. Select the source (Tab-cycle to it, or however you'd normally select it) and Ctrl+C.
  2. Ctrl+V. The pasted copy appears under the cursor position and follows it β€” this is the one place in this path where the mouse still matters for positioning, but not for triggering the action.
  3. Enter or a left click drops it where it currently sits; Escape or a right click cancels, leaving nothing behind β€” not even an undo step.

If you don't move the mouse between steps 2 and 3, the copy simply drops wherever it happened to appear, which is enough to duplicate something without ever touching the mouse for anything but its ordinary role in step 1's selection. This is the same commit/cancel pair as every other placement tool in QET (right-click-to-cancel is the older convention; Escape works too here).

Ctrl+D β€” a row of copies, no mouse at all:

  1. Select the source and press Ctrl+D.
  2. The first time, a small dialog asks for a spacing (in grid steps) and a direction β€” up, down, left or right. Confirm it, and the copy lands immediately at that offset β€” no follow-the-cursor step, unlike Ctrl+V.
  3. Every later Ctrl+D reuses that spacing and direction silently, no dialog, and continues from the copy you just placed rather than the original β€” hold Ctrl and tap D a few times to lay out an evenly-spaced row or column.

To change the spacing or direction later, Edit β†’ Configure duplication... reopens the same dialog without duplicating anything itself. There's no shortcut bound to it by default, so reach it through the menu (Alt+E, then arrow down to it) or bind one yourself on the Shortcuts page.

The offset is always exact β€” a plain multiple of the grid step in one axis, never a value that drifts off-grid regardless of where the original sits.

File and window management

Action Key
New project Ctrl+N
Open project Ctrl+O
Save / Save As Ctrl+S / Ctrl+Shift+S
Close project your platform's standard "close" key (QKeySequence::Close β€” usually Ctrl+W)
Print Ctrl+P
Quit Ctrl+Q
Add a sheet Ctrl+T
Sheet properties Ctrl+L
Export as images Ctrl+Shift+X
Next / previous project window your platform's standard window-switch keys (QKeySequence::NextChild/PreviousChild)
Toggle full screen Ctrl+Shift+F

The Collections panel

The search field at the top (Search...) filters the tree live as you type β€” it's a normal QLineEdit, reachable by Tab, and it matches elements' display names, not their filenames (searching bobine3 won't find "Coil", searching coil will). Arrow keys move through the filtered tree once it has focus.

The search gives one flat list, best match first, and Enter on a result attaches it to the cursor for placing β€” see Placing a new element from the keyboard above.

Element Editor (editing a symbol's own drawing)

Action Key
New / Open / Save / Save As Ctrl+N / Ctrl+O / Ctrl+S / Ctrl+Shift+S
Open from file Ctrl+Shift+O
Select all / Deselect all / Invert selection Ctrl+A / Ctrl+Shift+A / Ctrl+I
Cut / Copy / Paste Ctrl+X / Ctrl+C / Ctrl+V
Paste in area Ctrl+Shift+V
Edit names / Edit author Ctrl+E / Ctrl+Y
Delete Delete (Backspace on macOS)
Quit Ctrl+Q (Ctrl+W on macOS)
Rotate / Rotate (fine increment) Space / Ctrl+Space
Flip F
Mirror M
Zoom in / out / fit / original your platform's standard zoom keys, Ctrl+9 / Ctrl+0
Undo / Redo Ctrl+Z / your platform's standard "redo" key

Drawing the symbol's own graphics (lines, rectangles, terminals) still means placing points with the mouse β€” there's no coordinate-entry or keyboard equivalent for that, same gap as element placement above.

Title Block Editor (editing a .titleblock template)

Same shape as the Element Editor: Ctrl+N/O/S/Shift+S/Q for file management and quit, Ctrl+X/C/V for clipboard, Ctrl+Z for undo (and your platform's standard "redo" key), plus template-specific actions β€” Ctrl+K splits a cell, Ctrl+J merges selected cells, Ctrl+T edits logos, Ctrl+Y edits cell info, zoom on Ctrl+9/Ctrl+0 and your platform's standard zoom-in/out keys.

Commands at the cursor

The full description is on Drawing faster.

Action Key Pull request
Place the last symbol again A PR #1042
Element picker at the cursor: type a name, Enter places it Insert PR #1052
Shortcut bar: commands for the selection, plus the picker S PR #1053
Repeat the last drawing or placing command Enter (on the sheet) PR #1056
Search every command by name and run it Ctrl+Shift+M PR #1049

Command search makes every command reachable without knowing its menu, and lists each command's own key next to it.

Changing a shortcut

Settings β†’ Configure QElectroTech β†’ Shortcuts lists every registered shortcut in this app as a keyboard-navigable tree (arrow keys to move, Tab into a row's key-capture field, then just press the combination you want β€” no typing the key names out). Reset everything clears every customisation back to the defaults in the tables above; each row also has its own reset. A conflict (two actions bound to the same combination) is flagged, not silently allowed, and the page's quick filter can narrow the list to conflicts only.

Two helpers on the same page: Search by key β€” press a combination and the list shows only the command that uses it β€” and Copy list, which copies the list to paste into a spreadsheet as a printed cheat sheet. Every command of the sheet editor's menus and toolbars is on the page, each with the Menu it lives in. More on Customising QElectroTech.

What still needs a mouse

Stated plainly rather than left for you to discover:

  • Drawing a line, rectangle, polygon or terminal β€” reaching the tool is keyboard-driven (Edit β†’ Add, above), but placing its points on the canvas isn't, in a diagram or inside the Element Editor's own symbol canvas.
  • Resizing a shape via its handles, in either editor.
  • Drag-to-connect a conductor between two terminals (routing an existing conductor's path, once drawn, is keyboard-driven β€” see the table above).

Everything else on this page is real, verified keyboard control, not a roadmap.

See also

  • Customising QElectroTech β€” keys, toolbars and gestures

  • Mouse modifiers β€” the other half: what Shift, Ctrl and Alt change while you drag with a mouse

  • 3D mouse β€” binding a SpaceMouse's buttons to these same commands

  • Preferences reference β€” the Shortcuts page (Β§4) and the grid/keyboard-nudge settings (Β§1) referenced above.

  • Tips & Tricks β€” general workflow tips, including its own shortcut list; this page is the one checked directly against the source.

  • JavaScript Scripting β€” if you're avoiding the mouse to script a repetitive task rather than to work interactively, this may be a better fit than any keyboard shortcut.

Getting Started

Home

🌐 Languages β€” English Β· FranΓ§ais Β· Deutsch

Downloads

Windows without admin rights β€” the portable archive, no installer

Quick Start Guide

User Manual

FAQ

Tips & Tricks

Guides

Conductors β€” wire properties, what feeds which export, cables, and hops where wires cross

Wires per terminal β€” limit the wires on a terminal, chain wiring instead of stars

Printing and exporting β€” paper, PDF, images, and what each path does differently

Linking elements β€” master, slave, terminal

PLC modules β€” I/O tables and linking a wire to a specific point

Using the element editor β€” drawing tools, saving, checks

Generic devices β€” a quick box symbol with terminals on any side, made by a wizard (pending)

Grid size and element size β€” why symbols aren't all the same scale, and scaling one without leaving the grid

Preferences reference β€” what each settings page does

Saving and loading settings β€” your whole setup in one file, to copy or keep

Keyboard-only control β€” mouseless QET, and what still needs a mouse

Mouse modifiers β€” what Shift, Ctrl and Alt change while you drag

3D mouse β€” SpaceMouse pan, zoom and buttons

Aligning items β€” snap symbols back to the grid, or line them up

Pictures on a sheet β€” labels, crop, transparency, what they cost in the file

Arcs and curved wires β€” the Arc tool, pulling an arc in or out, rounding a corner with a fillet, dashed arcs for lighting layouts

Grouping items β€” select, move and copy several items as one

Finding your place on a sheet β€” go to a cell like B13 or 4-B7, keep the headers in sight, show the cell limits, zoom and pan

Showing and hiding kinds of items β€” hide texts, wire numbers, shapes, pictures, tables or cross-references on every sheet

Drawing faster β€” place without dragging, the S shortcut bar, command search, gestures

Customising QElectroTech β€” keys, toolbar size and contents, the gesture ring (partly pending)

Managing collections β€” folders, writability, building your own shortlist

Templates β€” reusable multi-element blocks, placed by double-click or drag

Search & Replace β€” bulk property changes

Building a nomenclature query β€” the BOM/summary table builder

Linking wires across pages β€” sheet reports

Variables & formulas β€” %f, %{label}, sequences

Auto-numbering β€” schemes, sequences, freezing

Terminal strips β€” strips, levels, bridges

Title block templates β€” the .titleblock format

Importing EPLAN parts (.edz) β€” EPLAN Data Portal

DXF import & export β€” two unrelated features, one format; command-line export and layers

The project database β€” the in-memory SQLite cache

File formats
Elements XML
Project XML
Development

Building from Source

Contributing Code

Automating QET β€” CLI, XML formats, external tools

CLI Reference β€” command line usage

JavaScript Scripting β€” --run, geometry editing, undo

MCP server β€” let an AI assistant read, verify and edit projects

Connecting an AI assistant β€” setup for Claude, Copilot, Gemini, Codex, Cursor, LM Studio

Script buttons β€” stored scripts with an icon, by hand or by an assistant

Live mode β€” an assistant working in the open project while you watch

Macro recorder β€” record a task by hand, for an assistant to script

Development Roadmap

Vision β€” proposal, under discussion

Developer Tools

About

Features

History

Community

License

Contributing to this Wiki

Clone this wiki locally