W3C home > Mailing lists > Public > public-webapps@w3.org > July to September 2012

Re: Drawing Tablets

From: Florian Bösch <pyalot@gmail.com>
Date: Fri, 3 Aug 2012 19:33:07 +0200
Message-ID: <CAOK8ODhSOWHBh0UsVYUeupfX5LcmuhfUL9MtKMLueRUR563wMQ@mail.gmail.com>
To: Charles Pritchard <chuck@jumis.com>
Cc: "public-webapps@w3.org" <public-webapps@w3.org>
On Fri, Aug 3, 2012 at 7:21 PM, Charles Pritchard <chuck@jumis.com> wrote:

>  What kind of correlated events are you thinking of?
For instance most tablet drivers deliver X/Y events separately. If you
processed those individually, fast brushstrokes would become staircases. To
avoid that, developers filter the queue and whenever the see an X event
(which always arrives before the Y event) they wait for the Y event
before correlating them to a "X+Y" event.

> Some of this was discussed as part of the Sensor API proposal. It seems
> that work is being shuffled into a web intents mechanism.
> I've not yet experimented with high volume/precision data over postMessage.
No idea what the intents is, but usually the "intend" in processing events
is implemented by the developer who processes the events, so other than his
application code, no further complication is required.

> Item 3 seems a matter of configuration, I don't think we have anything to
> do on that one.

> Item 2 is fun stuff, but at present, only the touch API has touched on the
> concept of multiple pointers.
This product line http://www.wacom.com/en/Products/Intuos.aspx is both a
multitouch surface and pen input (although not both at the same time).

I suspect however that the "not at the same time" aspect isn't a hardware
or even driver limitation, but rather results from the compulsive need of
applications/OSes to pretend touches and pens are core pointers, and since
there can't be two pointers... If a suitable capture mode where
implemented, I don't think simultaneous touches and pen strokes would
present a problem (and they'd certainly be fun to use).

> Item 1 we can do that with pointer lock.
> You do bring up a good point, if the web platform did concurrent/multiple
> pointer devices, it'd be nice if it the pointer lock API was aware of that
> situation.
> As I understand it, the new release of Windows does have mature support
> for multiple pointers. Support has been available for some time.
> The web platform is falling a bit behind in this area. Of course, they
> haven't caught up with pen events yet and those have been around for
> decades.
> I suspect the affine transform is something that the author ought to be
> processing from nice raw data.
> They can use something like the CSSMatrix() object or other maths to do
> transforms.
> With a complex Canvas drawing surface, I've had to do about 3 levels of
> transforms anyway.
> onmightypenevent(e) {  coordsForNextStep =
> myMatrix.transform(e.arbitraryX, e.arbitraryY); };

Correct, you can leave it up to the developer and just engage pointerlock.
However there's a snag with that.
- You need to have fullscreen to get pointerlock
- You might desire to get pointerlock on the drawing surface, but not
engage fullscreen
- You'll want to engage pointerlock for more direct interaction, yet
disengage it again for interaction with interface elements in the DOM.
Everytime you engage/disengage it there's dialog boxes and whatnot.
Received on Friday, 3 August 2012 17:33:36 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 18:13:37 UTC