xfree86: Fix xf86 backend-specific input initialization
Instead of shoving it in rather unrelated places, move acceleration init into xf86NewInputDevice. Caveat: It's not clear atm how relevant other callers of ActivateDevice (like OpenDevice) actually are. Signed-off-by: Simon Thum <simon.thum@gmx.de> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
This commit is contained in:
parent
e930710ae5
commit
a46d2bb344
|
@ -92,6 +92,9 @@
|
||||||
|
|
||||||
EventListPtr xf86Events = NULL;
|
EventListPtr xf86Events = NULL;
|
||||||
|
|
||||||
|
static int
|
||||||
|
xf86InputDevicePostInit(DeviceIntPtr dev);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Eval config and modify DeviceVelocityRec accordingly
|
* Eval config and modify DeviceVelocityRec accordingly
|
||||||
*/
|
*/
|
||||||
|
@ -778,6 +781,19 @@ xf86DeleteInput(InputInfoPtr pInp, int flags)
|
||||||
free(pInp);
|
free(pInp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Apply backend-specific initialization. Invoked after ActiveteDevice(),
|
||||||
|
* i.e. after the driver successfully completed DEVICE_INIT and the device
|
||||||
|
* is advertised.
|
||||||
|
* @param dev the device
|
||||||
|
* @return Success or an error code
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
xf86InputDevicePostInit(DeviceIntPtr dev) {
|
||||||
|
ApplyAccelerationSettings(dev);
|
||||||
|
return Success;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new input device, activate and enable it.
|
* Create a new input device, activate and enable it.
|
||||||
*
|
*
|
||||||
|
@ -847,6 +863,14 @@ xf86NewInputDevice(IDevPtr idev, DeviceIntPtr *pdev, BOOL enable)
|
||||||
goto unwind;
|
goto unwind;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rval = xf86InputDevicePostInit(dev);
|
||||||
|
if (rval != Success)
|
||||||
|
{
|
||||||
|
xf86Msg(X_ERROR, "Couldn't post-init device \"%s\"\n", idev->identifier);
|
||||||
|
RemoveDevice(dev, TRUE);
|
||||||
|
goto unwind;
|
||||||
|
}
|
||||||
|
|
||||||
/* Enable it if it's properly initialised and we're currently in the VT */
|
/* Enable it if it's properly initialised and we're currently in the VT */
|
||||||
if (enable && dev->inited && dev->startup && xf86Screens[0]->vtSema)
|
if (enable && dev->inited && dev->startup && xf86Screens[0]->vtSema)
|
||||||
{
|
{
|
||||||
|
@ -1357,9 +1381,6 @@ xf86InitValuatorDefaults(DeviceIntPtr dev, int axnum)
|
||||||
dev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2;
|
dev->valuator->axisVal[1] = screenInfo.screens[0]->height / 2;
|
||||||
dev->last.valuators[1] = dev->valuator->axisVal[1];
|
dev->last.valuators[1] = dev->valuator->axisVal[1];
|
||||||
}
|
}
|
||||||
|
|
||||||
if(axnum == 0) /* to prevent double invocation */
|
|
||||||
ApplyAccelerationSettings(dev);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue