I’m fairly new to KiCad and there’s one thing about your program that’s absolutely bugging me.
Is there any way to completely disable all forms of mouse snapping? IE, where the program decides to put the mouse somewhere outside of my control. I’ve looked extensively in the settings and preferences and I can only find the ability to turn off such behavior when zooming in and out. I want every instance where KiCad would otherwise move the mouse cursor anywhere to be completely disabled.
What practical value is added by having your mouse cursor jump all over the screen while you are attemping to work?
If I need to modify KiCad’s code to get rid of this supposed ‘feature’ then so be it, just let me know which source code file(s) I would need to modify or point me to the developer(s) I need to contact in order to get such information.
This ‘feature’ renders KiCad virtually impossible to use for me and I am convinced it turns off a large chunk of its potential userbase.
For those that are curious, I did some digging and found this thread, which also did not answer my question: Mouse Jumping Feature Removal
Is there some rationalization from the devs as to why they refuse to remove this feature? I can’t begin to think of one, nor can I find any official statement relating to it. I’d love to read their thinly veiled attempts to defend this business decision.
[quote=“Viewer, post:7, topic:8524”]
I did some digging and found this thread…[/quote]
Dig some more, you will find more similar threads.
KiCad does many things differently by design; consider them quirks.
If you turned off “Pan and Zoom” already, then you turned off what many of us find to be a very nice feature once acclimated to it; it then becomes difficult to use the zoom feature in nearly every other program.
Every MCAD EDA software has it’s own “look and feel” and of course KiCad is no exception.
ABSOLUTELY! I didn’t like the automatic center on cursor when zooming at first. But I am a big fan of “mouse only” pan and zoom and this has become my favorite feature. Other programs require Shift or Control to either pan or zoom, or they zoom without centering, which really just means “zoom out from one location” then “zoom in on another location” with finer control necessary on cursor location to get the center where you want it.
There is also a decent reason for snapping the cursor to where you right clicked, when you dismiss the context menu. No more positioning for what is likely to be the same place you right clicked.
There are fairly regular discussions on both of these issues with people coming down on both sides. What is really required to change it is someone to allow a checkbox option and program it themselves.
I doubt anyone will take the time to guide the OP through the source code to point out where exactly this code is. Just jump on and find it! Make sure your patches follow the source code guidelines, the UI guidelines, and work under Windows, Linux, and MacOS! Thanks OP, this will be an awesome addition to KiCad capability!
One interesting way of turning off kicad’s control over mouse is to use an absolute pointing device, such as a pen. However, there is something evil about kicad that renders cairo and opengl viewers totally unusable with pen/touchscreen, and only the legacy mode works more-or-less ok.
I find it quite is to defend the snapping behavior. When you zoom in on something and you are doing ecad work, dont you want the cursor to be centered there ? If you then are dragging for example a trace or component while zooming you REALLY dont want that trace to move in comparison to the rest of the board while centering, hence the mouse snapping into center. The same goes for menus, when you are done in a menu you dont want the mouse to move stuff around. Its a very cautious approach to implementing the mouse, and after getting used to it I it does make a lot of sense.
Kicad is a tool, it doesn’t always follow necessary UX conventions, but more often than not there is a reason for it.
I have my mouse set to highest acceleration and movement possible. My wrist may pivot a little but my hand stays in one place. Basically I’ve learned to use the mouse behavior to my advantage in Kicad. If it ends up someplace else ‘recovery’ is no big deal.
I’m mostly okay with kicad centering the cursor when zoomed. But today I’ve came across a use case. Remote control. When I use kicad over a remote connection, KiCad cannot control the position of the mouse cursor. As a result of that zooming becomes unpredictable. It zooms to an unintended point unless you are zooming into the exact center of the canvas.