Pointer glide patch for Input/synaptics

Dylan McCall dylanmccall at gmail.com
Thu Jan 22 08:28:21 PST 2009


I'm just wondering what people think of the little "pointer glide" thing
I submitted. Here would be a better place for discussion than on
bugzilla, if anyone is interested :)


The mouse is a successful input technique because the physical device
makes sense. It "feels" like the mouse pointer on the screen and obeys
the laws of physics if someone throws it (not that anyone would do
that). The important part is that the user controls the pointer directly
and those motions translate accurately on screen. In the real world, the
interaction here would be understandable with any similarly sized object
floating through whatever surface the mouse is being used on.

With a touchpad, everything is an indirect type of motion without any
physical feedback (which is perhaps why it has been, until now, widely
despised). The touchpad doesn't move; it just acts as a window through
which the pointer is nudged. At the moment the pointer is a difficult
object to nudge. A bit like pushing it through syrupy goo. It just
doesn't move unless the user PUSHES it at all times. It doesn't make as
much sense and it doesn't feel like it applies to the real world, no
matter what paper-like texture the manufacturer puts over the touchpad.
(They should really be using a sticky goo texture if they want it to
feel natural).

My idea is to give the pointer a more believable, and at the same time
more comfortable presence when using the touchpad. Since the device
itself doesn't provide any kind of feedback, we have to assume "the
pointer" is fairly light, with a small amount of friction so it can be
pushed easily. This way the user can interact more naturally. Silly, but
I'm sure this can all be linked to some pseudo-scientific psychology

This is all achieved through ridiculously primitive physics, of course!
I have the pointer continuing along its path when the finger is
released, slowed down gradually by a set friction and capped with a
maximum speed to avoid anything weird happening. The pointer glide
behaviour only gets in the way if one is expecting it, and defaults to
being turned off.

To test, you will need to build both the patched driver and synclient.
The configuration can be done via xorg.conf, but synclient makes it much
more pleasant. Run synclient PointerGlide=1 to turn the behaviour on,
then you may need to configure it with the other PointerGlide options
available under synclient -l.

I really do think this improves ergonomics in an interesting way. At
least, it has for me!

-Dylan McCall
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20090122/b9af4da9/attachment.pgp>

More information about the xorg mailing list