Eeschema: Zoom triggered inbetween mouse scroll steps

Bug #1753054 reported by Andrey Kuznetsov
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KiCad
Fix Released
Undecided
Unassigned

Bug Description

I just spent an hour comparing pan, zoom and performance between eeschema and pcbnew.

This bug is to report that the mouse scroll wheel behaves differently between pcbnew and eeschema.
I have a Logitech MX Master 2S mouse with user controlled ratchet mode, ie the scroll wheel has large discrete steps that the finger can feel when scrolling. The smooth scroll is the opposite, no tactile feel, triggers often and the scroll corresponds to the amount the scroll wheel moved, ie 20 degree wheel rotation = 10 line scroll in ratchet mode, but in smooth scroll, a 10 degree rotation means a 5 line scroll. I only use ratchet mode, it offers tactile feedback and makes it harder to scroll accidentally.

In pcbnew, the zoom works well, each scroll wheel step corresponds to individual zoom action, there is no lashback, no accelerated zoom, no double zoom action. When I toggle between 2 scroll wheel stops, the screen toggles in between only 2 zoom factors.

In eeschema, the zoom is annoyingly imprecise, has a mind of its own. When I start rotating the scroll wheel from one ratchet position to another, the zoom action is triggered way before I land on the ratchet position, sometimes it's triggered multiple times, so that by the time I complete 1 scroll step, I have zoomed anywhere between 1-3 times. This makes it impossible to control what zoom you end up with. In addition, it feels like there is acceleration, the faster you scroll the more zoom actions happen, but that might be perhaps of the varying number of zoom actions per step. The last thing to mention is that after the scroll wheel has stopped moving, there's a good chance that the zoom will trigger one more time, pretty late, resulting in a delayed zoom, which is very frustrating because your eyes have to readjust and find the bearing on the schematic again.

Application: kicad
Version: (5.0.0-rc2-dev-30-geb94d2f), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Platform: Mac OS X (Darwin 17.3.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.61.0
    Curl: 7.43.0
    Compiler: Clang 7.3.0 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=ON
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_SPICE=ON

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

@Andrey, is this a comparison between Legacy canvas and GAL canvas, or are you using Legacy canvas in Pcbnew?

Revision history for this message
Andrey Kuznetsov (kandrey89) wrote :

@Jeff,
This is a comparison between Eeschema and PCBnew.

PCBnew GAL and Legacy behave the same, the mouse scroll wheel works.

Eeschema mouse scroll wheel is broken.

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

Eeschema uses a Legacy canvas, so I would have expected Pcbnew Legacy to have the same issues. Odd.

Revision history for this message
Andrey Kuznetsov (kandrey89) wrote :

Great... I guess escheema v5 for macOS will still be useless!

Revision history for this message
Tomasz Wlostowski (twlostow) wrote : Re: [Bug 1753054] Re: Eeschema: Zoom triggered inbetween mouse scroll steps

On 02/07/18 21:06, Andrey Kuznetsov wrote:
> Great... I guess escheema v5 for macOS will still be useless!
>
Did you try another mouse?

Tom

Revision history for this message
Tomasz Wlostowski (twlostow) wrote :

.... cause I tried, but unfortunately I don't have the Master Rodentinator XP Pro Ultra, but a more modest Logitech B100 mouse. In Kicad RC2 (from kicad-pcb.org), running on a recent Macbook (OSX High Sierra) zoom seems to work correctly.

Tom

Revision history for this message
Andrey Kuznetsov (kandrey89) wrote :

WOW!
Just tried in RC3, the issue went away.
Zooming now works very well, even on a motherboard c4puter project with 3200x1800 resolution on MacOS 10.13.5, it zooms in exactly on each scroll wheel step, never misses and doesn't add extra steps, zoom is consistent and also faster than before! I just don't know which commit fixed it.

Application: kicad
Version: (5.0.0-rc3-dev-2-g101b68b), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.54.0 LibreSSL/2.0.20 zlib/1.2.11 nghttp2/1.24.0
Platform: Mac OS X (Darwin 17.6.0 x86_64), 64 bit, Little endian, wxMac
Build Info:
    wxWidgets: 3.0.4 (UTF-8,STL containers,compatible with 2.8)
    Boost: 1.61.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.43.0
    Compiler: Clang 7.3.0 with C++ ABI 1002

Build settings:
    USE_WX_GRAPHICS_CONTEXT=ON
    USE_WX_OVERLAY=ON
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON

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

Bizarre. I'm not aware of anything we did to fix it, but it's good news anyway!

Changed in kicad:
status: New → Fix Committed
Changed in kicad:
status: Fix Committed → Fix Released
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.