some notes on wheel events

Bjoern, how much more detailed do you need the text below to be for  
editing work. It's basically taken from Maciej and Ian Hickson and some  
random notes...

===

When "mouse wheeling" occurs, the implementation must dispatch a  
<code>mousemultiwheel</code> event implementing the following interface:

interface MouseMultiWheelEvent : MouseEvent {
   readonly attribute long            wheelDeltaX;
   readonly attribute long            wheelDeltaY;
   readonly attribute long            wheelDeltaZ;
};

wheelDeltaX is a multiple of 120 (positive means rotated to the right,  
negative means rotated to the left). UIEvent.detail is wheelDeltaX divided  
by 120.

wheelDeltaY is a multiple of 120 (positive means rotated away from user or  
to the right, negative means rotated towards user or to the left).  
UIEvent.detail is wheelDeltaY divided by 120.

wheelDeltaZ is a multiple of 120 (...). UIEvent.detail is wheelDeltaZ  
divided by 120.

The default value of wheelDeltaX, wheelDeltaY, wheelDeltaZ and  
UIEvent.detail is 0.

XXX: i18n?
XXX: wheelDeltaY -> wheelDelta?
XXX: Array for "any" number of wheels.
XXX: MouseEvent.relatedNode?

This event includes both scroll deltas. The default action of this event  
is to dispatch a <code>mousewheel</code> event if the y delta is non-zero.  
That event implements the following interface:

interface MouseWheelEvent : MouseEvent {
   readonly attribute long            wheelDelta;
};

If the <code>mousewheel</code> event is cancelled, only the default action  
for vertical wheeling is cancelled. The wheelDelta attribute is a multiple  
of 120 (positive means rotated away from the user, negative means rotated  
towards the user). UIEvent.detail is wheelDelta divided by 120.

XXX: do we want initMouseWheelEvent() and such?

Note: Future versions might introduce a mousewheelx and mousewheelz event  
given
there's a need for them.

===


-- 
Anne van Kesteren
<http://annevankesteren.nl/>
<http://www.opera.com/>

Received on Wednesday, 21 June 2006 18:47:07 UTC