On Tue, May 05, 2009 at 08:55:52PM +0200, Simon Thum wrote: > attached are some minor patches to pointer acceleration: > > - A 'none' profile is added so users can disable acceleration at > runtime in a more explicit way than xset m 1 0 or other magic.
see comments below. > - fix a warning newer GCCs issue on some casts and maybe improve > performance as well. > - remove unneeded headers from ptrveloc.c Both merged, thanks. Will be pushed in time. > >From 883cab39ace28695c3be4303b919d3b786d83ee6 Mon Sep 17 00:00:00 2001 > From: Simon Thum <[email protected]> > Date: Tue, 28 Apr 2009 10:11:32 +0200 > Subject: [PATCH] dix: add 'none' pointer acceleration profile with number -1 > > this is a shorthand for disabling acceleration, while retaining the > possiblity to use constant deceleration. If constant deceleration is > unused, it will also optimize motion processing. Please add in the commit message why it's ok to remove the "reserved" profile, just in case someone has to figure that out at a later point in time. > --- > dix/ptrveloc.c | 30 ++++++++++++++++++++++++------ > include/ptrveloc.h | 4 ++-- > 2 files changed, 26 insertions(+), 8 deletions(-) > > diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c > index 1590cfd..6553772 100644 > --- a/dix/ptrveloc.c > +++ b/dix/ptrveloc.c > @@ -80,9 +80,12 @@ GetAccelerationProfile(DeviceVelocityPtr s, int > profile_num); > #endif > > /******************************** > - * Init/Uninit etc > + * Init/Uninit > *******************************/ > > +/* some int which is not a profile number */ > +#define PROFILE_UNINITIALIZE (-100) > + > /** > * Init struct so it should match the average case > */ > @@ -111,7 +114,7 @@ InitVelocityData(DeviceVelocityPtr s) > static void > FreeVelocityData(DeviceVelocityPtr s){ > xfree(s->tracker); > - SetAccelerationProfile(s, -1); > + SetAccelerationProfile(s, PROFILE_UNINITIALIZE); > } > > > @@ -827,6 +830,16 @@ LinearProfile( > } > > > +static float > +NoProfile( > + DeviceVelocityPtr pVel, > + float velocity, > + float threshold, > + float acc) > +{ > + return 1.0f; > +} > + > static PointerAccelerationProfileFunc > GetAccelerationProfile( > DeviceVelocityPtr s, > @@ -847,8 +860,8 @@ GetAccelerationProfile( > return PowerProfile; > case AccelProfileLinear: > return LinearProfile; > - case AccelProfileReserved: > - /* reserved for future use, e.g. a user-defined profile */ > + case AccelProfileNone: > + return NoProfile; > default: > return NULL; > } > @@ -859,7 +872,7 @@ GetAccelerationProfile( > * Intended to make profiles exchangeable at runtime. > * If you created a profile, give it a number here and in the header to > * make it selectable. In case some profile-specific init is needed, here > - * would be a good place, since FreeVelocityData() also calls this with -1. > + * would be a good place, since FreeVelocityData() also calls this with -100. that should refer to PROFILE_UNINITIALIZE, IMO Cheers, Peter _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
