Single Track and Connected Tracks hotkeys perform the same action

Bug #1832902 reported by Seth Hillbrand
48
This bug affects 7 people
Affects Status Importance Assigned to Milestone
KiCad
Fix Committed
Medium
Jeff Young

Bug Description

Pressing "U" for the single track performs the "I" connected tracks action.

Application: Pcbnew
Version: (5.1.0-988-g7d69a917b-dirty), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.0-5-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: GCC 8.3.0 with C++ ABI 1013

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

Tags: hotkeys pcbnew
tags: added: pcbnew
Changed in kicad:
importance: Undecided → Low
milestone: none → 6.0.0-rc1
status: New → Triaged
Revision history for this message
Jeff Young (jeyjey) wrote :

The distinction used to be handled by BOARD::MarkTrack(), but that was removed in favour of using the connectivity graph.

I also note that expandConnection() now calls selectAllItemsConnectedToItem() instead of selectAllItemsConnectedToTrack(). Was that intentional? (My guess is no, since selectAllItemsConnectedToTrack() is now unused, and the same changelist made changes to it, so it doesn't seem like the design goal was to remove it.)

Revision history for this message
Seth Hillbrand (sethh) wrote :

Yup, that was unintentional. I've changed it back.

On the connected issue, I think I'll combine the two hotkeys into one. First click gets just the segment up to pads and the second click gets the full segment.

This will require a bit of connectivity work since we aren't iterating.

Changed in kicad:
assignee: nobody → Seth Hillbrand (sethh)
Revision history for this message
Jeff Young (jeyjey) wrote :

I think there are currently 3 actions: select single track, select connected tracks, and expand track selection.

Revision history for this message
Seth Hillbrand (sethh) wrote :

Good call. I'm thinking these can all be the same hotkey.

If you press 'I', it will take the current selection and expand it to the pads. If the expansion it finds is the same as the current selection, it will expand the selection to all connected tracks (going through the pads)

This will support all three actions in a single command and maps nicely onto existing UX paradigms where repeating the selection command expands selection (thinking double-click->triple click text selections here).

tags: added: hotkeys
Jeff Young (jeyjey)
Changed in kicad:
importance: Low → Medium
Revision history for this message
Novak Tamas (novak-7) wrote :

My problem is you re-assigned Ctrl+click function from hightlite net to selection. The "add/remove segment to multiple selection" is done by Shift+click; Ctrl+click would do the same function. So please separate the U & I selection hotkey goal, and give back highlite net function for a convenient key.

Windows multiple selection style is Ctrl+click for adding/removing single item, and Shift+click is selection from-to.
My proposal: in KiCAD
- Ctrl+click does adding/removing single segment to selection (Windows style)
- Shift+click does hightlite net function (no selection changed) as Windows' from-to selection is not applicable here.
- I selects subnet (pad-to-pad) then following "I" keystrokes switch between selecting full_net/ pad-to-pad subnet.
- hotkey U is free for something else.

Revision history for this message
Piotr Gałka (piotrgalka) wrote :

I have reported:
https://bugs.launchpad.net/kicad/+bug/1845781
which was marked as duplicate of this one.

As I understand what was written here it looks you are speaking about extending selection of one track to its far away parts but being the same net.
I was writing there about extending selection by pressing 'I' at another track. Both functions can be done by the same hotkey.

I was thinking also about making the 'I'/'U' key actions being a toggle on/off selection. Just in case when someone selects track, after track and by mistake he select track he didn't wonted, or he selected all elements in rectangle and wonts to unselect some tracks (and may be also footprints).
Consider if such toggle selection hotkey would be useful.
I am not enough familiar with KiCad to be sure what is really missing. For example I know that using Shift and mouse I can extend selection, but I don't know yet how to exclude something from selection.

Revision history for this message
DDuck007 (dduck007.01) wrote :

That is really different: I wanted to report, that selecting a part of a trace and pressing “u“ or choosing „Select -> Select single track" selects a path from e.g. a via to a pad in V5.1.4 and at master the whole net on every layer, which should be done with „i“ or "Select connected tracks"!

Revision history for this message
Oleg Endo (oleg.endo) wrote :

> For example I know that using Shift and mouse I can extend selection,
> but I don't know yet how to exclude something from selection.

Try holding CTRL and then clicking on the elements. It should remove them from the selection.

Revision history for this message
Jeff Young (jeyjey) wrote :

@Seth, turns out this is not a hotkey issue, but rather that the new connectivity algorithm ends up doing the same thing for two different commands.

I've stolen the bug from you.... ;)

Changed in kicad:
assignee: Seth Hillbrand (sethh) → Jeff Young (jeyjey)
status: Triaged → In Progress
Revision history for this message
Seth Hillbrand (sethh) wrote :

OK. No worries. Are you up for the implementation in #4? If not, I'd like to keep it. :)

Revision history for this message
KiCad Janitor (kicad-janitor) wrote :

Fixed in revision 13df645af9b591f9aa9066636444764526c0ce90
https://git.launchpad.net/kicad/patch/?id=13df645af9b591f9aa9066636444764526c0ce90

Changed in kicad:
status: In Progress → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.