I propose adding an option to the XF86Config mouse settings that lets a user modify the mouse speed (not acceleration) dynamically (with xset rather than XF86Config).

Right now, "xset m acceleration threshold" tells X to make the mouse go "acceleration" times faster when it's going beyond speed "threshold", unless "threshold" is 0, in which case it makes the mouse go at a polynomial "mouse_speed^acceleration" instead of "mouse_speed^1". This last feature (with threshold=0) is undocumented.

The right way to do things is to have smooth acceleration curve (like polynomial) and to let the user control both the acceleration and a constant multiplier dynamically (not in XF86Config). For example, the mouse should behave something like "a * speed^b" where a and b can be set through xset. Currently, one can fake a constant multiplier by setting a "Resolution" parameter in XF86Config. But this feature requires root access, a server restart, a lot of figuring out (how does "resolution" correspond to "speed"?), is buried in the documentation (it's not on XF86Config's man page), and isn't supported for all mice.

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 VALUE_A VALUE_B" will be interpreted as "set the mouse function to "VALUE_B * mouse_speed^VALUE_A". This way, nobody has to modify xset. The server would also need some way to communicate the state of "UseSmoothMouseAccel" to clients, in order to show the right UI to the user settings mouse settings.

Michael



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

Reply via email to