Advanced Pointer Events: Use Cases

Here are a few use cases.

Touch-based event.

Case 1:

A user has a multi-touch pad, and, by using two fingers they may signal 
the same
event that would have otherwise required the pressing of a button. This 
may reduce
strain, especially smaller devices such as laptops and mobile phones, 
where pressing
a button while using the touch pad can be uncomfortable.

Case 2:

The developer of a multimedia program would like to allow the user to 
control
the audio volume without interrupting the screen display; they map the 
volume
control to movement on the touch pad, provided that either a button is 
pressed,
or a second finger is present on the touch pad.

Pen-based event.

Case 1:

A user has a pressure sensitive pen device, and would like fine control 
over their
strokes when using an online drawing application ( likely using the 
canvas element ).

Case 2:

A developer is trying to create their own OCR system for a non-Roman script;
they've found that accuracy can be improved if pressure/angular changes 
are taken into account.

Case 3:

As a method to teach wrist control and improve dexterity, a software 
game may be
distributed as an educational tool.


Additional Data in Alternate pointing events.

Case 1:

A developer would like to save absolute information about
the distance, in inches, between pointer events; for recording
purposes on a signature.

Case 2

A heavy-use computer is installed at a museum. Instead of
a mouse it has nine buttons, which move the mouse cursor
30 pixels in a given direction.

An interactive application built for both mouse events and
events emulated by buttons, accounts for the 30px
jump in movements, the data is provided by the alternate
pointer (the nine button device).

Case 3

A novelty touchscreen is released as an orb.
Mouse movements work normally, but absolute
position on the orb is also available.

Case 4

A zero contact mouse is held in space, and tilted
to simulate mouse movement. It also reports
on distance, taking into account that the user
may be moving further from or closer to the screen.


Implementation considerations:

Currently, mouse based events can be tricky to work with; implementation 
irregularities with
event bubbling are especially difficult.

Touch-based events have been popularized; they designed for a 
multi-touch device,
and may trigger / require some mouse events.

Event handling must gracefully degrade, "onmouse" hooks are the
primary method to forward and backward compatibility: "onclick" is required
by the popular "ontouch" interface.

Most touch and pen devices send mouse events.

Pen-based events may have additional information,
Such data could be accessed by a standard API; but it's out of the scope 
of this document.

Received on Wednesday, 10 March 2010 05:13:13 UTC