libinput: deprecate WL_CALIBRATION
authorPekka Paalanen <pekka.paalanen@collabora.co.uk>
Wed, 21 Mar 2018 12:30:04 +0000 (14:30 +0200)
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>
Fri, 20 Apr 2018 12:27:54 +0000 (15:27 +0300)
The udev property WL_CALIBRATION is an old way of giving Weston a
touchscreen calibration matrix. It is Weston-specific.

The recommended way of setting up a calibration is to use the udev
property LIBINPUT_CALIBRATION_MATRIX, which libinput will load
automatically and therefore applies to all libinput using display
servers and applications.

The syntax of WL_CALIBRATION and LIBINPUT_CALIBRATION_MATRIX is
different as well: WL_CALIBRATION uses pixels as the translation part
units, which makes the values depend on the output resolution.
LIBINPUT_CALIBRATION_MATRIX on the other hand uses normalized units.

Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
libweston/libinput-device.c

index 48bfd6f..64d99f7 100644 (file)
@@ -500,6 +500,13 @@ evdev_device_set_calibration(struct evdev_device *device)
                udev_device_get_property_value(udev_device,
                                               "WL_CALIBRATION");
 
+       if (calibration_values) {
+               weston_log("Warning: input device %s has WL_CALIBRATION property set. "
+                          "Support for it will be removed in the future. "
+                          "Please use LIBINPUT_CALIBRATION_MATRIX instead.\n",
+                          sysname);
+       }
+
        if (!calibration_values || sscanf(calibration_values,
                                          "%f %f %f %f %f %f",
                                          &calibration[0],