xfree86: perform pointer accel scheme selection by name, not number

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Simon Thum 2008-07-23 12:06:34 +02:00 committed by Peter Hutterer
parent a17cb29f5a
commit 3209bd21d0

View File

@ -174,9 +174,21 @@ ApplyAccelerationSettings(DeviceIntPtr dev){
int scheme; int scheme;
DeviceVelocityPtr pVel; DeviceVelocityPtr pVel;
LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate; LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate;
char* schemeStr;
if(dev->valuator){ if(dev->valuator){
scheme = xf86SetIntOption(local->options, "AccelerationScheme", 1); schemeStr = xf86SetStrOption(local->options, "AccelerationScheme", "");
scheme = dev->valuator->accelScheme.number;
if(!xf86NameCmp(schemeStr, "predictable"))
scheme = PtrAccelPredictable;
if(!xf86NameCmp(schemeStr, "lightweight"))
scheme = PtrAccelLightweight;
if(!xf86NameCmp(schemeStr, "none"))
scheme = PtrAccelNoOp;
/* reinit scheme if needed */ /* reinit scheme if needed */
if(dev->valuator->accelScheme.number != scheme){ if(dev->valuator->accelScheme.number != scheme){
@ -184,15 +196,24 @@ ApplyAccelerationSettings(DeviceIntPtr dev){
dev->valuator->accelScheme.AccelCleanupProc(dev); dev->valuator->accelScheme.AccelCleanupProc(dev);
} }
xf86Msg(X_CONFIG, "%s: (accel) init acceleration scheme %i\n", local->name, scheme); if(InitPointerAccelerationScheme(dev, scheme)){
InitPointerAccelerationScheme(dev, scheme); xf86Msg(X_CONFIG, "%s: (accel) selected scheme %s/%i\n",
local->name, schemeStr, scheme);
}else{
xf86Msg(X_CONFIG, "%s: (accel) could not init scheme %s\n",
local->name, schemeStr);
scheme = dev->valuator->accelScheme.number;
}
}else{ }else{
xf86Msg(X_CONFIG, "%s: (accel) keeping acceleration scheme %i\n", local->name, scheme); xf86Msg(X_CONFIG, "%s: (accel) keeping acceleration scheme %i\n",
local->name, scheme);
} }
xfree(schemeStr);
/* process special configuration */ /* process special configuration */
switch(scheme){ switch(scheme){
case 1: case PtrAccelPredictable:
pVel = (DeviceVelocityPtr) dev->valuator->accelScheme.accelData; pVel = (DeviceVelocityPtr) dev->valuator->accelScheme.accelData;
ProcessVelocityConfiguration (local->name, local->options, ProcessVelocityConfiguration (local->name, local->options,
pVel); pVel);