>From 34b91933b977e73749ec934c78249cb93533966e Mon Sep 17 00:00:00 2001
From: Simon Thum <simon.thum@gmx.de>
Date: Tue, 5 Jan 2010 16:23:57 +0100
Subject: [PATCH 4/4] xfree86: add pointer acceleration info to xorg.conf.man

Just try to describe what's important, still looking for a place
put the whole sermon.

Also, be more precise about what -a and -t actually do
on --help output.
---
 hw/xfree86/doc/man/xorg.conf.man.pre |   62 +++++++++++++++++++++++++++++++++-
 os/utils.c                           |    4 +-
 2 files changed, 63 insertions(+), 3 deletions(-)

diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 5b98bda..63526e0 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -914,7 +914,67 @@ X Input extension. This option controls the startup behavior only, a device
 may be reattached or set floating at runtime.
 .TP 7
 .BI "Option \*qSendDragEvents\*q  \*q" boolean \*q
-???
+Send core events while dragging. Default: Enabled.
+.PP
+.TP 7
+.B Pointer Acceleration
+For pointing devices, the following options control if and how the pointer
+is accelerated with respect to physical device motion. It also provides an
+option to scale down devices, which supersedes workarounds based on tweaking
+the acceleration controls. Most of these can be adjusted at runtime using the
+pointer feedback and input property mechanisms (see the xinput(1) man page).
+Note that desktop environments typically do this for at least the first three
+options (which correspond to pointer feedback settings). Only the most
+important acceleration options are discussed here.
+.TP 7
+.BI "Option \*qAccelerationNumerator\*q  \*q" integer \*q
+Set the numerator of the acceleration factor.
+.TP 7
+.BI "Option \*qAccelerationDenominator\*q  \*q" integer \*q
+Set the denominator of the acceleration factor.
+.TP 7
+.BI "Option \*qAccelerationThreshold\*q  \*q" integer \*q
+Set the threshold, i.e. the velocity (device units/t) required for acceleration
+to kick in.
+.TP 7
+.BI "Option \*qAccelerationProfile\*q  \*q" integer \*q
+Select the profile, which determines actual acceleration as a function of
+device velocity and other acceleration settings.
+.PP
+.RS 6
+.nf
+.B  " 0      classic (mostly compatible)"
+.B  "-1      none (just DownScale is applied)"
+.B  " 1      device-dependent"
+.B  " 2      polynomial"
+.B  " 3      smooth linear"
+.B  " 4      simple"
+.B  " 5      power"
+.B  " 6      linear"
+.B  " 7      limited"
+.fi
+.RE
+.TP 7
+.BI "Option \*qDownScale\*q  \*q" real \*q
+Makes the pointer go
+.B DownScale
+times slower than without this option. Most useful for high-resolution devices.
+.TP 7
+.BI "Option \*qAdaptiveDeceleration\*q  \*q" real \*q
+Most profiles allow to actually decelerate the pointer when going slow. Use this
+for very accurate hit-the-pixel work.
+.TP 7
+.BI "Option \*qAccelerationScheme\*q  \*q" string \*q
+Selects the scheme, which is the underlying algorithm. Basically one can
+resurrect the old (severely constrained) algorithm, choose none or the current
+default.
+.PP
+.RS 7
+.nf
+.B  "predictable   default algorithm (behaving intuitively predictable)"
+.B  "lightweight   old acceleration code"
+.B  "none          no acceleration or deceleration"
+
 .SH "INPUTCLASS SECTION"
 The config file may have multiple
 .B InputClass
diff --git a/os/utils.c b/os/utils.c
index 3718b17..449460b 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -472,7 +472,7 @@ AdjustWaitForDelay (pointer waitTime, unsigned long newdelay)
 void UseMsg(void)
 {
     ErrorF("use: X [:<display>] [option]\n");
-    ErrorF("-a #                   mouse acceleration (pixels)\n");
+    ErrorF("-a #                   default mouse acceleration (factor)\n");
     ErrorF("-ac                    disable access control restrictions\n");
     ErrorF("-audit int             set audit trail level\n");	
     ErrorF("-auth file             select authorization file\n");	
@@ -524,7 +524,7 @@ void UseMsg(void)
 #endif
     ErrorF("-retro                 start with classic stipple and cursor\n");
     ErrorF("-s #                   screen-saver timeout (minutes)\n");
-    ErrorF("-t #                   mouse threshold (pixels)\n");
+    ErrorF("-t #                   default mouse threshold (pixels/t)\n");
     ErrorF("-terminate             terminate at server reset\n");
     ErrorF("-to #                  connection time out\n");
     ErrorF("-tst                   disable testing extensions\n");
-- 
1.6.4.4

