Closed
Bug 3010
Opened 26 years ago
Closed 26 years ago
Mozilla does not respond to WM_MOUSEWHEEL message
Categories
(Core :: DOM: UI Events & Focus Handling, defect, P2)
Tracking
()
VERIFIED
WORKSFORME
M7
People
(Reporter: jeffu, Assigned: rods)
References
()
Details
The wheel on the Micorosoft (and compatible) Intellimouse controls the scroll
bar without having to move the mouse. In addition, clicking the wheel
(MK_BUTTON) allows up/down scrolling by simply moving the mouse, rather than
clicking on the scroll bar.
WM_MOUSEWHEEL
The WM_MOUSEWHEEL message is sent to the focus window when the mouse wheel is
rotated. The DefWindowProc function propagates the message to the window's
parent. There should be no internal forwarding of the message, since
DefWindowProc propagates it up the parent chain until it finds a window that
processes it.
WM_MOUSEWHEEL
fwKeys = LOWORD(wParam); // key flags
zDelta = (short) HIWORD(wParam); // wheel rotation
xPos = GET_X_PARAM(lParam); // horizontal position of pointer
yPos = GET_Y_PARAM(lParam); // vertical position of pointer
Parameters
fwKeys
Value of the low-order word of wParam. Indicates whether various virtual
keys are down. This parameter can be any combination of the following values:
Value Description
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.
zDelta
The value of the high-order word of wParam. Indicates the distance that the
wheel is rotated, expressed in multiples or divisions of WHEEL_DELTA, which is
120. A positive value indicates that the wheel was rotated forward, away from
the user; a negative value indicates that the wheel was rotated backward, toward
the user.
xPos
Value of the low-order word of lParam. Specifies the x-coordinate of the
pointer, relative to the upper-left corner of the screen.
yPos
Value of the high-order word of lParam. Specifies the y-coordinate of the
pointer, relative to the upper-left corner of the screen.
Remarks
The zDelta parameter will be a multiple of WHEEL_DELTA, which is set at 120.
This is the threshold for action to be taken, and one such action (for example,
scrolling one increment) should occur for each delta.
The delta was set to 120 to allow Microsoft or other vendors to build
finer-resolution wheels in the future, including perhaps a freely-rotating wheel
with no notches. The expectation is that such a device would send more messages
per rotation, but with a smaller value in each message. To support this
possibility, you should either add the incoming delta values until WHEEL_DELTA
is reached (so for a given delta-rotation you get the same response), or scroll
partial lines in response to the more frequent messages. You could also choose
your scroll granularity and accumulate deltas until it is reached.
The MAKEPOINTS macro can be used to convert the lParam parameter to a POINTS
structure.
QuickInfo
Windows NT: Requires version 4.0 or later.
Windows: Requires Windows 98.
Windows CE: Unsupported.
Header: Declared in winuser.h.
I just noticed that MS is using the control key (MK_CONTROL) and wheel to scroll
through the contents of Address/Location/Goto combobox when the input focus is
on browser window.
Could we set it up so that shift key (MK_SHIFT) and wheel scroll left and right
also?
Updated•26 years ago
|
Assignee: joki → rods
Comment 2•26 years ago
|
||
So Rod, you were playing around with mousewheel, you want this one?
Some additional notes for testing purposes. When the MS Intellimouse driver is
installed, clicking the mouse wheel (MK_MBUTTON) changes the cursor and allows
you to scroll the page left/right and up/down by moving the mouse.
Updated•26 years ago
|
Target Milestone: M7
Comment 4•26 years ago
|
||
setting target milestone M7 so this won't appear to be a new bug
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 5•26 years ago
|
||
Yes, it appears the MOUSE_WHEEL is now broken, it worked just a days or so ago.
Assignee | ||
Updated•26 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 6•26 years ago
|
||
I am not sure why this has worked and then not worked. At the moment it works,
so there is no bug.
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 7•26 years ago
|
||
well it's worked for a while and it working now so marking VERIFIED with Seamonkey NT 99032912
Updated•26 years ago
|
Status: VERIFIED → REOPENED
Updated•26 years ago
|
Resolution: FIXED → ---
Comment 8•26 years ago
|
||
reopening cuz it's broken again. It broke in different degrees over the past week. 1999040323 is the most recent build I have
where it works completely. 1999040508 is the first build after that (that I have) where it begins to degrade again.
when i say degrade I mean that it goes from working-->working for a little while and then stopping after you play too much-->
mouse wheel working but mouse wheel click not-->nothng at all.
Assignee | ||
Updated•26 years ago
|
Status: REOPENED → RESOLVED
Closed: 26 years ago → 26 years ago
Resolution: --- → WORKSFORME
Comment 9•26 years ago
|
||
Is WORKSFORME really the best resolution here? I would rather not start a new cycle of resolved, verified, reopened ad nauseum.
I would much rather hold verification until someone gets a chance to study this and can say either A) this was broken and is now
fixed (fix checkd in yadda yadda) or B) someone else's stuff keeps breakng/not breaking this, go bug them (explain who 'they'
are').
Updated•26 years ago
|
Status: RESOLVED → VERIFIED
Comment 10•26 years ago
|
||
I'm going to mark this VERIFIED fixed for now, but I'm going to keep my eye
on it. If it breaks again........
tested with the 1999080908 build.
Assignee | ||
Comment 11•26 years ago
|
||
When GFX scrollbars come into the build and are turned on, the wheel will
probably break, those bugs will need to be filed on Eric Vaughan.
Updated•6 years ago
|
Component: Event Handling → User events and focus handling
You need to log in
before you can comment on or make changes to this bug.
Description
•