I propose adding an option to the XF86Config mouse settings that lets a
user modify the mouse speed dynamically with xset, rather than with the
Resolution option in XF86Config.

Right now, "xset m acceleration threshold" means:

    "Move the cursor at speed `acceleration*raw_mouse_speed' whenever
    `raw_mouse_speed' is greater than `threshold' -- unless `threshold'
    is 0, in which case the cursor will move at
    `raw_mouse_speed^acceleration'."

This last feature (with threshold=0) is completely undocumented.  In
addition, there's no way to speed up the mouse by a constant multiplier
(independent of acceleration) without changing the "Resolution" option
in XF86Config.  This requires a server restart, root access, isn't
documented in XF86Config's man page, isn't supported for all mice, can't
be customized per-user, and doesn't really make sense ("Resolution" is
inversely proportional to "MouseSpeed").

The right way to do mouse acceleration is to have a smooth acceleration
curve (like the polynomial you get with threshold=0) and to let the user
control both the acceleration and a constant multiplier dynamically (not
in XF86Config).  For example, it'd be great if "xset m [A] [B]" made the
cursor move according to the formula "[A] * raw_mouse_speed^[B]".

Proposal:  Add a boolean option to XF86Config called
"UseSmoothMouseAccel" that changes the behavior of xset.  If this
variable is set to true, the command `xset m [A] [B]' will mean "set the
cursor movement function to `[A] * raw_mouse_speed^[B]'".

This will also require some way for client X applications (like gnome's
mouse settings applet) to determine the value of "UseSmoothMouseAccel", etc.

Comments?  There has been scattered discussion of possible ways to
improve XFree86's mouse acceleration in the past, but there haven't been
many practical solutions suggested.  I'd really like to get this cobweb
cleaned up.

Michael

_______________________________________________
Xpert mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/xpert

Reply via email to