[ltp] Smooth trackpoint acceleration
Guarded Identity
linux-thinkpad@linux-thinkpad.org
Mon, 5 Jun 2006 08:48:26 -0500
On Monday 05 June 2006 6:41 am, Richard Neill rn214-at-hermes.cam.ac.uk |
LinuxThinkpad| wrote:
> Guarded Identity wrote:
> > I was wondering if anyone has found a solution for smoother acceleration
> > of the trackpoint device. It seems to me that the best way to fix this
> > problem is to develop a kernel patch for the psmouse/trackpoint driver.
> > Then smooth acceleration can be controlled by SysFS. If this could be
> > done, then acceleration could just be turned off in xset.
>
> What you wanted was to configure the gain of the hardware itself! Much
> nicer than low-gain + scrolling.
> The old way was called tp4d; the new way is a kernel driver, as of
> k.2.6.14: thinkwiki.org/wiki/How_to_configure_the_TrackPoint
>
Sorry, I was afraid it might be difficult for me to express myself clearly.
What I really meant to say is that I think Steven Evanchik's kernel patch in
2.6.14 can be even smoother... more responsive. The algorithm tp-scroll uses
is an exponential acceleration. (actually, I'm pretty sure Evanchik's driver
doesn't even have acceleration, just speed; acceleration is handled by xset).
I imagine that the Thinkpad community in general has gotten used to using the
device with what's available. I just realized now that it's possible to make
this device even more accurate than it is now. I think exponential or
polynomial acceleration is a good start.
Ideally, I was thinking the acceleration should be in the psmouse/trackpoint
driver itself, but after a little digging around this morning, I found a
patch for X.org
(http://www.rzuser.uni-heidelberg.de/~ahartme2/xorg-pointer-accel.diff). I'm
not sure I want to start messing around with customized packages of X.org,
though. Kernel packages seem more simple and also appropriate, although it
makes sense to be to have pointers configurable in both X and the kernel
drivers eventually.
It's not that I want to just brutally emulate what Windows and Macs do; I just
want to have a pointer device that's responsive and accurate. Pointers in
Linux are quite literally like riding 2-speed bicycles. I'm hoping for
something with more of a continuous range of speeds, controlled by a sensible
formula. It's just amazing how much more comfortable the user experience can
be with a nice pointing device. On the flip side, I do have a lot of console
applications that are largely driven with keystrokes, and my window manager
is practically all managed with hotkeys. However, there's always GUIs that
are really designed for mice, and I can't get away from all of them.
So some people in here might just say, "sounds like you're sure of what you
want; go off and code it." I'm beginning to feel that way too. Just wanted
to see if anyone's already dealt with this issue before, or is interested in
what I'm proposing. Also, I looked the psmouse/trackpoint kernel code
briefly, and I really haven't mapped it out completely. Also, I'm new to
kernel development, so I'm not sure I'd be using all the right calls and
macros, but I'm sure I can wing it.
- Sukant