[H-GEN] A few quick questions
Russell Stuart
rstuart at lubemobile.com.au
Tue Jun 3 21:09:47 EDT 2003
[ Humbug *General* list - semi-serious discussions about Humbug and ]
[ Unix-related topics. Posts from non-subscribed addresses will vanish. ]
On Mon, 2003-06-02 at 14:19, Russell Stuart wrote:
> One thing the manual entry doesn't say is that if you set the threshold
> to 0, whether the mouse is accelerated or not depends only on how fast
> you move the mouse, not the distance. Move it slowly and it is not
> accelerated. Move it fast and it is accelerated. I prefer this
> "dynamic acceleration" to the traditional behaviour.
>
> I remember seeing mentioned in a mailing list post by one of the X
> developers. I have never seen it documented anywhere.
Depending on what people are running, I may of mislead you here. If so
sorry. What I described definitely works on my Red Hat 8.0 box, but it
may not work for you.
After posting I went looking for the original source I mentioned. It
drove me nuts when I could not find it. Eventually I found something
better, which describes exactly what is going on:
http://www.spinics.net/lists/xf-xpert/msg06650.html
In brief, when you set the threshold to 0 with xset the mouse
acceleration algorithm changes completely - it becomes a polynomial
based on the raw mouse speed - not linear like the old one. In other
words it no longer resembles what is described in the xset man page.
According to the page above the new algorithm is based on research done
at Apple, and from my own personal experience it is _much_ better than
the old one.
The kicker is that the post above is dated 2002-Nov-02. You would have
to running a modern version of XFree86 for it to be available. I am
running a version of XFree86 compiled on 2002-Nov-08, and I doubt the
proposal would if made it into the official source tree by so I am
guessing Red Hat applied the proposed patches manually. Perhaps it made
it into the standard XFree86 4.3 source.
For what it is worth, in the source I have the new algorithm calculates
the mouse movement as:
Assume:
xset mouse A 0
Mouse has moved D pixels
Then the calculated movement is:
D' = D * D^(A-1) / 2
Where ^ means "raise to the power of".
Its a bit more complex in the code, as D is an (x,y) vector.
--
* This is list (humbug) general handled by majordomo at lists.humbug.org.au .
* Postings to this list are only accepted from subscribed addresses of
* lists 'general' or 'general-post'. See http://www.humbug.org.au/
More information about the General
mailing list