Cross-hair and mouse cursor are not snapped together after hotkey is pressed

In v5.x, when pressing a ‘M’ hotkey (I believe this is also reproducible for D/G hotkeys, but the video becomes too big for upload), where ever the mouse cursor is located within the boundaries of an object (Text, value, Name, line), both the cross-hair and mouse cursor are snapped to the appropriate location (I assume it is the H Align setting), such that when the user moves the mouse cursor, the object moves without stuttering. For other objects (Symbols, footprints for example), wherever the user places the mouse cursor within the object’s boundary, both cross-hair and mouse cursor are not snapped anywhere i.e. they don’t change their location, and the user can move the object without stuttering as well.

However, in v6.0 RC1, this is not he case for all objects, the user should exactly put the mouse cursor where KiCAD is expected to snap the cross-hair after pressing a hotkey, otherwise when a hotkey is pressed, the cross-hair snaps correctly, but the mouse cursor location is unchanged, there it is possible to see some distance between the cross-hair and mouse cursor, as soon as the user moves the mouse cursor, the object’s cross-hair follows the mouse cursor to an unwanted location. This behavior applied to both, schematic and PCB editors in v6.0 RC1. This is what has been causing wires to form weird dialogues as well, the mouse cursor is not following the cross-hair.

It is either cross-hair stays where it is, or the mouse cursor should follow it :dancer:

The video below compares v5.x and v6.0 RC1 behavior. It is very clear how convenient it is to move objects in v5.x, contrary to v6.0 RC1 which is extremely annoying.

related issue on gitlab.

take a tour through all preferences/settings.
try setting the checkbox preferences->common->editing->warp mouse.

When this option is enabled, the cross-hair snaps to the origin correctly, while the mouse cursor does not, once you move the mouse, the cross hair instantly follows original mouse cursor location at the time the hotkey is pressed, which weird response i.e. object moves erroneously. Once the hotkey is pressed, both cross-hair and mouse cursor should snap at the same time.

Even when using the mouse alone to drag an object, the strange behavior applies. Try to long press mouse left click over a symbol in the schematic, you will notice that the object is selected and the mouse cursor snaps to the symbol’s origin once you start moving the symbol, but the movement will follow original mouse cursor location at the time the long press occurred ignoring new location which is supposed to be the symbol origin at which the mouse cursor has snapped already. I created another video for this and uploaded it to the issue, I drew a couple of lines to help quickly show what I mean.

If the mouse cursor is to be snapped to the object origin, why does it go back to the original location causing this to happen. The correct behavior is as long as I the mouse cursor is snapped to origin is to stay there and allow me to move the object without going back to the original mouse cursor location where the hotkey is pressed or where the long press occurred.

If you disable this option, you get the old way of v5.1.

I have looked at your screen-captures at gitlab and I think I see what you describe, but I can’t reproduce on my system. So I’m out.

Once I read your comment and remembered that your snapshot is from windows as well, it came to my mind that I am using KiCAD 6.0 RC1 on a couple of VMWare workstation Pro 16.2.1 build-18811642 VMs on Win10 and Win11, this is where the issue occurs.

I installed it on my Win10 host OS, and I am also unable to reproduce this issue as the mouse cursor wrapping works correctly, so it happens only inside the VM. Also the erroneous behavior of wire dragging is also in the VMs, not on the bare metal installation.

1 Like