From b6b377fe9afa51ee8cbef8e9830537806e94a3ac Mon Sep 17 00:00:00 2001 From: David Woodhouse Date: Tue, 1 Dec 2009 00:14:54 +0000 Subject: Report initial calibration parameters. 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 Acked-by: Peter Hutterer Signed-off-by: Peter Hutterer (cherry picked from commit 7b285a802b8ccddd1edcf40ab345c4a96bcdf43c) --- src/evdev.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/evdev.c b/src/evdev.c index bf0e760..d37889d 100644 --- a/src/evdev.c +++ b/src/evdev.c @@ -2511,8 +2511,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; -- cgit v1.2.3