diff options
Diffstat (limited to 'src/synaptics.c')
-rw-r--r-- | src/synaptics.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/synaptics.c b/src/synaptics.c index 9fc661a..c628600 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -72,6 +72,7 @@ #include "synaptics.h" #include "synapticsstr.h" +#include "synaptics-properties.h" typedef enum { BOTTOM_EDGE = 1, @@ -120,6 +121,8 @@ static Bool DeviceOff(DeviceIntPtr); static Bool DeviceClose(DeviceIntPtr); static Bool QueryHardware(LocalDevicePtr); +void InitDeviceProperties(LocalDevicePtr local); +Bool SetProperty(DeviceIntPtr dev, Atom property, XIPropertyValuePtr prop); InputDriverRec SYNAPTICS = { 1, @@ -491,6 +494,7 @@ SynapticsPreInit(InputDriverPtr drv, IDevPtr dev, int flags) xf86CloseSerial(local->fd); } local->fd = -1; + return local; SetupProc_fail: @@ -660,6 +664,11 @@ DeviceInit(DeviceIntPtr dev) if (!alloc_param_data(local)) return !Success; +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 3 + InitDeviceProperties(local); + XIRegisterPropertyHandler(local->dev, SetProperty, NULL); +#endif + return Success; } @@ -2024,3 +2033,4 @@ QueryHardware(LocalDevicePtr local) priv->proto_ops->DeviceOffHook(local); return TRUE; } + |