Confirmed users
371
edits
No edit summary |
|||
(6 intermediate revisions by 2 users not shown) | |||
Line 9: | Line 9: | ||
* '''MozTouchDown''' | * '''MozTouchDown''' | ||
* '''MozTouchMove''' | * '''MozTouchMove''' | ||
* ''' | * '''MozTouchUp''' | ||
Currently they inherit from MouseEvent and adds a '''streamId''' property which uniquely identifies a tracking point. In Win7 this id is provided by the OS/driver layer and is valid only while the same touch point is being tracked. After the finger is released, the id can be (and ''will be'') reused. | Currently they inherit from MouseEvent and adds a '''streamId''' property which uniquely identifies a tracking point. In Win7 this id is provided by the OS/driver layer and is valid only while the same touch point is being tracked. After the finger is released, the id can be (and ''will be'') reused. | ||
** Can we expect every platform to give us the id? | |||
Each event is related to each single touch point, so if there are 3 fingers touching the screen, 3 MozTouchMove events can possibly be dispatched for each loop in the message loop. | Each event is related to each single touch point, so if there are 3 fingers touching the screen, 3 MozTouchMove events can possibly be dispatched for each loop in the message loop. | ||
Line 23: | Line 24: | ||
Touch input also may provide detailed information about the contact area or pressure, but it depends on the platform and type of screen. We already have MozPressure attribute on MouseEvent, which is currently only used in some gtk. code. Win7 provides width and height of contact area. | Touch input also may provide detailed information about the contact area or pressure, but it depends on the platform and type of screen. We already have MozPressure attribute on MouseEvent, which is currently only used in some gtk. code. Win7 provides width and height of contact area. | ||
== | === Capturing/Release? === | ||
https://bugzilla.mozilla.org/show_bug.cgi?id=510924 | |||
== Questions to ask == | |||
==== Aggregated values ==== | ==== Aggregated values ==== | ||
For some applications, getting the information for all of the touch points at the same time is important. We send separate events for each touch, so this information is not directly available. But it can be easily supported by a simple JS library which keep track of the current active points. | For some applications, getting the information for all of the touch points at the same time is important. We send separate events for each touch, so this information is not directly available. But it can be easily supported by a simple JS library which keep track of the current active points. Should we make this information always available or do we leave it simple and let a JS library do the work if needed? | ||
==== Compatibility with webkit ==== | ==== Compatibility with webkit ==== | ||
Webkit implemented some multitouch events on the iPhone which will be on Android as well. How should we take these into account? Their model is quite different from the typical event model, as in they provide the list of all touches on a single event, and then values like event.clientX and such doesn't exist. | Webkit implemented some multitouch events on the iPhone which will be on Android as well. How should we take these into account? Their model is quite different from the typical event model, as in they provide the list of all touches on a single event, and then values like event.clientX and such doesn't exist. There are three lists with different rules for the target nodes, some of which keep sending events to original target and this can break the model if there are dynamic changes on the page. Also there hasn't been much effort into making these into standards. | ||
==== Touch gestures vs. touch input vs. mouse events==== | |||
Using gestures and input at the same time is an ambiguous interaction. For example, if a finger is moved from bottom to the top of the screen. | |||
* how can we know if the desired action is to pan (scroll) the page, or get touch events being sent about the movement | |||
* Is this up for the web page to decide? How can it switch modes and which modes can probably work at the same time? | |||
* preventDefault() ? | |||
* Do we also send click and mousemove events? Should we be able to prevent this as well? | |||
==== | ==== Standards ==== | ||
Need to take these to the DOM list for comments and hopefully make a spec | |||
* [http://mozilla.pettay.fi/gestures/gestures.xml Possible format] |