Subject: Trackpads
To: None <tech-kern@netbsd.org>
From: Michael Lorenz <macallan@netbsd.org>
List: tech-kern
Date: 01/15/2007 16:06:46
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello,
I had a discussion with uwe about abstracting trackpad-specific
functionality a while ago ( Synaptics in his case, Apple in mine )
which didn't lead to anything definite. A while ago I added some code
to the ADB mouse driver to translate tapping the pad into mouse clicks
and to turn this translation on and off I added a sysctl as a quick fix
since this behaviour annoyed a few people.
Now this raises a couple questions:
- - should this be handled by something like wsconsctl? But since
wsconsctl works on mux devices there might be more than one pointing
device ( like a pad and a mouse which would be rather common on laptops
). Whatever we pick, all trackpads should use the same interface here,
be it a sysctl or something else.
- - should the translation code be abstracted? Not that it's overly
complicated though but we might want more stuff like tapping the upper
right corner -> right mouse button. For this we'd need an abstraction
of trackpad events, problem here is that not all pads provide absolute
coordinates ( or rather - we don't always know how to get absolute
coordinates )
So we might end up with:
synaptics* at usb?
adbpad* at adb?
fancypad* at trackpaddev?
and probably wsmouse* at fancypad?
... which might be a little convoluted.
From an ADB pad we can get:
- - relative movement
- - button events ( as in real buttons )
- - finger up / finger down
- - in some cases absolute coordinates
Any thoughts?
have fun
Michael
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)
iQEVAwUBRavs5spnzkX8Yg2nAQIiJQf/Xdf6qRbVrmUuu1c84IAS1DuUarFeVqZN
TglAnN22IzMsZ0M8riV3+LCob7QSBqPwTd1hImW9poUC3r3Uv8Jpcyohmlj36zEq
BkyYsvFkB9GiMwf2lUfTEJARjkAcQSWBRgqRlX+7oQk6J3CzNPRMThZE3bBw2vvU
UVi8rLnSNScD1JquGOUWKTRy59DajCc8alBqqVGmh8TKkUdCRKL7sevOmK3EK2DI
pB7yZucdH0YNV1KAg+U8omSk6wZ3dANp9Y4CA4pdypRJ2xN9nMqkpMvCV1uB6LRl
j/GF+5kFrbHd94BywtjJGG0k3vwO9iA2Z2qpkZwKAXZepCNBonuMhQ==
=1W0k
-----END PGP SIGNATURE-----