summaryrefslogtreecommitdiff
path: root/dix
diff options
context:
space:
mode:
authorSimon Thum <simon.thum@gmx.de>2008-07-23 11:33:25 +0200
committerPeter Hutterer <peter.hutterer@who-t.net>2008-07-28 18:13:18 +0930
commitc184b91d9aa72031c2bac9f379f56633957ded30 (patch)
treefe16de13d7483e08a2b770d41460dd45577b04cb /dix
parent87aa5298576ed335ac31347e14fb30430288157a (diff)
dix: improve the driver interface to predictable pointer acceleration
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'dix')
-rw-r--r--dix/ptrveloc.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/dix/ptrveloc.c b/dix/ptrveloc.c
index 8a0959b09..f8f2f2662 100644
--- a/dix/ptrveloc.c
+++ b/dix/ptrveloc.c
@@ -616,22 +616,32 @@ SetAccelerationProfile(
*/
extern void
SetDeviceSpecificAccelerationProfile(
- DeviceIntPtr pDev,
+ DeviceVelocityPtr s,
PointerAccelerationProfileFunc profile)
{
+ if(s)
+ s->deviceSpecificProfile = profile;
+}
+
+/**
+ * Use this function to obtain a DeviceVelocityPtr for a device. Will return NULL if
+ * the predictable acceleration scheme is not in effect.
+ */
+DeviceVelocityPtr
+GetDevicePredictableAccelData(
+ DeviceIntPtr pDev)
+{
/*sanity check*/
if( pDev->valuator &&
pDev->valuator->accelScheme.AccelSchemeProc ==
acceleratePointerPredictable &&
pDev->valuator->accelScheme.accelData != NULL){
- ((DeviceVelocityPtr)
- (pDev->valuator->accelScheme.accelData))->deviceSpecificProfile
- = profile;
+
+ return (DeviceVelocityPtr)pDev->valuator->accelScheme.accelData;
}
+ return NULL;
}
-
-
/********************************
* acceleration schemes
*******************************/