2010-08-20 20:34:14

by Bruno Prémont

[permalink] [raw]
Subject: [2.6.36 regression] Under linux console gpm cursor now going to opposite direction of mouse

Somewhere between 2.6.35 and Linus's tree as of this writing gpm
started moving its cursor to the opposite direction of mouse movement.

e.g. moving mouse up causes cursor to move down, moving mouse left
causes cursor to go right

Under 2.6.35 the cursor moved into the same direction as the mouse.

Note, mouse is synaptics touchpad (Acer TravelMate660):
Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9d48b1, caps: 0x904713/0x4006/0x0


When I get around to it I will try to get more precise information as
to when this regression got introduced, eventually bisecting.

Bruno


2010-08-21 13:46:03

by Christoph Fritz

[permalink] [raw]
Subject: [PATCH] Input: mousedev - fix regression of inverting axes

On Fri, Aug 20, 2010 at 10:33:16PM +0200, Bruno Pr?mont wrote:
> Somewhere between 2.6.35 and Linus's tree as of this writing gpm
> started moving its cursor to the opposite direction of mouse movement.
>
> e.g. moving mouse up causes cursor to move down, moving mouse left
> causes cursor to go right
>
> Under 2.6.35 the cursor moved into the same direction as the mouse.
>
> Note, mouse is synaptics touchpad (Acer TravelMate660):
> Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9d48b1, caps: 0x904713/0x4006/0x0
>
>
> When I get around to it I will try to get more precise information as
> to when this regression got introduced, eventually bisecting.
>
> Bruno

Thanks Bruno,
I successfully tested the patch below with gpm.

---
Introduced by 987a6c0298260b7aa40702b349282554d6180e4b a swap in max/min
calculation gets fixed by this patch.

Reported-by: Bruno Pr?mont <[email protected]>
Signed-off-by: Christoph Fritz <[email protected]>
---
drivers/input/mousedev.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/input/mousedev.c b/drivers/input/mousedev.c
index 83c24cc..d528a2d 100644
--- a/drivers/input/mousedev.c
+++ b/drivers/input/mousedev.c
@@ -138,8 +138,8 @@ static void mousedev_touchpad_event(struct input_dev *dev,

fx(0) = value;
if (mousedev->touch && mousedev->pkt_count >= 2) {
- size = input_abs_get_min(dev, ABS_X) -
- input_abs_get_max(dev, ABS_X);
+ size = input_abs_get_max(dev, ABS_X) -
+ input_abs_get_min(dev, ABS_X);
if (size == 0)
size = 256 * 2;

@@ -155,8 +155,8 @@ static void mousedev_touchpad_event(struct input_dev *dev,
fy(0) = value;
if (mousedev->touch && mousedev->pkt_count >= 2) {
/* use X size for ABS_Y to keep the same scale */
- size = input_abs_get_min(dev, ABS_X) -
- input_abs_get_max(dev, ABS_X);
+ size = input_abs_get_max(dev, ABS_X) -
+ input_abs_get_min(dev, ABS_X);
if (size == 0)
size = 256 * 2;

--
1.7.1

2010-08-21 16:49:37

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH] Input: mousedev - fix regression of inverting axes

On Sat, Aug 21, 2010 at 03:50:03PM +0200, Christoph Fritz wrote:
> On Fri, Aug 20, 2010 at 10:33:16PM +0200, Bruno Pr?mont wrote:
> > Somewhere between 2.6.35 and Linus's tree as of this writing gpm
> > started moving its cursor to the opposite direction of mouse movement.
> >
> > e.g. moving mouse up causes cursor to move down, moving mouse left
> > causes cursor to go right
> >
> > Under 2.6.35 the cursor moved into the same direction as the mouse.
> >
> > Note, mouse is synaptics touchpad (Acer TravelMate660):
> > Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9d48b1, caps: 0x904713/0x4006/0x0
> >
> >
> > When I get around to it I will try to get more precise information as
> > to when this regression got introduced, eventually bisecting.
> >
> > Bruno
>
> Thanks Bruno,
> I successfully tested the patch below with gpm.
>
> ---
> Introduced by 987a6c0298260b7aa40702b349282554d6180e4b a swap in max/min
> calculation gets fixed by this patch.
>
> Reported-by: Bruno Pr?mont <[email protected]>
> Signed-off-by: Christoph Fritz <[email protected]>

Applied, thanks Christoph.

--
Dmitry

2010-08-25 18:19:10

by Maciej Rutecki

[permalink] [raw]
Subject: Re: [2.6.36 regression] Under linux console gpm cursor now going to opposite direction of mouse

On piątek, 20 sierpnia 2010 o 22:33:16 Bruno Prémont wrote:
> Somewhere between 2.6.35 and Linus's tree as of this writing gpm
> started moving its cursor to the opposite direction of mouse movement.
>
> e.g. moving mouse up causes cursor to move down, moving mouse left
> causes cursor to go right
>
> Under 2.6.35 the cursor moved into the same direction as the mouse.
>
> Note, mouse is synaptics touchpad (Acer TravelMate660):
> Synaptics Touchpad, model: 1, fw: 5.8, id: 0x9d48b1, caps:
> 0x904713/0x4006/0x0
>
>
> When I get around to it I will try to get more precise information as
> to when this regression got introduced, eventually bisecting.
>
> Bruno

I created a Bugzilla entry at
https://bugzilla.kernel.org/show_bug.cgi?id=17031
for your bug report, please add your address to the CC list in there, thanks!
--
Maciej Rutecki
http://www.maciek.unixy.pl