Comment 3 for bug 816739

Revision history for this message
David Lamparter (equinox-launchpad) wrote : Re: [Bug 816739] [NEW] kicad warps mouse

On Wed, Jul 27, 2011 at 02:17:57AM -0000, Dick Hollenbeck wrote:
> On 07/26/2011 07:08 PM, David Lamparter wrote:
> > Public bug reported:
> >
> > kicad warps the mouse (i.e. changes the mouse pointer location).
> >
> > This indiscutably violates most basic rules of user interface design and
> > breaks for example working with a graphics tablet.
> >
> > Refer to e.g. http://developer.gnome.org/accessibility-devel-guide/3.0/gad-checklist.html.en
> > "MI.4 The mouse pointer is never warped under application control, or its movement restricted to part of the screen by the application. "
> >
> > (not that this is NOT specific to Gnome. Any application, whatever and
> > whereever, MUST NEVER WARP THE MOUSE POINTER, unless this behaviour is
> > explicitly requested by the user.)
>
> Or else what? We don't get paid?

Or else your software has a bug. Honestly, I've started pretty low, so
your response is to drag it down further?

> Perhaps you might get more mileage by asking
>
> 1) why we are warping the pointer,
> 2) who currently thinks it is a good idea,
> 3) and would anyone be willing to reconsider.

No. This is as elementary as a calculator showing 1 + 1 = 3.

> But coming in acting like we don't know the GNOME guidelines is presumptuous and
> non-motivational.
>
> Moreover, you did not say under what circumstance the pointer is warped, nor in
> which specific program, for the guy who wrote the code 50,000 lines ago.

I'm sorry for expecting that you use the software you're maintaining. As
Lorenzo posted, it happens when you open any of the CAD editing windows,
and also at using the mouse wheel to zoom in/out.

I did not experience the problem on searching, probably since I ticked
off the appropriate box in my search for a way around the bug.

For your reference, the following workaround fixes the issue and has
allowed me to stop my desires to punch someone in the face:

--- a/common/drawpanel.cpp 2011-05-25 12:44:32.000000000 +0200
+++ b/common/drawpanel.cpp 2011-07-27 11:27:19.028600159 +0200
@@ -275,7 +275,6 @@
                     screenPos.x, screenPos.y, x, y );
     }

- WarpPointer( screenPos.x, screenPos.y );
 }

The scrolling behaviour is obviously erratic after this, but compared to
the original issue that's almost nothing.

> One of the poorer bug reports that I have seen.

Consider that an indication of the rage your bug causes. I have never
even been this enraged by any application crash, kernel panic or even
data loss -- probably because I know that someone, somewhere, in pure
disregard of everything that user interface researchers have come up
with, decided that it's a funny idea to jump the mouse around.

-David