What setting causes this weird Track Posture issue?

I’m having an issue with the KiCad installation at work, and since I’m using it mostly at work, it’s very frustrating.

At home, I don’t have this issue at all.

When I route tracks, I got sick of having to press ‘/’ as often as I press the left mouse button.

I discovered that “Use mouse path to set track posture” was disabled at work and enabled at home, so I tried that, but the issue got worse, not better.

At home, the posture snaps to every 45° increments whenever I hit a straight line in that direction. Note that when I move all the way to the left, it snaps to north-west. When I move it to the right further than the starting point, it snaps to north.
recorded

At work, however, it never snaps to a different posture by itself, and it’s very frustrating. With the setting off, at least I know I have to press ‘/’ after every click, but with the setting on, it’s so random which direction it chooses that it wastes more time than save it.

Here’s at work. (There’s no difference with the setting on and off in this case):
recorded
when it’s diagonal, it stays diagonal (although it chooses different diagonals). When it’s cardinal, it stays cardinal.

Apart from copying the actual files containing the settings from home to work, what setting(s) could cause this?

Work:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.0.10, release build

Libraries:
	wxWidgets 3.2.4
	FreeType 2.13.2
	HarfBuzz 8.1.1
	FontConfig 2.14.2
	libcurl/8.5.0-DEV OpenSSL/3.1.4 zlib/1.3 nghttp2/1.56.0

Platform: Freedesktop SDK 23.08 (Flatpak runtime), 64 bit, Little endian, wxGTK, cinnamon, x11

Build Info:
	Date: Jan  5 2024 12:26:28
	wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.84.0
	OCC: 7.7.2
	Curl: 8.5.0-DEV
	ngspice: 42
	Compiler: GCC 13.2.0 with C++ ABI 1018

Build settings:
	KICAD_SPICE=ON

Home:

Application: KiCad PCB Editor x86_64 on x86_64

Version: 7.0.10-7.0.10~ubuntu20.04.1, release build

Libraries:
	wxWidgets 3.2.1
	FreeType 2.10.1
	HarfBuzz 6.0.0
	FontConfig 2.13.1
	libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3

Platform: Linux Mint 20.3, 64 bit, Little endian, wxGTK, unity, x11

Build Info:
	Date: Dec 31 2023 13:35:27
	wxWidgets: 3.2.1 (wchar_t,wx containers) GTK+ 3.24
	Boost: 1.71.0
	OCC: 7.5.2
	Curl: 7.88.1
	ngspice: 38
	Compiler: GCC 9.4.0 with C++ ABI 1013

Build settings:
	KICAD_SPICE=ON

These options are already the same.

OP is asking why behavior is seemingly different on two computers with seemingly the same settings.

BlackCoffee, you’re completely misunderstanding my issue here. You changed something that makes the tracks go in any angle, and you didn’t sufficiently move the mouse left and right before the change to see if the posture changes. Look at my gifs again. The first is wanted behavior, the second is actual behavior.

I use Mint 21.2 and get exactly the same result as your “Home” version with “Use mouse path…” switched on and I get exactly the same result as your “Work” version with “Use mouse path…” switched off.

It seems your Work OS does not recognise “Use mouse path…”. (You did click the OK button after selecting the mouse path option?)

Actually, at work I tried both with “Use mouse path…” on and off, when it’s off I have to press ‘/’ always, when it’s on I have to press ‘/’ sometimes. At home I have to press ‘/’ almost never.

The issue here is not that it does or doesn’t choose a posture depending on how I move the mouse away from the anchor (place where the transparent track starts), it’s that it doesn’t change posture when I move the mouse in a circle around the anchor.

It turns out the setting is… the grid. And something about the absolute distance.

I noticed after I reset the grid to a fine pitch, the behavior at the Home pc started resembling that of the Work pc, but only sometimes. With the “Use mouse path” setting on, the coarse grid caused my ‘wanted’ behavior because there are guaranteed moments when the line is exactly diagonal or exactly vertical, at which point KiCad will snap to the new posture. However, at the throw of a dice, it might let go of that posture later. It seems that the dice is thrown every time I move the track around, if and only if my mouse is within a radius of 2.5mm from the starting position. (regardless of zoom)

1 Like

I’ve been struggling with the routing behaviour quirks for some time now (since KiCad5.99, to be exact). KiCad5 was more predicable to me in regards to manual routing control. When I started testing 5.99, I’ve already noticed the behavior for manual routing have changed. There were many option that influenced how the manual routing was working, among other – the “Use mouse to set posture” and “Fix all segments on click”. But even if I found settings set that mimicked the KiCad5 manual routing behaviour, it never fully did. Now I just got used to hit “/” to toggle posture if KiCad thinks differently than I do, but with KiCad5 I did not have to, unless I wanted to do so.

1 Like

Yeah. Ideally it should only choose a posture when you start a track at a pad, and whenever a track starts at another track endpoint (note: singular endpoint, not a corner), it should just always choose the opposite posture. Actually, not posture but direction.

In my example above, the track starts at the endpoint of a diagonal north-eastward line. The outgoing direction should therefore always be either north, north-east, or east. None of the other compass directions make sense in this case. I’d even go as far as saying, if this is in the middle click-move routing to make a long path from A to B, then the north-east direction shouldn’t even be included at this corner.

If someone wants to override the direction, ‘/’ is always available.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.