diff options
| author | Simon Thum <simon.thum@gmx.de> | 2008-07-23 12:06:34 +0200 | 
|---|---|---|
| committer | Peter Hutterer <peter.hutterer@who-t.net> | 2008-07-28 18:13:19 +0930 | 
| commit | 3209bd21d00b8673d321f70afb65720588ddacb3 (patch) | |
| tree | f7cea81b953b731c891d0f622abb0e1b667a814b | |
| parent | a17cb29f5acdfcdeac929d8c6be3600d44d038ef (diff) | |
xfree86: perform pointer accel scheme selection by name, not number
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
| -rw-r--r-- | hw/xfree86/common/xf86Xinput.c | 31 | 
1 files changed, 26 insertions, 5 deletions
| diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c index 9a14a4c67..fbd10e97d 100644 --- a/hw/xfree86/common/xf86Xinput.c +++ b/hw/xfree86/common/xf86Xinput.c @@ -174,9 +174,21 @@ ApplyAccelerationSettings(DeviceIntPtr dev){      int scheme;      DeviceVelocityPtr pVel;      LocalDevicePtr local = (LocalDevicePtr)dev->public.devicePrivate; +    char* schemeStr;      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 */          if(dev->valuator->accelScheme.number != scheme){ @@ -184,15 +196,24 @@ ApplyAccelerationSettings(DeviceIntPtr dev){                  dev->valuator->accelScheme.AccelCleanupProc(dev);              } -            xf86Msg(X_CONFIG, "%s: (accel) init acceleration scheme %i\n", local->name, scheme); -            InitPointerAccelerationScheme(dev, scheme); +            if(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{ -            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 */          switch(scheme){ -            case 1: +            case PtrAccelPredictable:                  pVel = (DeviceVelocityPtr) dev->valuator->accelScheme.accelData;                  ProcessVelocityConfiguration (local->name, local->options,                                                pVel); | 
