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 /hw/xfree86/common/xf86Xinput.c | |
parent | a17cb29f5acdfcdeac929d8c6be3600d44d038ef (diff) |
xfree86: perform pointer accel scheme selection by name, not number
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'hw/xfree86/common/xf86Xinput.c')
-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); |