From cfbc4fe4d0f37ca2b8cf3e07c7cf2387252dbd23 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Tue, 8 Nov 2016 18:27:16 +0100 Subject: [PATCH] backends/native: Use libinput calibration matrix for calibration We couldn't properly merge output-mapping matrix and calibration into one. Now that libinput calibration matrix is free to use, we can actually implement tablet calibration with it. https://bugzilla.gnome.org/show_bug.cgi?id=774115 --- src/backends/native/meta-input-settings-native.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/backends/native/meta-input-settings-native.c b/src/backends/native/meta-input-settings-native.c index 7a896ec65..c2d362b02 100644 --- a/src/backends/native/meta-input-settings-native.c +++ b/src/backends/native/meta-input-settings-native.c @@ -390,7 +390,16 @@ meta_input_settings_native_set_tablet_area (MetaInputSettings *settings, gdouble padding_top, gdouble padding_bottom) { - /* FIXME: Implement */ + struct libinput_device *libinput_device; + gfloat matrix[6] = { 1. - (padding_left + padding_right), 0., padding_left, + 0., 1. - (padding_top + padding_bottom), padding_top }; + + libinput_device = clutter_evdev_input_device_get_libinput_device (device); + if (!libinput_device || + !libinput_device_config_calibration_has_matrix (libinput_device)) + return; + + libinput_device_config_calibration_set_matrix (libinput_device, matrix); } static void