summaryrefslogtreecommitdiff
path: root/src/synaptics.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/synaptics.c')
-rw-r--r--src/synaptics.c10
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;
}
+