Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#1625 closed bug (fixed)

Scrolling slow --> alright, scrolling fast, changes vert to Horizontal

Reported by: hai_cu_be Owned by: marcusoverhagen
Priority: normal Milestone: R1/alpha1
Component: Drivers/Mouse/PS2 Version: R1/pre-alpha1
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description (last modified by bonefish)

Tested in VmWare R22908.

I opened up a small window with the "Bin" folder. Small so that it's scrollable horizontally as well as vertically.

Now, scrolling slowly with the mouse wheel will affect the vertical scroller. Scrolling very quickly will then also start affecting the horizontal scroller. Does not make sense. Reproducable for you?

Change History (13)

comment:1 by jackburton, 16 years ago

I can reproduce this too.

comment:2 by bonefish, 16 years ago

Milestone: R1R1/alpha1

Created R1/alpha1 ticket #1913, which might be related.

comment:3 by stippi, 16 years ago

Resolution: fixed
Status: newclosed

Can not reproduce anymore. I guess I fixed this too in hrev24841.

comment:4 by bonefish, 16 years ago

Description: modified (diff)
Resolution: fixed
Status: closedreopened

Still reproducible in hrev24949. Tested in VMware. To clarify the description: You have to scroll with the mouse wheel. At the same time I sometimes get the following in the syslog:

ps2: strange mouse data, y-delta 142, trying resync
ps2: bad mouse data, trying resync

So it might rather be PS/2 than interface kit/app server related.

comment:5 by umccullough, 16 years ago

I can definitely reproduce this on real hardware with a PS2 mouse in hrev25215

Dell Optiplex gx270, P4 2.8ghz, 1gb ram, i865 video

While testing it, I didn't see any errors in the syslog or serial output though.

comment:6 by umccullough, 16 years ago

On the exact same machine, replacing the PS2 mouse with a USB mouse makes the unwanted horizontal scrolling behavior go away for me.

comment:7 by axeld, 16 years ago

Component: Applications/TrackerDrivers/Mouse/PS2

I had a short look at the driver, and it is indeed not correctly evaluating the wheel data in ps2_packet_to_movement(). It does use the X wheel without having enabled it before; a mouse in Intellimouse mode does not have that wheel. Marcus, do you want to fix it for real, or should I add a quick fix for this?

comment:8 by axeld, 16 years ago

Owner: changed from axeld to marcusoverhagen
Status: reopenednew

comment:9 by marcusoverhagen, 16 years ago

Status: newassigned

Hi Axel,

I can't fix this until 22:00, but I believe the correct code would be:

int wheel_ydelta = 0; int wheel_xdelta = 0;

[...]

if (cookie->packet_size == PS2_PACKET_INTELLIMOUSE) {

pos->wheel_ydelta = (int)(packet[3] & 0x07); if (packet[3] & 0x08)

pos->wheel_ydelta |= (-1 & ~0x07);

}

[...]

pos->wheel_ydelta = wheel_ydelta; pos->wheel_xdelta = wheel_xdelta;

I don't have a mouse with horizontal scroll wheel yet, and implementing horizontal scrolling will need more initialization.

comment:10 by marcusoverhagen, 16 years ago

Should be fixed in hrev25230. Please test.

comment:11 by umccullough, 16 years ago

Definitely fixes it for me!

Also fixes the related firefox issue reported in #2171

comment:12 by marcusoverhagen, 16 years ago

Resolution: fixed
Status: assignedclosed

fixed in hrev25230

comment:13 by scottmc, 16 years ago

Nice work. I just noticed with hrev25247 that scrolling was working for me using two different USB mice, where neither one was scrolling using the wheel in hrev25137, I had to look up where this one got fixed, I assume this is where it got fixed.

Note: See TracTickets for help on using tickets.