Bug 3885

Summary: xset man page does not explain continous acceleration (xset m A/B 0)
Product: xorg Reporter: gsr.bugs <gsr.bugs>
Component: DocumentationAssignee: Daniel Stone <daniel>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: high    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
Add mention of threshold=0 being a different formula none

Description gsr.bugs 2005-07-27 05:11:56 UTC
xset m A/B 0 gives a different behaviour, smooth acceleration, than typical
A/B C (C not zero) which is two speed. This behaviour is, for some people,
nice. But the point is that it is not documented in man page, so nobody
can just test it except if discovered due some reason more complex than read
the docs. See http://www.mail-archive.com/xpert@xfree86.org/msg10374.html
for a good explanation. I am not asking for the suggestions in that mail but
just the documentation of current behaviour (direct quote):

"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'."
Comment 1 gsr.bugs 2006-11-09 09:36:57 UTC
I finally looked at how the man page goes, copied the style and added
a new paragraph explaining that 0 is a special case. See patch. It
gives a user

Also for reference, explanation of system in 2002:
http://marc.theaimsgroup.com/?l=xfree-xpert&m=101624642005523&w=2
Code that seems to have done the job in the past (around line 955)
at least up to 7.1:
http://webcvs.freedesktop.org/xorg/xserver/xorg/hw/xfree86/common/xf86Xinput.c?view=annotate
Newer code lacks it, tho:
http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=blob;h=be3368dff52cfc8620e88650b66b23f5d5649de5;hb=fd91630b73100e9d77ccb492c52807448bc772a5;f=hw/xfree86/common/xf86Xinput.c
Comment 2 gsr.bugs 2006-11-09 09:37:45 UTC
Created attachment 7712 [details] [review]
Add mention of threshold=0 being a different formula
Comment 3 Daniel Stone 2006-11-09 17:22:03 UTC
the code hasn't been removed, it's been generalised: look at acceleratePointer()
in dix/getevents.c.  this means it'll also work for other DDXes (notably, the
KDrive-based ones).
Comment 4 gsr.bugs 2006-11-09 17:44:30 UTC
Yeah, I already found, but was not sure with the new system (gitweb)
if I was seeing the right thing.

Anyway, the code looks still doing a pow function, and thus the patch
still makes sense. So this patch gets rejected or approved? Based
in mails the situation has existed by around 4 years or more, I
think it is time to cover the feature in the man page.

Also seen there is a bug trying to improve/change acceleration, and if
that one gets commited, I hope it includes xset support... and
documentation, man page. ;)
Comment 5 Daniel Stone 2006-11-09 18:16:06 UTC
yeah, as the comment says, it's the same code, just moved over.  the patch looks
fine to me; i'll commit it some time when it's not 4am on friday morning, thanks.

the acceleration patch does not include xset support, as that would be a
protocol violation; you'd need to use an xi control.  but that should definitely
be encouraged, you're right ...
Comment 6 Daniel Stone 2007-02-27 01:27:29 UTC
Sorry about the phenomenal bug spam, guys.  Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Comment 7 gsr.bugs 2007-06-26 15:01:45 UTC
Any resolution? The bug has been open for near two years, got a patch
months ago and the thing is just about improving documentation,
nothing that would cause crashes by changing code.
Comment 8 gsr.bugs 2007-11-14 13:46:34 UTC
Sorry to be a pest, but for such silly thing (just doc update), and
something that could give Xorg a good PR, maybe someone else could
commit it. Many people complain X11 has poor mouse handling, but the
code is there, just a small number of people know about it. No docs
team around?
Comment 9 Daniel Stone 2007-11-14 14:05:44 UTC
pushed to master
Comment 10 gsr.bugs 2007-11-19 13:59:10 UTC
Thanks a lot. I hope now it will be easier to convince people X can have
smooth mouse behaviour. :)

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.