kicad-developers team mailing list archive
Mailing list archive
Re: Feedback on 5.1
We have crash reporting code just about ready to merge so it will be
available in nightly builds as soon as it's merged. I doubt that it
will make it into the 5.1 branch but it is possible.
Once it's considered good, I would encourage its inclusion; as I said,
it should make bugs easier to find.
3. Common: I am still frustrated that the key combinations for similar
tasks are not the same. For example, to place a wire in schema, it's
shift-W while in pcb it's shift-X.
We have so many accelerator and hot keys assigned that it's getting
difficult to make changes but we can take a look at this one. It
probably makes sense to unify these even though they are referred to as
different operations in the schematic (wire) and board (route) editors.
I have similar issues with the duplicate action, which is sometimes 'c',
'd', command-'d' and sometimes unavailable as a keystroke but present in
the context menu.
My point about named shortcut/keymaps was aimed at making a unifying
change easier; give the current keymap(s) a name - "Keycad 5" for
example - and then make a new named "Kicad 6" keymap with the best bits
of current but simplified and extended as appropriate. A simple keyap
editor (would be surprised if that's not available open source
somewhere) could then be used to adapt the shipped keymaps to the user's
Thus someone who is used to the current setup doesn't have to change but
can if they wish extend it as they desire. Someone coming in fresh, or
ready to change, can try the new map and experiment.
Yes, sorry, "common" wasn't right. However please be aware that most
laptop users and many desktops don't have a usable Insert key.
4. Common: I am still frustrated that some task combinations aren't
possible: duplicate doesn't work on wires or connectors, drag
doesn't work on graphic lines or components, etc.
I'm assuming you are referring to the schematic editor. Most of this
will be addressed in version 6 with the new tool framework. I'm not
sure what you mean by duplicate. The repeat feature (Insert key) does
work with wires, symbols, and bus entries).
1. Kicad: I would love to see a setup kicad libraries action (probably
not limited to an installer) which configures the library settings
and installs libraries to match. The reason is that my understanding
is that because the library files are being updated (great) that can
make a given project dependent on a given issue of library (witness
recent change of location of pin headers). I think it would be best
therefore to not assume a user will have just one copy of the kicad
library, but potentially several, maybe even one per major project.
In this case, relying on a "system" library (as is true for
/Libraries/Application Support/kicad on mac) makes no sense.
I'm not completely sure what you mean here but there is discussion about
implementing some type of library configuration tool of some type to
handle most of the issues you described above.
I want kicad to understand there are libraries which consist of
schematics, footprints, 3d models and more, which should probably be
handled as a triple rather than completely independently. I think it
appropriate to give this triple a name, e.g. "Kicad 5.1", "Acme Corp",
... and probably have a last modified date and perhaps other things
(copyright etc?) in metadata that is easily inspectable from the UI.
I want the user to be given the choice on install where to put the
standard library (i.e. a select folder action) and for the paths to be
set up appropriately from that point without the user having to
understand path specs or the difference between file types.
I want a kicad user to be able to clearly inspect the source of a
component (sch or pcb), and whether any components are using "out of
triple" parts (i.e. a footprint from Kicad, a 3d model from Acme). Such
wouldn't be an error, but might be and it should be easy to locate in a
I want a kicad user to be able to define one or more library triples as
the default to use, and for component pickers to make it easy to see
which triple a part is being selected from - perhaps using colour.
I want a kicad user looking for a component that is not present in the
current configuration for a project to find out whether the component
exists in another available library. E.g. if you are intentionally using
Kicad standard lib for this project, but have Acme Corp's library
installed, then you could ask Kicad to discover components in the
not-installed library; if found you would then have to do something else
to use the component, should you chose.
I would like, but can see it's a "stretch goal" for kicad to have a web
registry of components which people could plug into, in the manner of
the registries used by "pip" or "composer" or "npm" tools. Preferably
don't reinvent wheels for this!
I mentioned deleting library parts elsewhere: I was envisaging an action
that, given a working kicad project, would pare down the libraries it
was using to just those parts of the library used by the project, so as
to make a minimal library configuration for that project. I was thinking
of this because it would help with distributing projects such that the
project files had no dependency on what if any library a kicad on
another system was using. If the project files themselves will do this,
then of course the library is not required. However, it might be helpful
to have an "export components as library" to make a minimal library from
2. Kicad: A subsidiary to the above would be to have an action that
prunes a given library install to those files required by the
current project, rather than all files. Given we're using Git, the
pruned files could be replaced with a suitable "git reset" command.
There is no git plugin for either symbol or footprint libraries although
it has been discussed many times. Of course you can always remove
libraries from you global symbol library table.
I wasn't thinking of a git plugin, but my current config has kicad
pointing at a git working tree of the kicad library. If this were the
normal thing to do (perhaps with use of a shallow checkout) then, behind
the scenes, a user can be offered "update library from net", "reset
library to factory settings" and similar actions. I'm not suggesting
anything automatic, or that git itself should be exposed, which are
probably more confusing to most people than helpful. And of course the
rest of Kicad knows nothing of this.
2. Schema: Could we also have an unmake sheet action, which deletes the
sheet after placing the content of the selected sheet into the
current one as if "move" was selected, so the next thing is to click
If by unmake you mean undo, this is a very difficult technical challenge
due to the way complex hierarchies are handled. We are hoping to
implement this during v6.
I meant an action that, given a selected hierarchical schema, would copy
all elements of that schema into the current schema, and then delete the
sub schema. In other words, it is the opposite of "make schema from
This probably wouldn't be doable if the selected schema was itself one
of multiple instances, in which case the action would be disabled.
1. Pcb: Is there a concept of an "air wire" - a link to let the
connected-ness calculations know a wire exists off-board (on another
board, as an actual cable, or something else)? If not could we have one?
There is no concept of "air wires". All nets must be on the board being
laid out. Pcbnew does not support routing multiple boards in a single
project. I'm sure we could we do this but I don't see a lot of utility
in it. If we did, it would be something that would be way down the road.
A pity - you don't need multiple pcbs... just a need to use an actual
wire on a pcb. Or even (as in my case) a design which connects to an SBC
which supplies power to multiple pins of the bus connector; unless you
can, on your own board, connect those multiple pins together, you will
end up with "unconnected nets". On a two layer board such connections
are not easy and there is strictly no need, so my design has 1
unconnected 3.3v net on it.
4. Pcb: is there a chance of a smart snap - where the editor looks for
things to line up the cursor with (e.g. while moving 1 wire it looks
to see if there is another wire nearly in line with it, or while
moving a component it checks to see when this component is 1/2 way
between two other components?)
I'm not sure what you mean precisely mean by this.
A feature implemented in many graphic design tools to make aligning and
distributing items quicker.
While moving a thing, the program is checking the placement of other
things you might wish to align or distribute with, and offers visual
feedback (often changes of colour, or dimension/arrow lines) to
represent the fact that if you stopped moving "here" the thing would be
distributed in the indicated way. So for example if you moved a
component, when it was evenly spaced between two other components you
would get two dimension arrows, one linking each side to the
In the graphic design community it is a standard feature.