[PATCH] evdev: Report initial calibration parameters.

David Woodhouse dwmw2 at infradead.org
Mon Nov 30 16:14:54 PST 2009


Where an initial calibration is provided through the Calibration option
to the driver, it wasn't being exposed in the 'Evdev Axis Calibration'
property. Remedy that...

Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
Acked-by: Peter Hutterer <peter.hutterer at who-t.net>

diff --git a/src/evdev.c b/src/evdev.c
index 81a0bd5..6bc80ef 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2412,8 +2413,22 @@ EvdevInitProperty(DeviceIntPtr dev)
 
         prop_calibration = MakeAtom(EVDEV_PROP_CALIBRATION,
                 strlen(EVDEV_PROP_CALIBRATION), TRUE);
-        rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER, 32,
-                PropModeReplace, 0, NULL, FALSE);
+	if (pEvdev->flags & EVDEV_CALIBRATED) {
+		int calibration[4];
+		
+		calibration[0] = pEvdev->calibration.min_x;
+		calibration[1] = pEvdev->calibration.max_x;
+		calibration[2] = pEvdev->calibration.min_y;
+		calibration[3] = pEvdev->calibration.max_y;
+
+		rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
+					    32, PropModeReplace, 4, calibration,
+					    FALSE);
+	} else {
+		rc = XIChangeDeviceProperty(dev, prop_calibration, XA_INTEGER,
+					    32, PropModeReplace, 0, NULL,
+					    FALSE);
+	}
         if (rc != Success)
             return;
 

-- 
David Woodhouse                            Open Source Technology Centre
David.Woodhouse at intel.com                              Intel Corporation




More information about the xorg mailing list