[PATCH dix] dix: Added a "flat" acceleration profile that provides a linear pointer response.
simon.thum at gmx.de
Tue Mar 29 04:56:12 PDT 2011
I don't have much problems with the patch as-is, except that a
corresponding xorg.conf man page entry should be added.
The bigger problem is that I don't even like to have
ConstantDeceleration within the accel code, so adding scaling as a "flat
profile" is making the mess worse.
What I'd like to see are input transformation matrices as recently
discussed (or similar). See
for my input on peter's request.
This would solve the problem as a side-effect, and allow for much more.
I mean, why would scaling/sensitivity "be" a single profile, and not be
available as an add-on to all profiles?
It's technically correct, and I welcome people to patch it into distros,
but for master I'd prefer a conceptually clean solution. But if it turns
out there's no support for the concept as described, we should probably
add it to master (given you provide a man page entry).
On 03/28/2011 08:34 PM, Orhan Kavrakoglu wrote:
> From: Orhan Kavrakoğlu <aibok42 at gmail.com>
> This profile disables pointer acceleration in the conventional sense
> yet still allows one to adjust sensitivity using the "acceleration"
> Signed-off-by: Orhan Kavrakoğlu <aibok42 at gmail.com>
> dix/ptrveloc.c | 13 +++++++++++++
> include/ptrveloc.h | 3 ++-
> 2 files changed, 15 insertions(+), 1 deletions(-)
> diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c
> index ccd445e..2349c11 100644
> --- a/dix/ptrveloc.c
> +++ b/dix/ptrveloc.c
> @@ -953,6 +953,17 @@ NoProfile(
> return 1.0f;
> +static float
> + DeviceIntPtr dev,
> + DeviceVelocityPtr vel,
> + float velocity,
> + float threshold,
> + float acc)
> + return acc;
> static PointerAccelerationProfileFunc
> DeviceVelocityPtr vel,
> @@ -977,6 +988,8 @@ GetAccelerationProfile(
> return SmoothLimitedProfile;
> case AccelProfileNone:
> return NoProfile;
> + case AccelProfileFlat:
> + return FlatProfile;
> return NULL;
> diff --git a/include/ptrveloc.h b/include/ptrveloc.h
> index c14e12d..151dcf2 100644
> --- a/include/ptrveloc.h
> +++ b/include/ptrveloc.h
> @@ -38,7 +38,8 @@
> #define AccelProfilePower 5
> #define AccelProfileLinear 6
> #define AccelProfileSmoothLimited 7
> -#define AccelProfileLAST AccelProfileSmoothLimited
> +#define AccelProfileFlat 8
> +#define AccelProfileLAST AccelProfileFlat
> /* fwd */
> struct _DeviceVelocityRec;
More information about the xorg-devel